Monthly Archives: September 2009

MicroStrategy Interview Questions (with Answers)

A friend forwarded some more interview questions regarding MicroStrategy, but this time with answers. I’ve not checked the answers. Enjoy.

  1. What are Logical Views used for?
    Logical Views allows application architects to create any desired view using MicroStrategy, without DBA involvement. Once these Logical views are created, they are available to the report designer in a way similar to any other table. This allows developers to model attributes and facts whose expressions span multiple tables.
  2. How will Project Sources be configured in MSTR Office?
    By editing the projectsources.xml, new project sources can be added.
  3. Difference between standard, absolute and ignore condition in metrics?
    Standard filtering allows the report filter to affect the metric.
    Absolute filtering raises the report filter to the level of the target, so all subcategories in the categories included on the report are added together.
    Ignore filtering disregards filtering criteria based on the attribute in the target and its related attributes (both parents and children).
  4. Comparison between Consolidations and Custom Groups?
    A custom group is a set of special filters that can be placed on a template. It is made up of an ordered collection of elements called custom group elements. Consolidations are used to specify the data you want to view in your report. They allow you to group attribute elements in new ways without changing the metadata and warehouse definitions.
  5. What is an object prompt?
    An object prompt allows you to select which MicroStrategy objects to include in a report, such as attributes, metrics, custom groups and so on. Object prompts can either determine the definition of the report template or the report filter.
  6. How the reports are optimized?
    VLDB properties allow you to customize the SQL that MicroStrategy generates, and determine how data is processed by the Analytical Engine.
  7. What is the order of precedence of VLDB properties?
    Reports>Project>Database Instance>DBMS
  8. Difference between Report Limit and Report filter?
    A report limit specifies a set of criteria used to restrict the data returned in the report data set after the report metrics are calculated.
    Report Filter applies the where condition to the query sent to warehouse to extract the results.
  9. What is Metric Formula Join Type? How it is different with Metric Join Type?
    This is basically used for Compound Metrics and determines how the different tables used in metric formula are joined.
    Whereas the Metric Join Type determines how the metrics are joined to other metrics.
  10. What are attribute roles?
    A user defines two attributes that have the same definition but play different roles in the business model. In this example, attribute Origin Airport and Destination Airport are defined using the same Lookup Table and Column (Airport_ID). Both attributes share the same forms, or information about them (Description, Location, etc.). In the fact table, however, a separate column exists for each of their roles (Origin_Airport_ID and Destination_Airport_ID).
  11. How do we resolve attribute roles?
    By creating explicit table alias for the same or enabling the Automatic Attribute Role recognition.
  12. What are statistics tables and how do you configure the project statistics?
    Statistics tables contain data on the MicroStrategy system’s usage and performance, and are populated by all projects that are configured to log statistics.
    To configure:-

    1. Set up the Enterprise Manager.
    2. Define the statistics and enterprise warehouse database.
    3. Create the statistics database instance
    4. Go the project configuration wizard of the project
    5. Select statistics and define the what you want to log
  13.  What is the Command Manager?
    MicroStrategy Command Manager lets you perform various administrative and application development tasks by using text commands that can be saved as scripts.
    Like for example: – server management, user management, security, database management.
  14. Difference between project merge and object manager?
    1. Object Manager can move just a few objects or just the objects in a few folders. Project Merge moves all the objects in a project.
    2. Object Manager must locate the dependents of the copied objects and then determine their differences before performing the copy operation. Project Merge does not do a dependency search, since all the objects in the project are to be copied.
    3. Project Merge can be run from the command prompt in Microsoft Windows.
  15. How conflicts occur and what the ways to resolve them?
    When copying objects across projects with Object Manager, if an object with the same ID as the source object exists anywhere in the destination project, a conflict occurs.There are various ways to resolve depending upon the conditions like use existing, replace, keep both, use newer, use older, update in same path, update in new path and merge privileges.
  16. How many types the microstrategy license can be bought?
    Two types: – named users or cpu license.
  17. What are report caches and how many types are there?
    A report cache is a result set from an executed report that is stored on MicroStrategy Intelligence Server. 4 types: matching caches, history caches, matching-history caches and xml caches.
  18. While establishing relationship between attributes how do you decide which attribute qualifies as child and which one as parent?
    While establishing the relationship between attributes one can either look from business hierarchy point of view and the attribute higher in the hierarchy becomes parent of the attribute lower in the hierarchy. Parent and Child follow a one-to-many relationship. Example Time hierarchy Year > Month > Date. Here Year would be parent of Month and Date and Month parent of Date.
    We can also identify Parent-Child relationship from database design point of view. Here in a table the Primary Key uniquely identifies the other columns in the table and hence qualifies as child of all the other attributes from the table, in the same ways as a child in real world identifies his father (at least the biological one).
  19. What is a joint child?
    A joint child is Microstrategy way of handling Composite Keys. Composite keys are constituted of two or more columns which together act as unique identifier. To handle this case in Microstrategy we make this set of columns, constituting composite keys, as joint child.
  20. What is a logical size of a table and what does it depend on?
    Logical size is Microstrategy way of generating the best suitable/optimized SQL to fetch the required data. Microstrategy follows an algorithm to calculate the logical size of a table, which depends on the no of attributes and facts based on the table and also the position of those attributes in the system hierarchy.
    The logical size does not depend on the actual data (no of rows) in the database. If the candidate answers this than his concept is wrong.
  21. What are Level Metrics? And why are they required?
    Level metrics are advanced metrics which are set to be evaluated at a specified attribute level. These are required when in the same report you need to roll up a metric at two different levels side by side. Example is comparison of “Revenue from a Region” to “Revenue from a Country”. Here Region and Country are the two different levels.
  22. What is the difference in the way Microstrategy Handles Custom Group and Consolidations? Any advantage of using one over the other?
    Custom Groups are handled at the database end where as Consolidations are handled at the Analytical Engine end. As a result the Consolidations are not an overhead for the database as there is a single pass in the query. On the other hand Custom Groups are an overhead on the database as they fire a separate SQL pass for every Custom group element.
  23. What are VLDB properties?
    VLDB stands for Verly Large Data Base Properties. This is Microstartegy way of handling database specific preferences while generating the report SQL. There are number of them. A few common one are for Attribute or Metric join types, cross join check, type of intermediate table, etc.
  24. At which levels you can set the VLDB properties? Which level has the highest pecedence?
    VLDB Properties can be set at various levels like Report, Template, Metric, Project, Database Instance and DBMS level. Out of this Report level has the highest priority. It overrides all other levels.
  25. What are the various ways of incorporating security in Microstrategy?
    In Microstrategy security can be incorporated using a mix of any of the following ways:

    1. Putting user specific restrictions at the database end and using user specific connection mapping. This is for column level security.
    2. Applying folder and object level security to restrict access to certain set of reports/objects
    3. Applying Security filters to the user. This provides row level security.
  26. What are pass-through functions and why they are so called? Give some examples.
    Pass-through functions are Microstrategy way of generating database specific SQL construct which otherwise are not possible. These are called pass-through functions because Microstrategy does not check the actual SQL construct and dumps it as is on the database. Example include ApplySimple, ApplyComparison, etc.
  27. Please write a query to get “All the departments, and the count of employee in those department, which have more than 50 employees and are based out of State New York. Following are the table structures:
    Department table: Department_ID, Department_Name, State (Note: Department ID is Unique here and more than one department can belong to one State)
    Employee Table: Employee_ID, Employee_Name, Department_ID (Note: Employee ID is unique here and more than one Employee can belong to one department, but one employee does not belong to more than one department)

    Following should be the query
    SELECT   dept.department_id,
             Max(dept.department_name),
             Count(emp.employee_id)
    FROM     department dept
             JOIN employee emp
               ON dept.department_id = emp.department_id
    WHERE    dept.state = “new york”
    GROUP BY dept.department_id
    HAVING   Count(emp.employee_id) > 50

Thanks for your patronage

I closely monitor the inbound web links for blog. It gives me a good insight about what users are looking for and gives me ideas about future posts too. Something that I do check every week is the Alexa rank and I jumped off my seat when I saw my rank today. MicroStrategy101 blog have been so popular in India that it received a India specific rank. Wow! Totally baffled. Gives me more energy to blog and participate in forum. Thanks a lot. I’ve started tweetering too, so do follow. Though personally ranking is not that great, but it is a good step forward.

MicroStrategy101 blog's Alexa rank

MicroStrategy101 blog's Alexa rank

Thanks you very much to all fellow bloggers and you.

Selecting a BI Package – Proof of Concept

The selection of a BI software package can be a difficult process to go through. There are alot of things to consider when making such a decision such as what your specific needs are as an organization, what skill sets your organization has available for support, hardware considerations, and cost. Here are a few ideas that might be useful when selecting your next Business Intelligence solution.

  1. Determine what hardware and operating systems the package is compatible with. Have the sales team document and lay this out up front, so you know if you have the skillset, software licenses, and hardware to use the package in the first place.
  2. Further layout what the additional costs will be for procuring software/hardware, purchasing support, and hiring or training a proper skill set. This will help you get to a total cost of ownership. Understand what the annual support fee structure is like.
  3. Make sure to walk through the development process. Often times, proof of concepts revolve around software capabilities, but it is just as important to look under the hood. A complicated development process can lead to many problems down the road for development and maintenance. Not all development processes are created equal.
  4. Every BI tool seems to come with a license for each function of the software. Licensing can get pretty complicated, so make sure you understand what each license covers. It really helps to lay it out in some form of spreadsheet, so you can total up how much licensing will cost based on what you select.
  5. Understand the capabilities of each package, simplify them into common terms across all packages, and attempt to compare these capabilities, apples to apples. Such capabilities might include OLAP, caching, scheduling, delivery, pixel perfect reporting, dashboarding capabilities, report development interface, user interface, architecting process, SQL generation, etc.
  6. Understand the technology behind the OLAP that is being delivered and determine if this will serve your organization adequately. Is the technology multi dimensional OLAP or relational OLAP? Multi dimensional OLAP performs faster, but also requires that data be stored physically on the platform. Relational OLAP may be slower, but sits directly on your EDW and usually is more flexible when expanding the scope of data that is to be reported. HOLAP which is a hybrid OLAP utilizes relational OLAP, but also allows for caching of data which can improve performance. Beware that caching may be sold as a multi-dimensional OLAP alternative, but there are limitations to caching’s effectiveness. In the past this was mainly limited by the RAM size of your BI server, but as technology advances, caching becomes more and more useful.
  7. Is it important to develop a proof of concept on your own data? It is definitely nice to see your data within a sales presentation, but building a POC directly on an EDW will most likely not be possible. Most vendors will ask for downloads of data that they will then store locally on their laptop for demo purposes. Because this is normally the case, the only real benefit of doing this is so that the business can see a presentation in terms they can understand. Don’t expect to gain any other type of insight about a product because they are using your data in the POC….unless they actually decide to develop on your EDW.

Well, that’s all I can think of for now. Cheers.

Cease and Desist letter from MicroStrategy, Inc

Few friends wanted to see a copy of the letter received from MicroStrategy, Inc. Here is the copy.

MicroStrategy Cease and Desist

MicroStrategy Cease and Desist

This is the biggest pain reliever I’ve in my life. Whenever I feel sad, I open copy of this letter to forget everything and laugh. Simply can’t believe MicroStrategy, Inc would do such a thing to me. Sometime legal/para legal ways are not the best way to do things. I pity on MicroStrategy, Inc having hired visually handicapped people, miserably unfit to do their jobs, reached position of VP and para legal. 😐

Last but not least, never received the promised letter by FadEx, something extremely critical to pursue the case against the current domain name holder.

MicroStrategy Interview Questions revisited

Recently I had to revist the 101 MicroStrategy Interview Question bank and I realized that there were a lot of repeated questions, not so useful question, etc. I scrubbed the questions and here is new improved set. Remember: these are with prospective of an Interviewer. If you have your won question bank and wish to publish, comment here. I’ll contact you. Full credit given. 😎

Warehouse

  1. What is fact constellation schema?
  2. What is star schema?
  3. What is snowflake schema?
  4. What is a surrogate key?
  5. Why do we use a staging area?
  6. Why do we need a DW?
  7. How much history should we have in a DW?
  8. What are the most important tables in a DW?
  9. Why Kimball? Why not Inmon? Or vice versa?
  10. Performance with a relational based query vs dimensional?
  11. What schema is used in your project? Why?
  12. What are conformed dimensions?

General Knowledge (Applies to all roles)

  1. What is metadata?
  2. What is two-tier connection?
  3. What is three-tier connection?
  4. What is difference between 2, 3 and 4 tier connections?
  5. How do you achieve schema object version control (similar to VSS)?
  6. What are different kinds of objects in MicroStrategy?
  7. What’s fact table?
  8. Where is Administrator’s password stored? Is it stored in encrypted?
  9. Why do we use dimensional modeling in DW? Why not Relational?
  10. What is a batch?
  11. Differences between ROLAP, MOLAP and HOLAP?
  12. What is ETL?
  13. What types of DW’s are most common?
  14. How many MSTR projects have you worked?
  15. What are the types of MSTR objects available?
  16. Explain the step-by-step technical approach after you get the Requirements from the Client.
  17. What’s a System call error? Have you seen Object variable error?
  18. Have you ever manually edited the metadata? why?

Architect

  1. Should you have DATE as ID attribute form?
  2. What is compound key?
  3. What is a fact and an attribute?
  4. What are Factless facts?
  5. What are Transformations? Is there any transformations implemented in your project?
  6. Explain Fact Structure(types, one by one)
  7. Explain Level Extension. How it is used in your project?
  8. Explain Fact Relation.
  9. Explain Fact Degradation.
  10. What is Compound Key Attribute? Give example from your project.
  11. Can you update a table in Warehouse using MicroStrategy?
  12. How will you resolve an issue when (by chance) an aggregate table at higher level has a higher LTS than an aggregate table at lower level?
  13. What happens if LTS is high for a higher level table?
  14. What are the criteria used by the MicroStrategy SQL Engine to build the join tree of a report’s SQL?
  15. Can MicroStrategy logical primary keys and the true (warehouse) primary keys differ?
  16. Oracle has a pseudo column named ROWID which is not “directly” exposed to front-end? Can this table be used in MicroStrategy? Why one would do that?
  17. Can you create Schema objects in 2 tier connection? Is it recommended?

Reporting

  1. What is the difference between RW document and HTML document?
  2. What’s smart metric?
  3. What is a bridge/relationship table?
  4. How will you resolve double counting in M-M relationship between two attributes?
  5. What is a CUBE?
  6. What are differences between View Filter and Report Filter?
  7. What are the different types of Filters available? Explain each with example.
  8. What is derived metrics? Explain the example from your project.
  9. What are Prompted Filters or cascaded prompts?
  10. How will you customize the display for Null Values?
  11. Can you enable/disable the thresholds based on some condition/prompt answers?
  12. In a Document, there are 5 reports and 5 out of them need to have a prompt so that 10 user can select first day of the week for which user want to execute the report. How many prompts would be required to be made?
  13. What’s XML Cache?
  14. What’s a Bulk export report?
  15. Can you have a prompt in free form SQL report?
  16. What will happen when the network connection between the webserver and one of the clustered I-server is lost? Will report run smoothly?
  17. Can you prioritize report execution?

 Administration

  1. What is ScanMD?
  2. What is MD Doctor?
  3. What is clustering?
  4. How will you reset password of all users?
  5. What are different modes you can run I-Server?
  6. How can you make sure that I-Server would be running even if the application mode has crashed and how to get back the instance?
  7. What are various authentication modes?
  8. How can you configure WH authentication?
  9. Does DLS affect MicroStrategy? What you need to do incorporate it?
  10. What is Object Manager?
  11. What will you do when I-Server crashes?
  12. What will you do if your Administrator has forgotten password or the account is locked?
  13. How can you monitor the error received while running I-Server and report?
  14. Attribute role, Security role, Security filter and Access control?
  15. How to create an event based schedule?
  16. Can MicroStrategy be installed on Solaris or UNIX w/o Root access? Can such a server be (re)started?
  17. If you have a Quad core CPU and MSTR license to use CPUs, can you set to use two particular cores dedicatedly for I-Server (As other core may have been programmed for some other dedicated work)
  18. Drawbacks on 4GT switch?
  19. Can you cap the number of reports run at a time by users? What happens when this limit is breached?
  20. Can you some how disable Web users to use only one I-Server?

Narrowcast Server

 Looking for questions.

 Web SDK

  1. Can you make a floating window in MicroStrategy Web?
  2. How to have two images in MicroStrategy login page?
  3. Can you apply themes to MicroStrategy Web? How to create a one?
  4. After a bulk export report is run, NCS puts it on an ftp location? Can this location be directly made available in MSTR web?

 Desktop SDK

 Looking for questions.