MicroStrategy Interview Test for Developers

Hiring resources is easy.  Hiring good resources is hard, especially when you need to make that determination by asking general questions.  With the cost of a bad hire so high, many groups or organizations can’t risk a bad hire, though many don’t set themselves up for success.  They ask generic or pointed questions that are often definition driven or to tell stories about their past.  A candidate’s charisma usually shows through more than anything, and while that’s an important quality, it’s not the only quality.  More often than we’d like, the person we hire isn’t the person we thought were were getting.


While the Interview Questions I’ve posted before are more geared towards finding the qualities I’m interested in (hint: textbook MicroStrategy recitation isn’t one of them), this post is geared towards actually testing an individual.  Ideally, you’d still do the face to face question based interview and if you feel good about the candidate, you can give them this hands on test.  Just setup a machine with the Tutorial project loaded on a local or development IServer.  There are a few places where you’ll need to do some initial setup before you introduce the candidate, and I’ve outlined those.  I’ve also broken it out into three posts depending on what level of skills you’re interested in: Developer, Admin, Architect.  You would sit down with the candidate, explain the requirement, and watch them work.  You’ll get more information form a few minutes of one of these sessions than from days of face to face interviews.

If you are in a position where you need to perform this interview test remotely, I’ve got you covered.  You can create a free account at LogMeIn.com and install the client on the test machine.  Give the login/password (should probably change the password for each candidate, like their name or something) and all they have to do is install a browser plugin.  They can then remote control the computer and you can still watch their actions locally.  Over the phone, you can describe the requirements and still watch their actions and how they solve problems.

One of the keys to this test is going to be guiding them into an “optimum” solution, and then invalidating that solution by additional requirements.  If they choose a solution that would satisfy multiple steps of a question, ask them why they chose it.  There’s many ways to solve a problem, and sometimes they come down to personal preference.  If someone can explain a case why they prefer to use a Metric over a Derived Metric and vice versas, then that’s good to me.  It may require some steps of the questions to be skipped.  Also make sure that you don’t give away too much information in the initial question, but if they ask follow up questions (and they should), then I’ll try to address how you should lead them in the Additional Information section.

Developers

Test 1 – Metrics vs Derived

Pre-Interview Setup:

Edit the report Historical Trends in MicroStrategy Platform CapabilitiesIntro BI Class and remove the attributes Category, SubCategory and Call Center completely from the report (all Attributes are on the template).

Question:

Modify the Mothly KPIs report found in MicroStrategy Platform CapabilitiesIntro BI Class to add a Profit Margin calculation, defined as Profit / Revenue.

Additional Information:

  • Will this metric be used on more reports? – No, definitely only ever needed on this one report.
  • The metric should be formatted as a Percentage with 1 decimal.

Solutions:

  1. They first search to see if a Profit Margin metric already exists.  It does, and they use that one.  This is the optimal solution, but for the purpose of the test, instruct them to pretend that metric is not there.
  2. They create a derived metric on the report directly (hopefully after asking if the metric will ever be reused, which you assure them it won’t be).
  3. They built a Metric and added it to the report.
    1. Why did they not choose a Derived Metric?  Maybe they are prejudice against them (explain why) or they just don’t trust that they’ll never need this metric again.
    2. Did they format the metric on the report, or edit the metric and format it?  They should set the formatting in the Metric itself.  It would be bad if they set it on the report and called it complete.
Question Part 2:

The requirements have changed, and now the Profit Margin needs to also be added to the Historical Trends report located in MicroStrategy Platform CapabilitiesIntro BI Class.

Additional Information:

  • The Profit Margin metric included in the Tutorial Project should still be ignored.  If they choose to create a new metric, they can create it under the name “Net Profit Margin”.
  • This time, we definitely promise this metric will never, ever be used on any other report again 😉

Solutions:

  1. If they chose to create a Derived Metric in the first part of the question, optimally they will now choose to create a physical Metric to share the definition across both reports.  A good sign would be if they also go back and edit the original report to replace the Derived Metric with this new physical Metric for completeness.  If they don’t do it, you can mark the question as a non-optimal solution because they didn’t follow through completely.
    1. If they did follow through completely, see if they made the Metric a “Smart Metric” (Aggregation tab, check box at the bottom).  If they didn’t, the Metric will still work on Historical Trends report, but it will not work on the Monthly KPIs report. See if they were smart enough to either set this setting initially (which they should since the calculation is a quotient) or at least re-tested the original report for accuracy.  If this leads them to an “oh yeah” moment and quick solution, that’s a great sign that they are thorough and know about the setting.
    2. If they don’t put the setting and don’t test the original report, ask them to test it now.  When they see it does not work (the display will be double dashes), see if they can fix it.
  2. If they chose to create a Derived Metric in the first part of the question and they choose to also add a Derived Metric to the 2nd report, despite your (now questionable) guarantee that there will never be another need for this metric, then it’s a bad sign.  It’s ok if they trusted you in the first part and went with the Derived Metric, but to do so again has now created a separate definitions for the same metric.  You can end this question here, but mark this as a non-optimal solution.
What You Learned:

The candidate knows the difference and advantages/disadvantages between Metrics vs Derived Metrics. Hopefully they showed work skills such as searching for existing objects, re-checking previous reports after making changes, and they placed the created metric in the Metrics folder with a good name (important!)

Test 2 – Conditional Metrics vs Consolidations vs Custom Groups

Pre-Interview Setup:

None

Question:

Create a new report with Quarter on each row, and 3 columns for South, Southeast and Southwest Revenue (based on the Region attribute).

Additional Information:

  • This particular grouping is specific to this report and will never, ever be used again.  Promise!

Solutions:

  1. I think the ideal solution would be to simply pivot the Region attribute across the columns, and filter the report on those 3 regions.  This is the fastest method and doesn’t require any additional objects to be created.
  2. If they choose to create 3 conditional metrics, I’d take that as a bad sign.  I think they turned too quickly to building lots of brute force objects without exploring more elegant and easier to maintain solutions.  However, note how they named the metrics, because when you do need this kind of solution, organizing your metrics is critical.
  3. If they chose to build a Consolidation, I’d frown at that.  I think it’s overkill for such a simple solution, but I like it better than Conditional Metrics.
  4. If they chose to build a Custom Group, I’d take that as a bad sign.  It’s the least efficient method performance wise of all of them, and shows a lack of understanding between when to use a Consolidation vs Custom Group.
Question Part 2:

The requirements have changed, and we now need a 4th column that contains the grand total of all Regions (not just the previous 3, but every Region).

Solutions:

  1. I think my preferred solution would be a Consolidation, since the filtering is only happening on a single Attribute.  They should create a Consolidation with 4 elements, and add that to the Columns of the report.
  2. If they choose to use a Custom Group instead, I’d ask why.  Some people have a prejudice against Consolidations, but this is the exact use case for one.  Look at the SQL, and a Custom Group takes 4 passes vs a Consolidation taking 1.  This translates to a potentially big difference in performance.
  3. If they choose to create 4 Conditional Metrics (where the 4th Total Metric could just be a Level Metric that ignores Region Filter), I think that’s a close second.  I’d prefer not to have all of the extra objects since a Consolidation does the job, but this does give you the best performance and most flexibility for the future.
What You Learned:

The candidate showed their knowledge of the advantages/disadvantages of Conditional Metrics vs Consolidations vs Custom Groups, as well as some basic problem solving for a tricky scenario.


Test 3 – Dashboard
Pre-Interview Setup:

None

Question

Create a dashboard with a Grid containing Revenue by Region and a Line Graph containing Revenue by Quarter.  The user can click on a Region in the Grid to filter the Quarter Line Graph.  A text box should display the Country of the selected Region.

Additional Information:
  • You can provide a layout spec if you’d like, or leave it up to the candidates interpretation.  If you want to judge them on artistic creativity, you can add some more information for that, or inform them this is a technical test and generic layouts/colors are acceptable.
Solutions:
  1. The biggest key here is that the candidate should create a single Data Set with Country, Region, Quarter and Revenue.  If they create 2 (or more) Data Sets, then that’s a bad sign.  It is much more efficient from both a SQL perspective and MicroStrategy Engine perspective to have as few Data Sets as possible.  They should then add this single Data Set to a new Dashboard (Blank Dashboard template ideally instead of the Blank Document template), create 2 blank Grid Objects and drag the appropriate objects to each while setting the Quarter one to a Line Graph.  In order to handle the Country text box, they should place a text box containing the text {&Country} in a Panel Stack.  Finally, they should edit the Region column in the Grid and choose “Use as Selector”, targeting the Quarter Graph and Panel.
    1. You can’t target a Text box, so there’s really 2 standard ways of solving that requirement.  I prefer to place the text box in a Panel Stack and target the Panel Stack because it’s easy to format a Panel Stack to be transparent and out of the way. Alternatively, they could create a 3rd Grid object and format it to hide Columns/Rows, I just think this is a little more work.
What You Learned:

The candidate showed their ability to create a pretty basic Dashboard with some interactivity and an eye towards performance.  This particular task involves a lot of little settings, and you can definitely judge their familiarity by how quickly they move around.  If they’re sluggish or hunting for settings (like how to turn the Region grid into a Selector), it will tell you a lot about how may times they’ve done something like this.

Conclusion
You don’t want the test to take too long to complete, but you want there to be enough specific, direct substance that you have something to judge.  Almost as important as the right answer is the candidate’s speed and agility while navigating the test.  This is a hands on test that requires them to actually do things instead of describe it in words.  It will be very evident if they’re comfortable in the system based on the ways they navigate, create objects and test their work.  These questions are pretty basic, but with specific goals.  I’m going to continually add to this list and save it in a special place on this site for future access.  
I greatly encourage you to share feedback and ideas for additional test questions, and hopefully this will eventually become a good resource for either direct questions or a guide for creating your own.
Check back later for tests geared towards Architects and Administrators!

You may also like...