Skip to main content

Using Scan MD Microstrategy

ScanMD 

WHAT IS SCAN MD?
ScanMD is a troubleshooting application whose aim is to provide a quick resolution to known metadata logical inconsistencies.  Logical inconsistencies are errors within an object's definition structure. The word 'known" means that those erroneous structures have already been investigated and processed by MicroStrategy Technical Support and, as a result, a Test has been implemented in ScanMD. 
It is not the intention that ScanMD be used as a proactive method for addressing metadata inconsistencies.  If you find yourself proactively running ScanMD and/or finding inconsistencies through ScanMD then please contact MicroStrategy Technical Support as this means that there is, most likely, a deeper problem to be investigated.
Refer to the following technical note if ScanMD is going to be executed against a 10.3 and higher metadata:
CONSIDERATIONS/GUIDELINES
  • ScanMD is to be used as a troubleshooting application and a vehicle to provide a quick resolutionafter a problem has been identified as a metadata inconsistency. In other words, ScanMD should not be run on a "schedule" or "after every migration". 
  • Before running ScanMD, a database backup of the metadata must be made. With a backup of the metadata in place, proposed fixes should only be accepted if the full impact of the fix is understood.
  • When a Fix is performed on a project, the MicroStrategy Intelligence Server should be stopped, or that Project unloaded.  No users should be connected to the project undergoing a fix.
  • Always use the latest version of ScanMD, which is the one supplied in this document.
  • For cases where ScanMD is used, there may still be questions as to how the metadata got into this state.  To help answer that question --  customers encountering inconsistency issues should make note of Schema-related changes (if the problem is affecting Schema objects), Object Migrations, or error messages prior to experiencing the problem.  Change Journaling, if it has been enabled, can help in preserving this information.
Microstrategy's disclaimers and Limitation of Liabilities about using ScanMD:

Disclaimer:The utility application is provided "as is" and without warranty of any kind. Microstrategy Expressly disclaims all warranties, express, implied or statutory, including, without limitation, the implied warranties of merchantability, fitness for a particular purpose, satisfactory quality and noninfringement.
Limitation of Liability: Microstrategy shall have no liability to licensee for any damages of any kind, including, but not limited to, liability for direct, indirect, special, incidental or consequential, damages (which shall include, but not be limited to, loss of data or information, loss of revenue or anticipated profits or lost business).
SCANMD CHECK-ONLY MODE
The current version of ScanMD does not provide the ability to execute one or more common tests in check-only mode. Due to the new feature enforcing the inter-object dependencies, check-only mode is not possible in this release. Consider one example, before executing  Schema Collection Verification test which ensures all schema objects are in the Schema collection, the ScanMD will execute Table Verification test and eliminate table objects with invalid definition. Therefore, the execution sequence is crucial to maintain the metadata consistency. Check-only mode may generate misleading results by ignoring inter-object dependencies and execution sequence.
HOW TO USE SCANMD
Follow steps below:
  1. Go to Start -> Programs -> MicroStrategy -> Tools, run ScanMD
  2. Click Nextto pass ScanMD introduction to the next step, which is Step 1of ScanMD
  3. In Step 1, choose a Project Source from the drop down list, and enter a Login and a Passwordthat have administrative privileges to the metadata. Click Next to go to Step 2
  4. In Step 2, choose a single projectAll Projects , or Configuration from the drop down list. Select a different location for log file if desired. Click Next to go to Step 3

      
    NOTE: During the transition from Step2 to Step3, ScanMD will check the compatibility between the Metadata Version and the version of the MicroStrategy platform present on the machine where ScanMD is running.


  5. In Step 3, choose between Common Tests and Custom Tests. If a Custom Test is not yet added, click Add test to browse to its location. Make your test selections, and Click Next to go to Step 4;



    NOTE:
    - Multiple Common Tests can be chosen at once, but only one Custom Test can run one at a time.
    - Either Common Tests or Custom Tests can be selected, but not both.

  6. In Step 4, adjust tests against project(s) chosen in Step 2, select a Number of concurrent test executions, choose whether to Fix all errors automatically or not, and click Next to begin the scan; If any errors are found, ScanMD will pop up a dialog for each set of Common Tests that was executed.


    NOTE:
    - Some ScanMD Common Tests must be run in a specific order. As of ScanMD 8, the execution order of the Tests is enforced. If Common Tests is chosen in Step 3, ScanMD will automatically add any other Common Tests that are required. 

    Based on your test selections, Scan MD has identified some additional tests which need to be run in order to ensure the integrity of your Metadata.
    The required tests will be added to your selections.

    Though only "Attribute Verification" and "Hierarchies Verification" are selected, four other common tests are added with suffix "(Required)":

    - Those Tests which do not have any dependencies are still allowed to execute in parallel.
    - "Concurrent test executions" usually reduce the overall execution time when running on a computer with multiple cores or CPUs and against remote MDs (i.e. not a local DB such as Access).

  7.  In the Summary Step, select "Check here to open the log file" if you wish to review, after clicking Close, the actions that ScanMD performed. Otherwise, simply click Close

    ScanMD Test Results:

    ScanMD Summary step:

  8. Restart Intelligence Server if the changes cannot be reflected in 3-tier environemnt.  

Comments

Post a Comment

Popular posts from this blog

Microstrategy Custom number formatting symbols

Custom number formatting symbols If none of the built-in number formats meet your needs, you can create your own custom format in the Number tab of the Format Cells dialog box. Select  Custom  as the Category and create the format using the number format symbols listed in the table below. Each custom format can have up to four optional sections, one each for: Positive numbers Negative numbers Zeros Text Each section is optional. Separate the sections by semicolons, as shown in the example below: #,###;(#,###);0;"Error: Entry must be numeric" For more examples, see  Custom number formatting examples . To jump to a section of the formatting symbol table, click one of the following: Numeric symbols Character/text symbols Date and time symbols Text color symbols Currency symbols Conditional symbols Numeric symbols For details on how numeric symbols apply to the Big Decimal data type, refer to the  Project Design Guide . ...

MicroStrategy URL API Parameters

MicroStrategy URL Structure The following table summarizes the root URL structure used for every request to MicroStrategy Web. Environment Main Application URL Administration URL J2EE http://webserver/MicroStrategy/servlet/mstrWeb http://webserver/MicroStrategy/servlet/mstrWebAdmin .NET http://webserver/MicroStrategy/asp/Main.aspx http://webserver/MicroStrategy/asp/Admin.aspx Every request sent to MicroStrategy Web calls a central controller. Parameters are appended to  Main.aspx  or  mstrWeb  (in a .NET and J2EE environment, respectively) to indicate to the controller how the request should be internally forwarded and handled. The following examples show a URL for accessing a MicroStrategy folder when the user does not have an existing session. The URL contains not only the parameters needed to connect to MicroStrategy Web, but also the parameters needed to log on and create a session. J2EE environment: <a href="http:...

Case functions Microstrategy

Ca se functions Microstrategy Case functions return specified data in a SQL query based on the evaluation of user-defined conditions. In general, a user specifies a list of conditions and corresponding return values. Case This function evaluates multiple expressions until a condition is determined to be true, then returns a corresponding value. If all conditions are false, a default value is returned.  Case  can be used for categorizing data based on multiple conditions. This is a single-value function. Syntax Case ( Condition1 ,  ReturnValue1 ,  Condition2 , ReturnValue2 ,...,  DefaultValue ) Example Case(([Total Revenue] < 300000), 0, ([Total Revenue] < 600000), 1, 2) sum(Case (Day@DESC in (“Sat”,”Sun”), Sales, 0) {~+} Sum(Case(Category@DESC In("Books","Electronics"),Revenue,0)){~+} CaseV (case vector) CaseV  evaluates a single metric and returns different values according to the results. It can be used to perfo...

Custom Subtotal Displays in MicroStrategy

Defining custom subtotal displays in MicroStrategy By default, when users apply subtotals in a report, the name of the subtotal is displayed in the subtotal line items that appear in the report. Users can use custom subtotals to give more control over the characteristics of a subtotal. Custom subtotals allow users to define custom subtotal line items that appear on the reports  U sers can make the subtotal name dynamic by typing special characters in the subtotal name field as listed in the following table. Character Description #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 th...

Retrieve a list of user groups and the associated users in MicroStrategy

    Retrieve a list of user groups and the associated users in MicroStrategy Developer 9.x Although MicroStrategy Command Manager 9.x can be used to generate lists of all user groups and all users within a particular group, there is currently no way for it to retrieve a list of all groups and all of the users in each group. If such a list is desired, it can be created using the Project Documentation Wizard in MicroStrategy Desktop Developer 9.x. Follow the steps below to create a list of all groups and the users in each group: In MicroStrategy Developer 9.x, select 'Project Documentation' from the Tools menu to start the wizard. Select any project that is in the project source that contains the users and groups and click Next. Select only Configuration Objects for documentation. Uncheck the 'Basic Properties' object category from the next screen, as shown below: Then select only 'User Group' under the Configuratio...

Microstrategy Report Services documents and dashboards

Microstrategy Report Services documents vs Dashboards A MicroStrategy Report Services document displays data coming from multiple reports, with the data laid out and designed in presentation-quality format. Most data on a document is from one or more underlying datasets. A dataset is a standard MicroStrategy report. Other document components that do not originate from the dataset, such as static text used for a title or heading, page numbers, and images, are added by the document's designer and are stored in the document's definition. A Report Services (RS) dashboard is a special type of document. An RS dashboard is commonly only one page long, is intended to be viewed online, and usually provides interactive features that let analysts change how they view the dashboard’s data, as well as what data they are viewing. A broad selection of widgets and a wide variety of formatting options allow you to design a customized, interactive dashboard. Both documents and RS dashb...

Report filters are being ignored in Microstrategy report SQL

Report filters are being ignored in Microstrategy report SQL When users run a report using a simple filter, the filter is not applied to the report in MicroStrategy Developer 9.x and 10.x. The results returned to the users are not filtered as expected. The Report SQL indicates that the filter has not been applied. CAUSE: One scenario is that the MicroStrategy 10.x SQL Engine is ignoring the conditionality at the report level because a metric in the report also contains a related conditionality which has been set to "remove related report filter elements" or "ignore" the filtering criteria at the report level. ACTION: When a report contains the above situation, the follow steps can be done to have both filters applied and be merged for the report results to be executed with: If the report's and metric's filter affect attributes from the same hierarchy, check that the following setting is un-checked: This setting is placed in the me...

Settings for Outer Join between metrics in MicroStrategy

Settings for Outer Join between metrics in MicroStrategy MicroStrategy adopts multi-pass logic to determine the execution plan for a report. This means that every metric is evaluated in separate SQL passes. Outer Joins come into play when MicroStrategy Engine merges the results from all SQL passes into one report. For a multi-pass report, different Outer Join behaviors can give the user completely different results. In addition, report metrics can be of different types which can, in some cases, influence the result of the outer join. In MicroStrategy, there are two settings that users can access to control Outer Join behavior : Formula Join Type and Metric Join Type . Metric Join Type: VLDB Setting at Database Instance Level Report and Template Levels Report Editor > Data > Report Data Options Metric Level   Metric editor > Tools > Metric Join Type Control Join between Metrics Formula Join Type: Only at Compound/Split...

System Manager workflow to execute on a schedule

Creating a System Manager workflow to execute on a schedule System Manager workflow can execute on a schedule or after an event has been triggered. This can be accomplished by creating a simple batch file, and scheduling that batch file to execute with a third-party tool like Microsoft Task Scheduler.   Note : To avoid user permission conflicts, the following steps must be performed with highest privileges.   In the below example, the workflow makes the i-server restarts every day.   1. The user must first have a valid workflow. This particular workflow is a template that is delivered out-of-the-box with System Manager.   2. Save the workflow in  .smw  format.   3. In a text editor (such as Notepad), enter the command line statement that the task scheduler should execute.     MASysMgr.exe -w C:\filename.smw” “UserName=User1 “Password=1234”   4. Save the file in  .bat  ...