Sunday, February 22, 2009

Know your EPF claim status

I don't know if it really works, but one nice step by EPFO to know about the claim status. Done by Chennai EPFO for its office and now entire India is covered. Pretty cool! Thumps up to EPFO.

(I'm waiting for Know your EPF balance)

Thursday, February 19, 2009

Compound Key Attributes

A compound key attribute is an attribute that has two or more IDs. For instance, the attribute City may be defined in the data model as a combination of COUNTRY_ID and CITY_ID.
Quite often these attributes have automatic mapping for one ID and manual mapping for the other one. This design may look strange, but in most cases there are sound rationales behind it.

Now, here is the thing. Let’s say you need to create a new table that should contain the compound key attribute and a new fact. Obviously, you create the table, load it into the Warehouse Catalog, create the new fact and update the schema.
You then create a new metric based on the new fact and attempt to use it in a report, together with the compound key attribute. What happens next is you get an error stating that the new fact does not exist at the attribute level. Staggered, you have a look at the logical view of your new table and see that your attribute and fact are both present, and therefore there should be no call for the error.

Of course, there is a very good reason for the error, and that is because the compound key attribute knows about the new table only through its automatically mapped ID, which is not really enough. So just add the new table to the source table list of the manually mapped ID and it should work.

Common sense suggests that no one would run into such a problem. Nevertheless this belief is based on the idea that all the developers are familiar with each and every compound key attribute in the project, which may not always be true.

A good practice in this case is to maintain a list of attributes that have at least one connection mapping set to manual, and pay special attention to these attributes. Even an attribute with a single ID is liable to cause the same problem if that ID is manually mapped, except that in its case the logical view will not show the attribute at all, thus not fooling you.

Monday, February 16, 2009

Report filter, View filter and Report limit

Comparison of various types of MicroStrategy filters.



1 – Main reason to use Report Limit, else it doesn’t give any performance improvement compared to Report Filter (Metric based) in case of big data set to be SQLed.

SDK - DssType...

If you find yourself writing a program based on MicroStrategy’s SDK, sooner or later you will realize that although huge, the SDK documentation is not nearly sufficient.

Let’s say you are trying to write an IF/CASE statement on object.Type. Most of the time the type is self explanatory, like DssTypeAttribute or DssTypeFilter.

If object.Type = DssTypeMetric Then…

However, there are some objects for which no DssTypeXyz is defined, like Hierarchy or Transformation.
The good news is that it is quite simple to learn how MSTR stores these objects. Just go to C:\Program Files\MicroStrategy\Tutorial Reporting\TUTORIAL_METADATA_7200.mdb and open the table DSSMDOBJINFO.

Now go to the Tutorial environment of MSTR and locate an object whose type you want to learn, i.e. a Transformation. For this example I chose the Transformation “Quarter to Date”, whose Object ID is DB5E65D641D790631D8D7CA48FDB90FE. Simply search for this ID in the OBJECT_ID column of DSSMDOBJINFO and you will find that the OBJECT_TYPE is 43.

If object.Type = 43 Then…

Sometimes it pays to have a look at the SUBTYPE as well. Just to make sure your IF/CASE statement is correct, use the “Filter by Selection” button on the OBJECT_TYPE value that you identified and check if there is more than one subtype available for it.

If object.Type = 43 and object.SubType = 11009 Then…

Please note that there is no actual need for specifying the subtype for the Transformation, as there is only one available. The code above is just for emphasis purposes.

By the way, whatever you do, don’t modify anything in the TUTORIAL_METADATA_7200.mdb file, not if you still want to use the Tutorial environment…

Friday, February 13, 2009

Object Prompt in Report Document

Have you ever checked placing a report with object prompt in report service document? if so, then the object prompt wont appear in document.

Tips: 1) place all the attributes (which present in object prompt) in to the report
2) add as a data set into report service document
3) Drag and drop the report(grid) into the document
4) save and close the document
5) Now, Open the report; remove all the attributes and place the object prompt into the same place (col or row) where attributes are placed. Save and close the report
6) Now, execute the document. No wonder, it will ask you to select the attributes from the list.

Customize the 'Total' in MicroStrategy

How to customize the Total, for those present in the report?

Here is solution:

After placing required attributes and metrics in to report, run the report and once you get data go to Data Menu --> sub Totals --> Advanced --> New -- > Type '#A total' then do the normal total selection (like subtotal by row, etc, etc).

Now, the total appear as ' Attributename Total' for each total.

Some more tips on custom totals:

#A
The name of the attribute under which the subtotal appears.
#P
The name of the attribute to the left of, or above the attribute under which the subtotal appears.
#0
All the forms of the parent element.
#1
The first form of the parent element reading from left to right or from top to bottom.
#2
The second form of the parent element reading from left to right or from top to bottom.
#3
The third form of the parent element reading from left to right or from top to bottom.
#4
The fourth form of the parent element reading from left to right or from top to bottom.

Note: single Quotes to highlight, dont give the same in report :)

MSTR Object Tracking Tool

Dear All,
I have created MSTR Object Tracking Tool (beta) for easy preparation of tracking sheet in a Excel. you can customize by selecting date (creation, modification, from , to date, select number of object types, etc.) I'm looking for some one who like to test the same. Pls let me know if you are interested to to test the same, Thanks.

Email: senthil.raj.u@gmail.com

Monday, February 09, 2009

The depressing story of the renamed fact

The fact SALES_AMOUNT has been enjoying a quiet life for the last five years until, one rainy day, the new QA guy called Eureka! and proudly informed everyone that according to the naming conventions the fact name should be SLS_AMT. Of course, he took the liberty of checking the source tables and discovered that they too should be updated to match the foresaid conventions. Way to go, QA guy!

What do you do? You could swear the QA guy or, if you are more literary inclined you could write him a bitter limerick and post it on the Intranet…
Seriously now, how do you go about accommodating this change? I’ll skip the whole ETL part and go directly to MicroStrategy, right after the source tables were updated.

What you can’t do is go to the Warehouse Catalog and update the source tables’ definition. The catalog would just throw a number of dependencies that need to be solved before performing the update. You can’t delete the fact either, as it is being used by several metrics which in turn are being used in reports, and so forth.

The thing to do is to make the fact independent of any table. There are some ways this can be achieved, and one of them is to clear the fact definition and map it manually to “1”. You can actually write anything in the definition field, as long as it is not “SALES_AMOUNT”.


Thus the fact is no longer related to any of its source tables. Now it’s the time to update the tables’ definition in the Warehouse Catalog.
After that, just go back to the fact editor and map it automatically to “SLS_AMT” and perform a schema update.

A similar process can be applied to attributes. Rather than mapping an attribute element to “1”, you can try to temporarily map it to any other column in any other table. Most likely the relationships with other attributes will be lost because of this, but they can easily be restored when all work is finished.

Sunday, February 08, 2009

Is MicroStategy BI implementaion recession proof

This question I had all the time I've been working on MicroStrategy, but with an exception that I had not seen recession.

Prima facie, the answer is Big NO. Most of my friends, who are working on different clients in varied domain, are not working on any important projects or not working at all (including me). All of a sudden the clients have deferred further implementation of MicroStrategy project(s). Around 14 friends of mine have changed job in last 6 months and none of them is actually working on a MicroStrategy project, so one can easily imagine the situation in developed countries, mainly USA.

TARP is yet to come into picture. Scene is going to be same for next 2 months, the time taken for TARP to show effect.

This time clients are simply trying to optimize the current BI not trying any new BI implementation. Few MicroStrategy or other core BI vendors are moving/thing to Open source BI.

MicroStrategy commands a loyal customer base but repeat business or sale of Orion will be something hard to see in near future.

Saturday, February 07, 2009

Cease and Desist Letter received from MicroStrategy, Inc

I've just received a Cease & Desist letter for having registering domain names "microstrategy.co.in" and "microstrategy.in". The reason behind this is

1. Using companies trademark, illegally.
2. Domain names made in bad faith since you are not using domain names for any legitimate purpose.
3. abusive registration of domain names

Pretty much pissed off against MicroStrategy, Inc as I love the company for which I've worked (though outsourcer) and I receive this kind of letter.

microstrategy.in
directs to microstrategy.co.in which is a MicroSteategy forum.

Can't comment legally, but I do not use anything that can be trademark violation. Site is fully operational and happening so nothing can be bad taste and I need to know what's an abusive registration of domain name.

If you have any legal/para-legal advice to let me know.

If they would have had asked politely or tried to contact though common acquaintances, I would have had given to them. But this D&C is torturous. Nothing is illegal on site or site itself is not illegal. I would contest the domain name ownership in Indian court under Indian IT Act 2000.
---------------------

Update 9th Feb 6:30 pm IST

Indian IT Act 2000 doesn't define anything like cybersquatter. Such case can be only fought in court of law or can be settled by Arbitrator of .IN Registry (which still can be challenged in court, extremely tedious and slow process).

One can check the list of domain that were awarded to the Complainant here. I've been though most of them and found that the Registrars were indeed cybersqatters and it was pretty easy for rightful owners to get back the domain (this includes monster.in, pizzahut.in, sonyericsson.co.in, gmail.co.in, morganstanley.in, youtube.in, kfc.co.in, franklintempleton.in).

If one reads the case document on the link above, one would come to know that there were people who had simply parked the domain or had opened shell/ad site not hosting anything actually. But I have a strong case and I would be fighting tooth and nail for the hard work I've done in setting up the forum and bringing some good people knowing MicroStrategy.