Wednesday, 19 October 2016

Dropdown selectors with multi-select checkboxes

This is a very common requirement from the users but unfortunately this feature is not available in Microstrategy till version 10.2. As this was a critical requirement for the business we tried different ways to implement this with the help of some workarounds. Finally one particular implementation was very similar to the actual requirement and the client also liked the idea.  Steps are as follows

1.         Create a simple textbox and named it after the required filter field.

2.         Create a panel stack and marked it as information window. Information window is an in-built functionality in MSTR. It’s exactly like normal panel stack but it’s not visible by default. We have to target this information window from some other object like textbox, grid, graph etc so that when user clicks the object the panel stack appears as a pop-up.

3.         Add the required checkbox filter inside the information window.

4.         Target the information window from the text box created in step 1.

Now when the user clicks on the filter text box a popup appears containing the multi select checkbox filter.

We can also utilize the additional space we got in the pop-up by adding multiple related filters in it. 

Your request could not be processed due to a server error" occurs while adding recipients to an e-mail subscription in MicroStrategy Web 10.x

In MicroStrategy Web 10.x, users may get an error message while creating or editing email subscriptions.  This document explains a possible cause of this issue and how it can be resolved.

Email Subscription.png

This is a known issue in MicroStrategy 10.x.  The issue occurs because there are contacts referencing users who have been deleted from the metadata.  When a user presses the To button, an Access Control List (ACL) check is run to get the possible contacts.  Contacts inherit their ACL from the user they are linked to, so since the user associated with the contact has been deleted, the ACL check fails

Deleting the invalid contacts will resolve the issue.  If assistance is needed in identifying the invalid contacts, please contact MicroStrategy Technical Support.

Monday, 16 May 2016

Search Box Selector is not getting filtered by any other selector

Hi Everyone,

The searchbox selector was recently introduced in Microstrategy in it's 9.3 upgrade. No doubt it's a very welcome feature which can come handy for many cases. But the selector had one major flaw in it till 10.3 was released. The issue is when you target a search selector by any other selector, the list of values that appear in the searchbox doesn't get filtered, it shows all the elements that are present in the that field.

The issue was recently fixed in 10.3 though this is missing the release note.

What should I do in the older versions?

Only thing you can do is to uncheck the 'Search on Server' checkboax which you have in the Selector Properties-> Layout. This should resolve your problem.





Thank you

Wednesday, 4 May 2016

Pass prompt answers dynamically to different kinds of prompts e.g. Element prompt, Hierarchy prompt

There are cases where you need to pass some values dynamically from a dashboard or a normal web page to a target dashboard. The prompt(s) present in the target dashboard should be automatically answered while navigating from the source. To achieve this what we can modify the URL of the target dashboard which will contain the required answers along with the specific parameters for the target prompts. Now there could be different kind of prompts like

1. Attribute element prompt
2. Value prompt
3. Hierarchy prompt

The URL must be crafted according to the type of target prompt. I will discuss the structure of each URL needed for the above mentioned prompts


Attribute Element Prompt:
            This is the most common scenario. The structure of the URL should be something like the following one

http://mstra/MicroStrategy/asp/Main.aspx?evt=2048001&src=Main.aspx.2048001&visMode=0&currentViewMedia=8&documentID=9FDF2E62433EA047A48E2CA5A058C0F3&server=XXXX&Project=YYYY&port=0&share=1&elementPromptAnswers=074819

To build this URL do the following
1. Get the actual link of the dashboard
2. Append the highlighted part
3. The value mentioned in the last is the value which you want to pass

Value Prompt:
             This is similar the element prompt. Follow the same thing to get the following URL

http://mstra/MicroStrategy/asp/Main.aspx?evt=2048001&src=Main.aspx.2048001&visMode=0&currentViewMedia=8&documentID=9FDF2E62433EA047A48E2CA5A058C0F3&server=XXXX&Project=YYYY&port=0&share=1&valuePromptAnswers=074819

Hierarchy Prompt:
              This is a very rare scenario but we can still answer it dynamically.

1. Add the prompted report in a blank document
2. In the body of the document, add the following autotext {&PROMPTXML}
3. This autotext will generate the required text that is required in the URL
4. Run the document and copy the XML

The XML will look like following

<rsl><pa pt="8" pin="0" did="1965EB7842BD4B37D56AD69F58386662" tp="10"><exp><nd et="5" nt="4" dmt="1" ddt="-1"><nd et="1" nt="5" dmt="1" ddt="-1"><at did="650A0FA446E9F26CE7B66AA1F81965A7" tp="12"/></nd><nd et="1" nt="2" dmt="1" ddt="-1"><mi><es><at did="650A0FA446E9F26CE7B66AA1F81965A7" tp="12"/><e emt="1" ei="650A0FA446E9F26CE7B66AA1F81965A7:123055432"/></es></mi></nd><op fnt="22"/></nd></exp></pa></rsl>

ID of the Hierarchy on which the prompt is built
ID of the Attribute which is selected by the user while answering the prompt.
Value of the prompt


The final URL will be

http://WBSERVER/MicroStrategy/asp/Main.aspx?evt=2048001&src=Main.aspx.2048001&visMode=0&currentViewMedia=8&documentID=3767E4C349F3D949B77297855678EEE0&server=XXXX&Project=YYYY&port=0&share=1&promptsAnswerXML=<rsl><pa pt="8" pin="0" did="1965EB7842BD4B37D56AD69F58386662" tp="10"><exp><nd et="5" nt="4" dmt="1" ddt="-1"><nd et="1" nt="5" dmt="1" ddt="-1"><at did="650A0FA446E9F26CE7B66AA1F81965A7" tp="12"/></nd><nd et="1" nt="2" dmt="1" ddt="-1"><mi><es><at did="650A0FA446E9F26CE7B66AA1F81965A7" tp="12"/><e emt="1" ei="650A0FA446E9F26CE7B66AA1F81965A7:123055432"/></es></mi></nd><op fnt="22"/></nd></exp></pa></rsl>

Hope this helps :)





Saturday, 30 April 2016

Throwing error(Object BaseAttributeForm has already been deleted or is in an invalid state) while unchecking a table from attribute editor

This is a very common issue in Microstrategy 10. When we try to modify the source table list of an attribute form the following error message is shown "Object BaseAttributeForm has already been deleted or is in an invalid state".

Image source: Microstrategy technical support

Reason : This is a bug in the Microstrategy 10.

What do I do : This issue occurs only if the the table you want to remove comes before any other selected tables of sorted alphabetically.

For example, you had three tables selected A, B, C. Now you want to remove table A from the list. All you have do is

1. Rename A as D(anything that begins with D onwards),
2. Update schema then open the attribute editor again.
3. Now remove table D and Save and close. Update schema.
4. Rename D as C again.

You are good to go :)

Thank you so much for reading!


Why another Microstrategy blog?

Hi everyone, it's been pretty long period that I am working with Microstrategy. Microstrategy is a very powerful BI tool which is used in large number of projects worldwide. But to be honest it's not that developer friendly like some newer reporting tools. After working with it for years now I still feel that I don't even know fifty percent of what MSTR can do. There are lot of things that I come to know everyday. There are lot of things which seems impossible at the first glance but after spending a couple of hours or two we find a way most of the time. There are a hell lot of customization that we can do in MSTR which you might not be able to do in other tool.

I am not Microstrategy guru but I thought of sharing my day-to-day learnings with everyone who is working with Microstrategy and would love to learn from them.

I don't want to post the basic tutorials over and again in this blog as there are lot of materials available on the internet. I will try to cover all kind of tips and tricks that we might need and will try to address the issues that we face everyday.

Please feel free to write your ideas, suggestions and answers.

Thank you