Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
25
Using the xamPivotGrid with ADOMD
posted

Hi!

First of all, appologizes for the verbosity of this post, hope you'll bare with me :-)

I'm currently involved in an web application that uses ADOMD to query olap cubes. As known, the ADOMD returns results in form of the CellSet. We then convert this cellset into a more "flat" structure which we use in a custom build grid (asp.net / ajax). We query the cubes by executing our own build MDX-queries (which are based on our own Report/MDX layout format, created in another tool). This application is not a "cube browsing" application, but a simplified "report-viewer with drill-down features". One of the main focus is performance and simplicity of use.

We are intersted in moving our front-end part of our application towards your new pivot grid, and therefore I'm wondering if you have any suggestions to how such and application could be adjusted to meet the requirements of the xamPivotGrid.

So my questions are:

1) Could ADOMD be used as a datasource for the PivotGrid (I reccon since the native CellSet isn't serializable, it's not a good candidate for a datasource in a Silverlight application), or do we have to "convert" the ADOMD CellSet into a FlatDataSource. If yes, do you have any examples on how to go about this task? I'm especially interested in the dynamic-issue of the data, meaning we have no idea of how the query data looks before it is executed.

2) We need to have full control over the MDX queries that are executed. By this I mean for example when a user drills down on a member, we would have to catch an event and build our own query, execute it (through adomd), parse the result and update only the part of the grid that was effected (=add children of the drilled-on member). Does the xamPivotGrid support such a scenario?

3) Do we have full control over the PivotGrid's apperance? Meaning, can we eliminate things like the "Drop Columns Here", "Drop Filters Here", "Drop Rows Here" etc, fields? We just want to show the results in a clean grid-like view. (With the only allowable user-actions to be Drill-down (on rows), Sort (by columns) and clicking a cell (for opening for example a sub-report or other detailed information).

Thank you for your time!

Regards

Jon

Parents
No Data
Reply
  • 8831
    Suggested Answer
    posted

    Hello Jon,

     

    The Silverlight version of xamPivotGrid operates through msmdpump.dll, whereas for the WPF version there is an option to use AdomdClient of ADOMD. We also have a Silverlight sample that shows how to create a custom provider that gets the data through WCF and AdomdClient but it will be published next week.

     

    About your questions:

    1.       FlatDataSource is more appropriate for scenarios where you have a list of raw data. Then the xamPivotGrid will process it and will make the needed aggregations for you.

    2.       With current version in order to access SSAS in Silverlight you have to use XmlaDataSource. The process of data querying here consists of two type of requests sent to the SSAS - Discover and Execute. Discover requests pull different metadata from the server – available cubes, dimensions, levels and etc. When you explore the hierarchy members every time when you change the pivot condition the XmlaDataSource through XmlaCommad class generates the Execute request. Here is where you can attach your custom logic and send your MDX query to server. You can look at XmlaCommand.ExecuteCommandAsync(IQuery, XmlaConnection) method. That’s the method you can override and use. The parameter that is type of IQuery contains information about which hierarchies are placed on rows and columns axes and what is the condition of the slicer axis. You can use that information to build your own query or you can ignore it at all. If you are interesting of that approach we can discuss it in more details.

    3.       You have full control over the appearance of XamPivotGrid through its control template. You have to re-style it as you keep only the parts you need (except the parts that are marked as TemplatePart).

     

    I hope now you have the base where you can start. I’ll be of your avail for any additional questions.

     

    Best regards.

    Plamen.

Children