All posts by Tiwari Ashish

MicroStrategy doesn’t have affinity to Snowflake schema (anymore)

During my days at Cybage, I used to read lots of internal documentation from MicroStrategy. Well, I had access to or were give documents for knowledge purpose. For months, even after having left Cybage, I used to try to decode why MicroStrategy likes Snowflake schema more than Star Schema. (Kimball hates Snowflake and abuses it like anything, read Warehouse Toolkit by him). That’s why I used to like reading about Enmon more. I came to know about this so call affinity was actually a shortcoming the way MicroStrategy was designed and/or programmed.

MicroStrategy document used to say and recommend Snowflake over Star. Reason – MicroStrategy is designed to make most of snowflake schema. Well actually it is a bug in MicroStrategy that will prevent it to work perfectly in Star schema.

Snapshots are from MicroStrategy Tech Notes:

This schema is characterized by one lookup table per dimension, with base tables at the lowest level. This is the fastest way to set up a data warehouse:

This type of schemas is fully supported but difficulties may arise when adding aggregate tables:

Problem —-> Double counting

According to the diagram above, a report that contains [Month] and the a metric SUM(SALES_AMT) will go to the aggregate table [MONTH_STORE_SALES] and join to the [MONTH_ID] column to retrieve the description from the [LU_TIME] table. Since the [MONTH_ID] column is not unique in its lookup table, the results will appear duplicated.

Why —-> MicroStrategy is optimized to work with snowflake schemas, where each attribute level has a distinct lookup table.

Solution —-> If aggregate tables are needed, use one lookup table per attribute to avoid double counting.

Reaction —–> Give me a break.

I could never understand why this affinity. I came to know about this during my early months working on MicroStrategy and no one could solve it.

BTW, I was lucky to know this thing. Person holding position of Director had come to India for knowledge transfer. He is the man behind getting MicroStrategy into the company.I had gone for a tea break and when I came back I didn’t notice that every MicroStrategy developer is missing. I thought they must have gone for a break. But I thought checking out what’ was going on. Karthik told me there was a session by Asif but he said it won’t help me much. Still, I thought I should attend and in that meeting I came to know this. Wow.. this made the visit fruitful for me.

Status of this defect —–> It has been weeded out. I’ve done several implementation of it. But working on 7.2.2 was pain. I had to go for duplicate Logical tables. Those days it was not a good help too.

—-
Update on 21st Sept 2008

MicroStrategy have updated technote last month stating that custom logical tables are workaround to solve this problem.

Constant whining by blog readers

I should make this post sticky actually.

This is a personal blog. I write about my life and stuffs. But after having said truth about Bangalore Motoring Club, there has been a sudden increase in comments. I generally get comments on post related to MicroStrategy. Those who call me ideat, then I must accept that I’m. I’ve been very truthful to my job whatever and whereever it is. For me work is religion. But I’ve not been able to smart, cunnin and crooked with people around me in office. I can’t be. Not my habit to spend time and eneregy for such things. When people intentaionlly and willfully do something wrong and faced my fierce reaction in life or blogs, they realize it. Being not smart it tue but definately I’m very intelligent and have eyes and ears open. You can’t have your cake and eat it too.

About some people hating my feeling against my PM and PL at Cybage.
The day before I put my papers, I had spoke to my PM (Gurvinder Singh Chhatrwal) about lots and lots of things that weren’t right. He just gave me smart answers, not appreciated by me. One can be smart with people, but one should realize taht they can’t go long with it. Such person are biggest reason behind attrition. I hope most of us reading this must have read famour forward “people leave managaers not organization”. That’s very much true in my case and 90% of people around me.

All those who have acted smart, I have given them time to improve because when I feel it is too much, I will hit back. But something in my due course of time I’ve realized it, this kinda behaviors is almost everywhere. I shouldn’t be direct. Rather I should try to be smooth (I just hate being so), but I’ve realized that I can’t be it, I’d speak out the fierce words instantly if I don’t think something is right. I do think it is foolishness, but I can’t help it. But I’m improving.

–I”ll be updating this.

Update on 1st March
————————
I’d found on the very next day. IP address of the commenter’s clearly indicate one of them was Paramjeet Singh Sidhu (now Param Sidhu). the other comment souce could not be nailed down, though I had suspect.

What’s Business Intelligence?

This is the most common question that I have faced after the metric options. I have a simple answer to it, in my own way. “It is modern age custom wisdom”.

MicroStrategy Interview Questions 101

1. What is metadata?

2. What is two-tier connection?

3. What is three-tier connection?

4. What is difference between 2 and 3 tier connection?

5. What is ScanMD?

6. What is MD Doctor?

7. What is clustering?

8. How do you achieve schema object version control (similar to VSS)?

9. What are different kinds of objects in MicroStrategy?

10. How will you reset password of all users?

11. What are different modes you can run I-Server?

12. 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?

13. What is the difference between RW document and HTML document?

14. What are various authentication modes?

15. How can you configure WH authentication?

16. Does DLS affects MicroStrategy? What you need to do incorporate it?

17. What’s smart metric?

18. What’s fact table?

19. What is fact constellation schema? What is star schema? What is snowflake schema?

20. Should you have DATE as ID attribute form?

21. What is compound key?

22. What is a bridge/relationship table?

23. How will you resolve double counting in M-M relationship between two attributes?

24. What is Object Manager?

25. What will you do when I-Server crashes?

26. Where is Administrator’s password stored? Is it stored in encrypted?

27. What will you do if your Administrator has forgotten password or the account is locked?

28. How can you monitor the error received while running I-Server and report?

29. What is a surrogate key?

30. Why do we use a staging area?

31. Why do we need a DW?

32. Why do we use dimensional modeling in DW? Why not Relational?

33. How much history should we have in a DW?

34. What are the most important tables in a DW?

35. What is a fact and an attribute?

36. What is a batch?

37. Diferences between ROLAP, MOLAP and HOLAP?

38. What is a CUBE?

39. Why Kimball? Why not Inmon? Or vice versa? 😉

40. Performance with a relational based query vs dimensional?

41. What is ETL?

42. What types of DW’s are most common abroad?

43. How many MSTR projects have you worked? Explain in detail.

44. Tell us about your Roles & Responsibilities in your project.

45. Have you managed any team for MSTR project?

46. What are the two types of schemas available in DW?

47. Difference between Star schema and Snowflake schema.

48. What schema is used in your project? Why?

49. What are conformed dimensions?

50. What are Factless facts?

51. Explain 2-tier and 3-tier Architecture in MSTR including pros and cons.

52. What is 4-tier architecture?

53. What architecture is used in your project? Why?

54. What are the types of MSTR objects available?

55. Explain Schema objects. (One by one)

56. Have you created any Facts, Attributes for your project? How?

57. What are Transformations? Is there any transformations implemented in your project? Explain the example from your project.

58. What are the features available for MSTR Intelligence Server?

59. Explain Fact Structure. (4 types, one by one)

60. Explain Level Extension. How it is used in your project?

61. Explain Fact Relation.

62. Explain Fact Degradation.

63. Difference between View Filter and Report Filter.

64. What are the different types of Filters available? Explain each with example.

65. What is derived metrics? Explain the example from your project.

66. What is Compound Key Attribute? Give example from your project.

67. Explain VLDB properties in detail.

68. Similar to Visual SourceSafe (VSS) for version controlling, HOW can we achieve the same for Objects in MSTR?

69. Give the step-by-step approach followed for Testing MSTR reports, both from MSTR Desktop and MSTR Web.

70. Have you done any Estimation for MSTR reports?

71. How will you differentiate Simple, Medium and Complex reports while doing estimation for MSTR reports?

72. How to use Templates in MSTR?

73. What are Prompted Filters?

74. What is Bridge table?

75. Where will you customize the display for Null Values?

76. Explain the step-by-step technical approach after you get the Requirements from the Client.

Will be updating as and when I think of more questions. This is my list of question I generally ask if ask to interview a candidate. But keep in mind, this is just for initial cut off. Second round will have unique practical questions. Depends upon how much you have got to explore MicroStrategy.

Finally out of MicroStratgy project at Cybage

Well it happened in March or something, but I didn’t ask anyone about it. Cybage has a practice of not introducing a newbie unless he is well versed, but worse is if you are replacing someone good who left company/project, you will not be introduced to MicroStratgy for a real long time. I was a undisputed defect (main deliverable to client) finder within 2 months but I was introduced to MicroStrategy only after release of 8.0. They took 202 days to introduced me to MicroStrategy. They gave me absurd reason about having introduced 3 people who joined after me. This is sad story of Cybage all together.

BTW, I was (kinda) demoted by having shifted to Front-End team from Back-End team on MicroStrategy in Cybage. Reason, I used to wear (and still) funky cloths to office, Limp Bizkit style. Frond-End team does QA of Desktop products and Administration where as Back-End team does QA of Configuration settings and NCS. Bank-End testing has steep learning curve. I do not know Narrowcast Server and Customization well. I was categorically kept away from both.

In spite of all these, MicroStrategy@Cyabge was the best job. It was all new technology. Getting trained by some of real hardcore guys. Person responsible for Analytical Engine (Hani) has been working at MicroStratgy for a decade and he is a gem of person. He has showed us the bugs in MicroStrategy in a hardcore technical manner. I really really liked that. I know how to fake the output of a report completely. There is a secret tool using which you can directly communicate to MicroStrategy Metadata. Last but not least, you can created a report using the Object IDs. Yes, just using Object IDs. But that tool (I won’t name it) is full of bugs. When I sat full, really full. That has been created by Engine team for internal use and they know to use it. There are no checks, you can enter whatever you want, but these guys won’t go wrong.

This partiality is a common issue with Cybage. I know it is everywhere but Cybage has to 3-4 times more than the companies I work after leaving Cybage. Specially you feel sucked when your PM (Gurvinder Singh Chhatwal) tries to discredit you for the appreciation that you receive from Client. MicroStrategy is considered a client who will not easily appreciate offshore employees, but I received appreciation for “delaying 8.0 SP2 UNIX build for more than two weeks”. I not only found a show stopper issue with the build that was going to be GA also gave them the workaround. When client appreciated the same, there was a long mail then usually sent by MicroStrategy and it was full of talking about that UNIX issue I uncovered, PM forwarded to All Managers to CEO he just forgot to mention me. When I asked his about the same, he asked to do that next time and he would definitely do it. Man, you don’t have Olympic every day or month. Don’t wanna say anything more than this. BTW, my PL, for whom I was a bone of contention, left Cybage and has joined MicroStrategy. This guy named Paramjeet Singh Sidhu (valid Orkut login required) is a a best guy in fixing and setting up and office politics. All people who left Cybage while he being the PL, mainly due to the fact that he wouldn’t have let them grow in the team. This guy will go to any level of politics for progress. Some happiness taht Lopea (SR QA Manager) is among my connection on LinkedIn.