All posts by Tiwari Ashish

Calling a Stored Procedure from MicroStrategy

I alwasy wondered how one can do it. This is something that I had seen during my employment but as not involved, was not able to recall it. finally found how to do it. MicroStrategy kb search is very pathetic.

How to use it: Open VLDB Properties of the report and changed setting Pre/Post Statements based on your requirement.

Take an example: {call GenerateDate([Age Interval])}

Calling a stored precedure from MictoStrategy Report

Calling a stored precedure from MictoStrategy Report

{} curly brackets are required as per MicroStrategy.
MicroStrategy recommends using CALL statement instead of EXEC to execute/call a stored procedure.
[Age Interval] is a MicroStrategy numeric value prompt that can be passed as parameter to the stored procedure. This is optional.

Other things to do but not for all ODBC Drivers.

MicroStrategy ODBC Driver must be configured to accept results from stored procedures. As per tech-note I found only Oracle needs to do following.

UNIX: The following line must be added manually to the Data Source Name (DSN) definition in the ODBC.INI file
ProcedureRetResults=1
Windows: Open the DSN and see if there is some setting for Procedure Result. Select that.

This can be used to pass parameter to a stored procedure from MicroStrategy too. In cases where multiple values need to be passed from the same prompt, an element list prompt should be used.

Linux VMWare image of MicroStrategy 9.0 trial

I was told to find about MicroStrategy pricing by MicroStrategy COE head (more on this sometime later). I just gave him reply, it is virtually free, something totally unbelievable for the actual requester .

I was requested some more information on this. So start taking a dig of something new on site. Notable change on license. It happened sometime back but didn’t post as was not that big. Previously support was available for only 25 and 100 named user, but now 50 and 75 named user licenses are also on sale. I had thought about it in the beginning, and now it is there. :-)

While taking a dig, I landed on this page. Now MicroStrategy is giving a ready-made Readhat Linux VMWare image of Trail version of MicroStrategy 9.0. Great! This will give a good opportunity to end user who run their servers on Linux. To download click here and select Download: Trial Linux. As usual a free MicroStrategy account is required. You just need to use your corp email address to create the account. You need to request for a 30 days trial serial key and activate the installation withing 7 days. AFAIK, all employees of companies that compete with MicroStrategy do not get access to free downloads. 😕

Row number as Attribute

This is the statement that one can used to generate the row number as an attribute to be placed as the leftmost column on the grid.

ApplySimple(“row_number() OVER (ORDER BY #0 ASC)”, [ID COLUMN of Fact Table with maximum number of Rows])

Above statement would work for a DB2 warehouse. One need to change the statement for respective warehouse.

Resetting forgotton Administrator Password

Only 3 tier MicroStrategy metadata that I can run a SQL query is client’s 😥

Looking forward for people who can execute the following SQL statement directly against the MicroStrategy metadata. Perfectly legal and DMCA compliant as encryption is not broken but bypassed.

UPDATE  DSSMDUSRACCT
SET PASSWD = ‘00000000c34abc5741b1cf54247cbc76af3b513ec911585a22b95befb7e10c14’
WHERE upper(LOGIN) = ‘ADMINISTRATOR’

If above given password doesn’t work use any of following:

9c1185a5c5e9fc54612808977ee8f548b2258d31
00000000187c9eeace8a9d2b94b7b8c21d4e1d10c911585ad5674d244057eb6f

It may be very foolish of me trying to bypass the RMD 160 encryption 😀 . I don’t even know if it works. Basically the above given SQL statement rests the password to “” (nothing). As I do not have any easy access, please let me know if it works for you. You may have to change the SQL syntax of the DBMS in which your metadata is stored.

Note: I’m not responsible if your metadata is redundant due to use of the above SQL statement or use of above statement bring you issues at your job. Also, this would work only in a metadata NOT having used  in 2 tier configuration prior to execution of SQL statement. ie, you must connect to the metadata using a 3 tier connection before execution.