The place to specify the sort order for a level is in the cube definition. In the Architect, open the cube you are using, select the level that you want to change the sort order for, and look at the Details panel for that level (on the right-hand side of the Architect page). In the "Sort option" dropdown, choose "asc numeric", and then compile your cube definition. (It is not necessary to rebuild the cube after making this change.) You should then be able to refresh the Analyzer, put the same level on rows, and see that it sorts in ascending numeric order.

Hi Lawrence,

Here's a general outline of the steps to create a DeepSee dashboard, starting from data that is somewhere on your system but not yet in a DeepSee cube:

- Get the data you want to use into a persistent class, referred to as your source class. Depending on what you are doing with the data that comes in via your REST service, you may already have such a class, or you may need to create one and store a copy of your data there after it comes in.

- Use the DeepSee Architect to define a cube based on your source class. This will allow you to specify which properties of your source class you want available for use in pivots and dashboards. You can then compile and build your cube, which will create a fact table (and several other tables) to store an indexed copy of the data you have specified. There is documentation on defining cube models here.

- Use the DeepSee Analyzer to create one or more pivot tables that display data from your cube. There is documentation on creating pivot tables here.

- In the DeepSee User Portal, create a new dashboard and add one or more widgets to it. For each widget, specify a pivot table as its data source, and then customize the widget to display a table or chart, adding any filters or other controls that you want to give users access to. There is documentation on creating dashboards here. (It sounds like you may already be familiar with this step, once you've created a pivot, but I'm including it for completeness.)

For some of these steps, there are alternative options to the ones I've mentioned here, but these are the most common options and I would recommend using them to start out (and really whenever possible). Please let me know if you're having problems with the specifics of some part of this.

Hi Hamza,

I don't believe there is an MDX function that works the same way as ISCROSSFILTERED(). If you'd like to describe what you hope to do using this function, I'll let you know if I can think of a practical way to do this with MDX. To identify whether a query is using filters on the cube in question or a related cube, I would probably try to get the MDX query text and parse it, looking for %FILTER and WHERE clauses, but that would have to be done from outside of the query itself (e.g. in ObjectScript).

When I try to play that video using Firefox it stops at that point (without displaying any error messages, so your problem may be different). But reloading the page and clicking to a point a few seconds later seems to work for me - if you haven't tried that, it might allow you to pick up just after the place where it stopped.

It plays without stopping in Internet Explorer.

For reference, this seems to be the video:

Hi Karthik,

You could try creating a custom action to do something similar to this. There is documentation on custom actions here. For example, I believe you could define a KPI class with a custom action that opens a web page  with the information you want to display in a new window. You could then add a control to your widget to run the custom action when clicked. If you do this, you can add your own custom icon for the control, as described here, and it will be displayed with the other controls, below the widget title.

Hi Karthik,

Can you provide any more information this error? What are you trying to do in DeepSee when the error occurs, and what other information is in the error message?

It might be easier to help you with this error if you open a WRC issue. Please feel free to do that by emailing or calling +1 617 621-0700 if you think that would be helpful.


Yes, the filterSpec URL parameter is required, according to the documentation here.

It looks to me like the /Info/FilterMembers service expects to get a single level (of a specified dimension and hierarchy) as the filterSpec. Although the level names are the same for the two LevelCs, they are unrelated as far as the REST service is concerned because they are in different dimensions and hierarchies.

I don't know exactly what you are trying to do with this combined list of filter members, since it may not be an accurate list of the members of either level if some items appear in one but not the other. In terms of creating the list, though, you could try running /Info/FilterMembers once for each of the two levels, and writing code to combine the result sets while removing duplicates.

Hi Jaqueline,

This Developer Community post has some information that you may find useful:

It deals specifically with comparing results for this year to date versus the same time period in the previous year, but you might be able to apply some of the same concepts when writing your MDX expressions. Let me know if you need clarification, or if this doesn't enable you to make the calculations you intend.


Sam Duncan