go to post Peter Steiwer · Dec 7, 2016 You can definitely write a PlugIn to evaluate the two values and exclude any records from your returned count that are equal. Off the top of my head, I can not think of anything that will do this automatically or easily from MDX functions
go to post Peter Steiwer · Dec 5, 2016 Hi Derrek,These requests are not possible to do "out of the box", but as Evgeny points out, using alternate methods such as accessing DeepSee results from the REST API, you can render your own graphs and dashboards with any 3rd party library that allows this level of customization.We also have a couple samples that show DeepSee results being displayed in a basic HTML page, links to these samples can be found in the Documentation.
go to post Peter Steiwer · Nov 30, 2016 It looks like this error is happening when a key that does not exist is passed into the PlugIn through %CONTEXT. Would it be possible to only pass in Keys for members that exist? This seems to work without errors
go to post Peter Steiwer · Nov 23, 2016 Hi Benjamin,In DeepSee, you can create custom widgets called "Portlets" (Documentation). Portlets will allow you to write HTML or ObjectScript that will generate the contents of a widget. This can include things like simple text, embedded web pages, and even third party chart libraries.
go to post Peter Steiwer · Nov 21, 2016 Hi Benjamin,In DeepSee, Null data is handled differently than 0. This being the case, you can use the ISNULL function (Documentation). Each of these three members can be placed in ISNULL() as the first parameter and 0 as the second. If there is no data, instead of being Null, it will be treated as 0 and your calculation should work.
go to post Peter Steiwer · Nov 7, 2016 Hi Ryan,In reference to the Troubleshooting Guide -> Build Problems -> Errors During Build -> Check ^DeepSee.BuildErrors/ run ##class(%DeepSee.Utils).%PrintBuildErrors(pCube) are two options for this case. To check ^DeepSee.BuildErrors, you can either use the Management Portal's Global Explorer page or you can use terminal. This global will be populated with the error messages that are caused as well as the ID of the record that caused this error. Using ##class(%DeepSee.Utils).%PrintBuildErrors(pCube) will also show the same error messages in a more user-friendly way.Here is an Error that I forced:SAMPLES>d ##class(%DeepSee.Utils).%PrintBuildErrors("HoleFoods") 1 Source ID: 2 ERROR #5002: Cache error: <VALUE OUT OF RANGE>%UpdateFacts+107^HoleFoods.Cube.Fact.1 1 build error(s) for 'HoleFoods'From this output I can see that ID 2 had a Value Out Of Range error on %UpdateFacts+107^HoleFoods.Cube.Fact.1 line of code. At this point I can look into this line of code and figure out why it is out of range. My line of code reads as Set %var("Mx3501588378B") = $S(%source("%ID")=2:$ZD(99282828),%source("UnitsSold")="":"",%source("UnitsSold")>5:1,1:0)We can see that the expression I wrote will cause an error when Source ID 2 is built. In a more realistic situation, it may be harder to determine why this line of code caused the error. This line of code is either generated by DeepSee or it is a user defined source expression. As always, if you are not sure how to determine the cause of the error past retrieving the error message, the DeepSee support team is available 24/7. But accessing this error message is always a helpful first step
go to post Peter Steiwer · Oct 14, 2016 This documentation page describes the use of { } within MDX. As Lexi points out, a single member inside of { } should behave the same way without the { }. This is the syntax for a set. If you come across something that is not working as expected without the { }, please consider submitting a WRC so we can get the behavior resolved.
go to post Peter Steiwer · Oct 14, 2016 This documentation page has some "recipes" for creating calculated measures. What you requested is slightly more advanced than what is described here, and the two provided solutions are complete and precise. But I believe this section of the documentation provides some good recipes for building a calculated measure that does exactly what you need.
go to post Peter Steiwer · Jul 14, 2016 Currently, there is a workaround to accomplish this desired behavior without needing this parameter to be implemented. You can add a "listing" filter to your KPI (implemented on a widget) and then inside of %OnGetListingSQL, you can assign different SQL based on the filter value.XData:<filter name="Listing" valueList="listing1,listing2"/>%OnGetListingSQL:if $get(pFilters("Listing"))="listing1" {set tSQL="SELECT <column list 1> from <table>"} else {set tSQL="SELECT <column list 2> from <table>" }
go to post Peter Steiwer · Jun 2, 2016 Hi David,By default, this happens when items are in a hierarchy. For example, if you have Product Category and Product Name as filters and you filter on the Pasta Category, only the Product Names in the Pasta Category will be available to select from. If two levels are not in the same hierarchy but you would like the same behavior, you can use the "Depends On" property of a level. This property can be found on the Architect Management Portal Page in the right side pane after clicking on a level. After setting this property and compiling, a Build will need to be done. This is because using the "Depends On" property will create a new index to quickly determine which members should be displayed when using a filter control.After this behavior is understood, you may wish to add hidden filters to your widget with default values. For example, I could set Pasta as my Default Value for my hidden Product Category filter. When I try and select a value from my Product Name filter, I only get my different Pasta names as options.