Peter Steiwer · Jul 20, 2021 go to post

Depending on how specific you need to make your sorting, you can also modify the custom drilldown spec with ORDER functions. If needed, you could change the measure and the direction for each level. For example:

ORDER([Product].[P1].[Product Category].Members,Measures.[%COUNT],BDESC)
ORDER([Outlet].[H1].[Region].Members,Measures.[%COUNT],BDESC)
ORDER([Channel].[H1].[Channel Name].Members,Measures.[%COUNT],BDESC)

Peter Steiwer · Mar 10, 2022 go to post

Thanks, this works. I did have to click the "+" icon and add a new namespace to the Explorer, since adding the namespace from InterSystems Server Manager did not pull it into the ObjectScript Explorer. This is kind of an unusual case since I don't necessarily have a project/workspace for the generated class I want to view. If I already had one, then I wouldn't need to use the namespace explorer.

Peter Steiwer · Oct 7, 2022 go to post

Hi Ahmad,

These functions do not exist in MDX, please see the MDX function documentation here: https://docs.intersystems.com/iris20221/csp/docbook/Doc.View.cls?KEY=D2…

You likely want to use the %OR function: https://docs.intersystems.com/iris20221/csp/docbook/DocBook.UI.Page.cls…

Using %OR would allow you to reference multiple members, for example:
Expression="%OR({[Demographics].[H10].[Citizenship].&[USA],[Demographics].[H10].[Citizenship].&[U.S.A],[Demographics].[H10].[Citizenship].&[US]})"  

Peter Steiwer · Jan 13, 2023 go to post

I tried this and it worked:

Parameter TestParam = "Test";

Property TestCalc As %String [ SqlComputeCode = { Set {*} = ..#TestParam}, SqlComputed ];

[SQL]SAMPLES>>select * from DC.SQLCompute
1.      select * from DC.SQLCompute
 
ID      TestCalc
1       Test

Peter Steiwer · Apr 29, 2024 go to post

Hi Virat,

In %OnGetFilterMembers, you will have access to pFilter, which will contain the name of your filter, "SubjectName" in this example. You will also have access to pMembers, which is an array of members that the SearchBox dropdown will use in the UI. By default, this will contain the results from sql="SELECT DISTINCT SubjectName FROM BI.Invoice". You will also have access to pFilterValues, which contains an array of already selected values. In your case, "Virat and Big Show". You would then need to use this information to remove values from the pMembers array to reduce the available members.

By default, IRIS BI does this "member filtering" for you. The use of KPIs is very customized, so it requires some additional custom logic to allow this behavior

It turns out this was a bug with parallel processing where the negative numbers in the data were more negative than the null marker caused data to be skipped. Development is fixing this