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

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

Control the display of null and zero metric values

Show   Control the display of null and zero metric values in a grid report You can determine how to display or hide rows and columns in a grid report that consist only of null or zero metric values. You can have MicroStrategy hide the rows and columns in the following ways: Hide rows and columns that consist only of null metric values Hide rows and columns that consist only of zero metric values Hide rows and columns that consist only of null or zero metric values (default) Once you have defined how MicroStrategy hides null and zero metric values in the grid, you can quickly show or hide the grid using the Hide Nulls/Zeros option in the Data menu, as described below, or by clicking the  Hide Nulls/Zeros  icon  in the Data toolbar. To determine how null and zero metric values are displayed or hidden in a grid report Open the report in Edit mode. From the  Tools  menu, select  Report Options . The Report Options...

Microstrategy Report Pre and Post Statements

Microstrategy Report Pre and Post Statements Report Post Statement The Report Post Statement settings insert custom SQL statements after the final SELECT statement but before the DROP statements. The settings are numbered 1-5. Each text string entered in Report Post Statement 1 through Report Post Statement 4 is executed separately as a single statement. To execute more than five statements, insert multiple statements in Report Post Statement 5, separating each statement with a semicolon (;). The SQL Engine breaks them into individual statements at the semicolons and executes each separately. The custom SQL is applied to every intermediate table or view. Report Pre Statement The Report Pre Statement settings insert custom SQL statements at the beginning of the report SQL. The settings are numbered 1-5. Each text string entered in Report Pre Statement 1 through Report Pre Statement 4 is executed separately as a single statement. To execute more than five statem...

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:...

Disable data blending in MicroStrategy

Disable data blending in MicroStrategy Starting in MicroStrategy 9.4 data blending was made available for documents and dashboards. This permits grid, graph and widget objects to source data from multiple different datasets at the same time.  This is available under the analytical engine VLDB properties inside of project configuration. The property is named "document grids from multiple datasets" and defaults to enabled but can be set to disabled.  Below are the steps to enable/disable the settings of data blending: 1. Go to project configuration by right clicking on specific project(You need admin rights to do this). 2. In the Project configuration windows as shown below select Configure under Project level VLDB settings section. 3. Now it will open the VLDB settings window, select + on " Analytical Engine Settings " and then click on " Document Grids from multiple datasets " option. You will be presented with two...

Multi-Table Data Import(MTDI) from one or more supported data sources

Multi-Table Data Import(MTDI) from one or more supported data sources In MicroStrategy Analytics Enterprise Web 10 onewards, users can now simultaneously import two or more tables from one or more supported data sources, this feature is called Multi-Table Data Import (MTDI) which has been renamed as Super Cubes in MSTR 2019 (Does it sound like multisourcing for all the users without admin help?) Currently, all connectors in MicroStrategy Web 10 except " OLAP " and " Search Engine Indices " support Multi-Table Data Import. Users are able to add multiple tables/files when doing data import from single connector, as shown below: Users are also able to combine multiple tables/files from different sources and store them into one single Intelligent Cube, as shown below:

The logical table size calculation in Microstrategy

The logical table size calculation in Microstrategy The logical table size is an integer number that represents the granularity or level of aggregation of a particular table. It is called 'logical' because it is not related to the physical size of the tables (number of rows). It is calculated according to the attribute IDs that are present in the table and their level in the system hierarchy.   Even though, the number does not reveal the actual number of rows in the table, it is an accurate way of measuring a table size without having to access its contents.   MicroStrategy Engine utilizes an algorithm based on attribute keys to calculate the Logical Table Size (LTS):   Given the following tables:     The algorithm that calculates the table sizes performs the following steps: Calculate the number of levels per hierarchy: Hierarchy 1: 3 Hierarchy 2: 4 Calculate each attribute individual weight according to the level in the hierarchy (level in hierarchy/number of ...

Update the data on an Intelligent Cube without having to republish the entire cube in MicroStrategy

Update the data on an Intelligent Cube without having to republish the entire cube in MicroStrategy MicroStrategy has introduced a feature known as, Incremental Refresh Options, which allow Intelligent Cubes to be updated based on one or more attributes, by setting up incremental refresh settings to update the Intelligent Cube with only new data. This can reduce the time and system resources necessary to update the Intelligent Cube periodically versus a full republish. For example, if a user has an Intelligent Cube that contains weekly sales data, the user may want this Intelligent Cube to be updated at the end of every week with the sales data for that week. By setting up incremental refresh settings, he can make it so that only data for one week is added to the Intelligent Cube, without affecting the existing data and without having to reload all existing data. Users can select t...

Apply or Pass-through functions in Microstrategy

Ap ply (Pass-Through) functions MSTR Apply functions provide access to functions or syntactic constructs that are not standard in MicroStrategy but are provided by various RDBMS systems.. Syntax common to Apply functions Apply Function Name   ("expression with placeholders", Arg1, Arg2, Arg3, …ArgN) where: Apply Function Name  – is a generic name used for the predefined pass-through functions described above expression with placeholders  – is the string describing the actual expression or syntax that the engine uses while generating the SQL and which is sent to the RDBMS. The placeholders are represented by #0, #1, and so on. "#" is a reserved character for MicroStrategy. Arg  – is an argument that replaces the parameter markers in the pattern. Arg1 replaces #0, Arg2 replaces #1, and so on. There are   five  pre-defined Apply functions to replace regular, predefined functions of the same type. For more details, cli...

Components of the MicroStrategy Engine

Components of the MicroStrategy Engine The MicroStrategy Engine consists of three engines:  • SQL Engine  • Query Engine  • Analytical Engine  These individual engines work together to fulfill report requests submitted by MicroStrategy that can be resolved by pure SQL alone.  The SQL Engine is responsible for generating optimized SQL and producing result sets that can be resolved by pure SQL alone. The Query Engine is responsible for executing the SQL generated by the SQL Engine.  The Analytical Engine is responsible for performing any calculation that cannot be resolved with SQL alone.