MicroStrategy - Interview Questions



MicroStrategy can largely be divided into four parts (Administration, SDK, Report Document Design, Schema / Project Design). Which parts do you work on the most?

We need someone who is very strong on administration, report design, and project design. Do you feel that you can help us with all 3 areas?

What are some weaknesses of MicroStrategy that you think they could improve upon?

Can you give us a demo of the work that you did?

Show us how you create a report with drilldown.

User is taken to the project selection page. Did you run into this issue? How did you fix?

Do you have experience with selectors? Selectors do not show up on PDF. Did you run into this issue? How do you get around this problem?

If the password was changed on the database, how can you changed it on the MicroStrategy side?

Why are we using Freeform SQL instead of view?

Q) What's the coalesce function do?
I had done a lot of SQL development prior to entering the world of MicroStrategy, and I admit I had never heard of this function. This question is kind of the opposite of the "What's a Left join?" question, because I think that you'd only really encounter it with MicroStrategy. If your reports do a lot of multipass SQL with temp tables and use MSSQL or Oracle data warehouses, you'll see this function used in every single report.

Example: It returns the first non-null value from a list. It's used by the MicroStrategy SQL Engine to combine multiple passes of SQL when joining, in the event one of the passes didn't contain data that the others did.

Q) What's the difference between view filter and report filter?
I like this question because it not only tests that they've had to consider different methods of filtering in the past, but that they have an awareness of how the SQL Engine and Analytical Engine interact with each other.

Example: A Report Filter is applied directly to the SQL and sent to the database as a WHERE clause. A View Filter is applied in memory to a result set that has already returned and does not require the report to re-execute.
Q) What's the difference between a custom group and consolidation?
I'm always surprised at how few people really do know the difference. It's important for performance and just like a carpenter, knowing the best tool for the job. A Custom Group can do everything a Consolidation can, but a Consolidation is much faster than a Custom Group.

Example: A Consolidation is an in memory grouping similar to a case statement. It can only act on a single attribute and all element groupings must be explicitly defined. A Custom Group is a basically a set of filters. It can be used across multiple attributes and metrics, as well as include actual filters and conditions. While slower than a Consolidation, it is more flexible. A new element being added to the database would require the Consolidation to be modified, but not a Custom Group.
Q) What are some things the Analytical Engine does?
My theme in the last few questions is to see if the candidate knows the intricacies MicroStrategy's tiered architecture. I expect everyone to know this answer, because if you aren't aware of where the result is coming from, you can't possibly debug your report when you get a wrong answer.

Example: The Analytical Engine performs additional calculations and manipulations in memory on the data set that was returned by the database. This can include any functions not supported by the database (such as Rank), and most commonly subtotals and pivoting.
Self-service BI

  • How well do you know the SDK piece? Did you write the code for the Custom SSO piece or did the MSTR team do it for you? What computer language did you use? How well do you know JavaScript and CSS?

How well do you know the SDK piece? Did you write the code for the Custom SSO piece or did the MSTR team do it for you? What computer language did you use? How well do you know JavaScript and CSS?

How can you figure out the name of a particular page?

In Java, how do you write a log message to the console?

What is the general process or strategies for tuning an MSTR reports / installation?

What are different approaches for doing near real-time ETL?

Currently we have some ETL jobs, and use intelligent cubes. We schedule the intelligent cubes to be refresh every 15 or 30 minutes? But some of our users want the data to show up in the report more instantaneously. What are different ways to achieve this?

I have this problem with MSTR Command Manager … Have you ran into this problem before? How did you deal with it?

What tools do you use for performance monitoring?

What is a tier-2 project source and what is a tier-3 project source? When would you use a tier-2 project source and when would you use a tier-3 project source?

What projects was most challenging or interesting? Why?

What were the size of the transactional databases? At this scale, what kind of performance problems did you face? How did you deal with these performance problems?

How frequent did you refresh your cubes?

How many BI users did you have to concurrently support?

How many scheduled reports did you have to support? How did you configure the cluster so that the cluster is available and accessible during the time that the scheduled reports run?

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License