Document Within A Dashboard

MicroStrategy Report Services is a great tool for laying out pixel perfect Documents and Dashboards.  You can feed data in from multiple data sets and make it look pretty much however you want.  The style of design is reminiscent of Crystal Reports as it’s based on types of sections including the Detail section which repeats for each row of data.  A Dashboard is a Document that just keeps everything in the absolute layout area of the Detail Header section.  But what happens when your dashboard design requires you to mix those two styles?  What if you need the flexibility of the Detail section, but the layout control of a Dashboard?  Luckily, I’ve got a workaround for you.

This trick is courtesy of the HTML Container control which we’ve already used for a couple of different tricks.  The basic idea is to create multiple Documents: one (or more) with the layout you want in the Detail Section, and a Dashboard that will include it.
Step 1 – Create Your Detail Document
Create a normal Document that utilizes the Detail section as needed.  I’ve found a good use for this is to put an Attribute in the Page By section.  In this example, I’ve created a Document that puts a Graph in the Attribute Header section, and then some detailed data in the Detail section.
Step 2 – Get the Detail Document URL
After saving the Document from Step 1, right click it in Web and choose Properties, then right click on the link at the bottom of the window and choose Copy Link.
Next, you’ll want to modify the URL to suppress areas of the Document we don’t want to have carried through, specifically the Toolbars.  For more information, you can consult the post Removing Sections of a Report with URL API, but for our purposes here we’ll want to add &hiddenSections=header,footer,path,dockTop to the URL.  This will give us just the bare bones Detail Section.
Step 3 – Create Your Dashboard
Now create your Dashboard with whatever components you want, and add an HTML Container object (Insert  -> HTML Container).  Go to it’s Properties window and select iFrame and paste the URL we copied in Step 2.
Conclusion
The result is a Document that has a floating Detail Section.  You can use this technique to accomplish some Dashboard designs that wouldn’t otherwise be possible.
Limitations

It’s important to note that since this is using an HTML Container, it won’t print or export to PDF or Excel, and only be able to render in Web.  It also won’t start running the Detail Document until the Dashboard has already rendered, so you may notice a second Document loading bar.  I’ve found that this works best in conjunction with Intelligent Cubes to minimize the loading times.

You may also like...

4 Responses

  1. T.A. says:

    Hello Bryan,
    I’m a follower of your great blog.

    Your idea for documents and Dashboards is great but you can do it without containers I think.

    I already made documents in flash with selectors, etc. the main issue is that you have to avoid grouping sections to put “dynamic” objects like selectors.

    Regards,
    Tiago A.

  2. Bryan says:

    I’m not sure I follow, and certainly there will be use cases where multiple methods will achieve the desired results. This particular method I would use as a last resort since there are some pretty serious limitations. My example wasn’t the greatest, but the use case that lead me here is that I was trying to build a grid in a document that used more than one sparkline on a row. Since I couldn’t get that work any other way than building it using normal line graphs in a grouping document, that severely limited my dashboard design, not to mention that I wanted more than 1 section of it. This method allowed me to do that.

  3. neny_ri says:

    Hi Brian,

    I have a document with an url to a pdf. Is there any way I can display image preview of that pdf instead of url?

    Regards
    Neny_ri

Leave a Reply

Your email address will not be published. Required fields are marked *