Upload
kukakop
View
230
Download
0
Embed Size (px)
Citation preview
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 1/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 2/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 3/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 4/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 5/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 6/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 7/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 8/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 9/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 10/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 11/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 12/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 13/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 14/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 15/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 16/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 17/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 18/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 19/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 20/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 21/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 22/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 23/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 24/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 25/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 26/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 27/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 28/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 29/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 30/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 31/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 32/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 33/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 34/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 35/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 36/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 37/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 38/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 39/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 40/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 41/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 42/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 43/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 44/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 45/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 46/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 47/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 48/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 49/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 50/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 51/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 52/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 53/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 54/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 55/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 56/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 57/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 58/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 59/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 60/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 61/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 62/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 63/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 64/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 65/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 66/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 67/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 68/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 69/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 70/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 71/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 72/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 73/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 74/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 75/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 76/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 77/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 78/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 79/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 80/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 81/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 82/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 83/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 84/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 85/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 86/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 87/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 88/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 89/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 90/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 91/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 92/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 93/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 94/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 95/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 96/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 97/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 98/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 99/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 100/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 101/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 102/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 103/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 104/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 105/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 106/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 107/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 108/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 109/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 110/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 111/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 112/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 113/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 114/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 115/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 116/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 117/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 118/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 119/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 120/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 121/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 122/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 123/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 124/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 125/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 126/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 127/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 128/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 129/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 130/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 131/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 132/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 133/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 134/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 135/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 136/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 137/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 138/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 139/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 140/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 141/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 142/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 143/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 144/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 145/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 146/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 147/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 148/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 149/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 150/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 151/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 152/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 153/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 154/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 155/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 156/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 157/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 158/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 159/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 160/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 161/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 162/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 163/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 164/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 165/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 166/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 167/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 168/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 169/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 170/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 171/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 172/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 173/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 174/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 175/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 176/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 177/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 178/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 179/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 180/489
Metrics Advanced Reporting Guide4
150 Definition of simple metrics © 2003 MicroStrategy, Inc.
and a11.[MONTH_ID] in (200001, 200002,200003))
The complete metric filter (Call Center, Category, andMonth, as shown in bold font) is included in the metriccalculation.
6 Save the report as CA Revenue (Attributes On) .
7 Return to Design view. Delete the Revenue (AttributesOn) metric and replace it with the Revenue (AttributesOff) metric. Execute the report. The results are displayed below:
8 Why has the revenue increased substantially? Change toSQL view to check the Where clause:
where a11.[CALL_CTR_ID] = a12.[CALL_CTR_ID]and a12.[REGION_ID] = a13.[REGION_ID]and a11.[CALL_CTR_ID] in (2, 4)
With the Add attributes setting turned off, only those
attributes in the metric filter which are on the template orin the metric level are included in the metric calculation.In this report, only Call Center, as shown in bold above,meets those requirements, since it is on the template.Because the metric conditions of Category = Book andMonth = January - March ‘00 are excluded, the revenue iscalculated for all categories and all time, increasing therevenue amount dramatically.
In the previous examples, the metric level has notchanged from the default of report level, so it does not
really affect the Add attributes setting. The nextexample adds a metric level.
9 Save the report as CA Revenue (Attributes Off) .
10 Copy the Revenue (Attributes Off) metric, renaming itYearly Revenue (Attributes Off) . Edit the metric to add Year to the metric level.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 181/489
Advanced Reporting Guide Metrics 4
© 2003 MicroStrategy, Inc. Definition of simple metrics 151
11 Copy the CA Revenue (Attributes Off) report, renaming itYearly CA Revenue (Attributes Off) .
12 Edit the new report. Delete the Revenue (Attributes Off)metric and replace it with the Yearly Revenue (AttributesOff) metric. Execute the report. The results are displayed below:
13 The revenue amount has changed again. Check the Whereclause in the SQL view to discover why:
where a11.[DAY_DATE] = a12.[DAY_DATE] anda11.[CALL_CTR_ID] = a13.[CALL_CTR_ID] anda13.[REGION_ID] = a14.[REGION_ID]
and(a11.[CALL_CTR_ID] in (2, 4)and a12.[MONTH_ID] in (200001, 200002,
200003))
14 Now the metric calculation includes Call Center because itis defined on the template and Month because it is in the
same hierarchy as Year, which is the metric level.Category is not included, since it is neither on thetemplate or in the metric level. The metric calculatesrevenue in all categories for the California stores for thefirst quarter of 2000.
Condition
Metric conditionality applies a filter to the metric calculation. You can think of conditionality as attaching a filter to eachmetric. For example, a report shows revenue by region anduses the revenue metric. Revenue for all years is included onthe report. If you associate a 2001 filter to the revenue metricand re-execute the report, the report displays data for 2001only.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 182/489
Metrics Advanced Reporting Guide4
152 Definition of simple metrics © 2003 MicroStrategy, Inc.
Only metrics with an aggregate operator in theformula can use conditionality. Only one filter can beassociated with a simple metric, although that filtercan contain as many filtering conditions as needed.
To create a report that compares the monthly sales toJanuary sales, define the following metrics:
• Revenue (report level)
Sum(Revenue) {~}
• January Revenue (level of Month of Year, standardfiltering, no grouping; condition of January)
Avg(Revenue) {~, [Month of Year]} <January>
• Monthly Revenue (level of Month, standard filtering,standard grouping)
Sum(Revenue) {Month}
• Variance from January
([Monthly Revenue] - [January Revenue])
Place these metrics on a report with Month to achieve thefollowing report:
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 183/489
Advanced Reporting Guide Metrics 4
© 2003 MicroStrategy, Inc. Definition of simple metrics 153
Advanced options for metric conditionality
The process of merging the report and metric filters isaccomplished by embedding one filter in the other or byembedding both filters in a new, empty filter. The Advanced
options for conditionality allow you to select how the reportfilter and metric filter interact, as described below:
• Merge report filter into metric : is the default setting. Thereport filter criteria is applied to the data first. Then themetric filter is applied to the results of the first evaluation.
• Merge metric condition into report : evaluates themetric filter first, then applies the report filter to thoseresults.
• Merge into new : intersects the metric and report filter.
These options are relevant only if at least one filter isdynamic, meaning that the filter results depend on when it isexecuted. For example, filtering on “country=US ” alwaysyields the same results. However, filtering on “country whererevenue is greater than $1000 ” can return different results ifthe data is for 2000 only, 2001 only, or both years combined.
For example, you want to identify the bottom ten items interms of revenue but you have placed an additionalqualification on this: only those items where sales are greaterthan $30. You can solve this problem using the embeddingoptions of metric conditionality.
The first qualification, the bottom ten items in terms ofrevenue, is contained within the metric, and the second,items with a value greater than $30, is in the report filter. Bychanging the embedding methods to control the interactionof these two filters, you alter the outcome.
• Merge into New : Merge into New intersects the metricfilter and the report filter. In the example above, the result
set includes only those items that were in the bottom 10 interms of sales and had sales greater than $30. The reportreturns 10 rows of data.
• Merge Report Filter into Metric : This is the defaultsetting. First, the report filter criterion is fulfilled andthen the metric filter is applied to that result set. With thisoption chosen, first all the items having sales greater than
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 184/489
Metrics Advanced Reporting Guide4
154 Definition of simple metrics © 2003 MicroStrategy, Inc.
$30 are found. Of these items, the bottom 10 sales aredetermined, so the report returns 10 rows again, althoughthe data is different.
• Merge Metric Filter into Report : In this case, the metricfilter is evaluated first, and based on this result set, thereport filter is applied. That is, the bottom 10 sales aredetermined and then only those items with sales greaterthan $30 are returned on the report. The number of rowson the report will probably be less than 10, since someitems from the first will probably
The Remove related report filter elements check box alsoinfluences the interaction between the metric filter and thereport filter. When it is selected, if the report filter contains aqualification based on an attribute related to an attribute inthe metric filter qualification, the metric filter qualificationtakes precedence.
For example, the metric filter is set to New York only and thereport filter to all western regions. The metric filteroverwrites the report filter, so only New York is included inthe report. If the check box is cleared, the results are theintersection of the filters. In this case, New York and Westexclude each other, so the combined filter is empty.
By default, this option is selected since metric filtersignore report conditionality by default.
You can remember the difference between the advancedoptions available under the Level and the Conditioncomponents of a metric by remembering the following:
• The Add attributes in the filter to the level optiondetermines whether the metric filter is applied to themetric calculation.
• The Remove related report filter elements setting defineswhether the report filter is applied to the metric
calculation.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 185/489
Advanced Reporting Guide Metrics 4
© 2003 MicroStrategy, Inc. Definition of compound metrics 155
Transformation
Transformations are generally used for time-series analysis,for example, to compare values at different times such as thisyear versus last year, or month-to-date. For moreinformation on transformations, see Chapter 13,Transformations .
A transformation metric is an otherwise simple metric thattakes the properties of the transformation applied to it. Forexample, a metric calculates total revenue. Add atransformation for last year and the metric now calculateslast year ’s total revenue.
Any transformation can be included as part of the definitionof a metric and multiple transformations can be applied tothe same metric.
Definition of compound metrics A compound metric is a combination of expressions that,through the use of functions, are themselves metrics. Theseexpressions define the data to be used and the calculations to be performed on that data. The calculations can be group ornon-group functions. The data can be facts, attributes,constants, or other metrics.
In SQL, the formula becomes the SELECT clause of the SQLcommand.
As noted in Distinguishing between simple and compoundmetrics , the most important distinction between simple andcompound metrics is that compound metrics cannot have alevel placed on the entire metric, although the level can be setseparately on each of the expressions.
A compound metric does not have to perform an additionalaggregation as does a simple metric. The two metrics caninstead be calculated individually. Those results are used tocompute the final result, as in the following diagram.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 186/489
Metrics Advanced Reporting Guide4
156 Definition of compound metrics © 2003 MicroStrategy, Inc.
For example, to calculate a profit margin, you can divide aprofit metric by a revenue metric, as shown below:
([Profit Metric]/[Revenue Metric])
Note that this compound metric does not contain any levels;all of the level information is included in the separate metrics.
Smart metrics
The smart metric property of a compound metric allows youto change the default evaluation order of the metric. Forexample, the following report contains information aboutsales. If you display totals without allowing smart metrics, thetotals are incorrect.
FactTable
IntermediateTable A
FinalResult
Aggregationfunction A
FactTable
IntermediateTable B
Aggregationfunction B
Operator
Year Total Sales Discount Sales Ratio
1998 200 50 25%
1999 100 50 50%
Total 300 100 75%
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 187/489
Advanced Reporting Guide Metrics 4
© 2003 MicroStrategy, Inc. Definition of compound metrics 157
The Ratio column is summed to achieve the total shown. Tocalculate the correct answer, the total should be based on thetotals in the other Total Sales and Discount Sales columnsinstead. Once smart metrics are allowed, the report looks likethe following:
In short, smart metrics allow you to change the defaultevaluation order of a compound metric. Smart metricscalculate subtotals on the individual elements of thecompound metric. For example, a smart metric uses theformula Sum(Metric1)/Sum(Metric2) rather thanSum(Metric1/Metric2) .
To toggle smart metrics on and off, use the check box at the bottom of the Subtotals/Aggregation tab in the Metric Editor.
In the past, contribution metrics could not be smart metricsor totals would not work. For example, in the followingMicroStrategy 7.1 report, the total for Contribution toQuarter would be as 25% if smart totals were turned on. Thisnumber would be calculated as the sum of all the quarterlycontributions (100) divided by the sum of all the monthlycontributions (400). If smart totals were turned off, the totalwould be correct at 100%.
Year Total Sales Discount Sales Ratio
1998 200 50 25%
1999 100 50 50%
Total 300 100 33.3%
Month Items Sold Contribution toMonth
Contribution toQuarter
January 30 100% 30%
February 50 100% 50%
March 20 100% 20%
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 188/489
Metrics Advanced Reporting Guide4
158 Definition of compound metrics © 2003 MicroStrategy, Inc.
MicroStrategy 7 i now offers dimensionally-aware subtotals,so the right answer is provided regardless of the smart metricsetting. The only limitation for dimensional smart metrics isthat subtotal values cannot be aggregated to a level higherthan the metric itself, as illustrated below. The Items Soldand Contribution metrics cannot be rolled up to the yearlevel. Turn off smart metrics in this case to achieve theseresults.
Evaluation order
The order in which data is calculated has a bearing on theresults to be displayed. By using evaluation order settings,you can control the order in which consolidations, smartmetrics, report limits, and subtotals are calculated andresolved for a given report. It is important to think aboutevaluation order when creating compound metrics. For moreinformation on evaluation order, see Chapter 2, Reports .
Month Items Sold Contribution toQuarter
January 30 30%
February 50 50%
March 20 20%
Quarter Subtotal 100 100%
Year Subtotal -------- ---------
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 189/489
Advanced Reporting Guide Metrics 4
© 2003 MicroStrategy, Inc. Metric aggregation and subtotals 159
Metric aggregation and subtotals Aggregation and subtotals allow you to control how metricsare further computed or rolled up. The functions that are
used for both types of operations are shown below.
These functions reflect only those most frequently used forfurther aggregation of metrics or for evaluating metricsubtotals. The Analytical Engine also can handle a largenumber of statistical, mathematical, financial, date-and-time,string, and OLAP functions, from simple to highly complex.To reach these functions, use the Object Browser, and selectFunctions and Operators.
Aggregation type Description
Count Count [count] number ofinput values
Average Avg [average] sum ofinput values divided bynumber of input values
Minimum Min[minimum] smallestinput value
Maximum Max [maximum] largestinput value
Product Product [product] allinput values multipliedtogether
Median Median [median] middlevalue when all values aresorted
Mode Mode [mode] mostfrequently found inputvalue
Standard deviation Stdev [standarddeviation] distribution ofinput values
Variance Var [variance] square ofthe distribution of inputvalues
Geometric mean Geomean [geometricmean] square root of theproduct of input values
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 190/489
Metrics Advanced Reporting Guide4
160 Metric aggregation and subtotals © 2003 MicroStrategy, Inc.
You can also create user-defined subtotals, which allow youto develop your own subtotals, using aggregation or nestedfunctions, constants, and combinations of these objects. Formore information, see the What are user-defined subtotals? section in Chapter 2, Reports . A user-defined subtotal isindistinguishable from the standard predefined subtotalsfunctions such as total or count.
Subtotals
In the context of metrics, subtotals permit computation anddisplay of quantified data, gathered by MicroStrategy 7 i,along attribute groupings that you can specify dynamicallyfor a report. The behavior of subtotal aggregations is based onthe types of data included in the metric to which the subtotalis applied.
The subtotals function allows you to determine whichsubtotals are available for that metric. When a reportcontaining that metric is run, a user can choose which ofthese subtotals to display. You can also choose to completely block totaling on the metric.
Dynamic aggregationDynamic aggregation by the Analytical Engine occurs whenobjects are moved between the grid and the Report Objects inthe Report Editor. The metric values roll up to the new levelof the grid. Dynamic aggregation happens on the fly, inmemory. For an example of dynamic aggregation, see the Dynamic aggregation section in Chapter 2, Reports .
The dynamic aggregation setting allows you to specify what
function to use when the Analytical Engine aggregates themetric. The default setting allows the Analytical Engine tochoose the function for dynamic aggregation.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 191/489
Advanced Reporting Guide Metrics 4
© 2003 MicroStrategy, Inc. Join specification 161
The ability to roll up data in memory is useful for quick reportinteraction and analysis. However, not all metrics can berolled up with an additional aggregation function. Instead, ifthe data is required at the higher level, it first must berecalculated from the detail data available only in the datawarehouse. For example, a metric is defined as Avg(Revenue){~+} with dynamic aggregation set to default.When an attribute is removed from a report containing thismetric, the revenue average values are replaced with dashes,signifying that the metric cannot be calculated at this level.For more information, see Exceptions to dynamicaggregation in Chapter 2, Reports .
Join specificationSetting a join specification allows you to place conditions onthe data selected for display in a report. You can apply aninner or outer join, which are described in more detail below.In short, an inner join includes only the data common to allthe elements in the join, whether tables or metrics. An outer join includes all of the data in all of the elements. You can set joins at the metric and report levels:
• metric: how the metric is joined to other metrics
• report: how metrics are joined together in the report;overrides metric join settings for that report only
Setting the metric join type at the report level (that is, usingthe Report Data Options menu option in the Report Editor)affects only the results for the report being modified. To setthe join type globally, specify it at the metric level, using theMetric Join Type option on the Tools menu of the MetricEditor. A metric join type that is set globally affects theresults for all reports using that metric.
For compound metrics, you can also set the join type at theformula level. This controls how the expressions or metricswithin the compound metric are joined.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 192/489
Metrics Advanced Reporting Guide4
162 Join specification © 2003 MicroStrategy, Inc.
Inner joins versus outer joins
In short, an inner join includes only data that is commonacross all component of the join. An outer join includes datathat applies to all components. The following examplesexplain this in more detail.
By default, inner joins are generated against all metrics in areport. The resulting report contains only those rows thathave data returned for all the metrics. For example, reviewthe data in the following table.
A report is created containing Sales and Budget metrics byregion. The default inner join is not changed. Since the Northregion does not have any budget data, it is not displayed onthe report. Similarly, sales data has not been tracked for theWest, so it is also omitted from the report. The resultingreport, with an inner join between metrics, displays onlythose regions that have both sales and budget information. Itlooks like the following.
Region Sales Information? Budget Information?
North Yes No
South Yes Yes
East Yes Yes
West No Yes
Region Sales Budget
South 200 500
East 100 400
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 193/489
Advanced Reporting Guide Metrics 4
© 2003 MicroStrategy, Inc. Join specification 163
However, you may want to display all of the rows in thereport, whether data exists for all the metrics in the report. An outer join on both metrics results in the following report,where North and West are listed even though they have nodata for one of the metrics.
Finally, you can specify different joins for each of the metrics
on a report. If the Sales metric is defined with an outer joinand the Budget metric with an inner join, only those rowswith information in sales are displayed. The following reportis created.
West is not displayed because it does not contain salesinformation. It is irrelevant if data exists for the Budgetmetric.
Region Sales Budget
North 100
South 200 500
East 100 400
West 300
Region Sales Budget
North 100
South 200 500
East 100 400
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 194/489
Metrics Advanced Reporting Guide4
164 Join specification © 2003 MicroStrategy, Inc.
Formula join type for compound metrics
A compound metric contains multiple expressions or metrics. You can define how these elements are joined, using theMetric Formula dialog box. This dialog box is accessed fromthe Advanced Settings option in the Metric Editor Toolsmenu. The join types for a metric base formula are as follows:
• A default join is a join that is defined in each element.
• An inner join includes only data that is common across allelements.
• An outer join includes data that apply to every metric in areport.
Joins between metrics
Setting the metric join type allows you to define the defaultaction for joining the metric to other metrics. This setting isavailable from the Metric Join Type option in the MetricEditor Tools menu. The metric join types are as follows:
• Default uses the default value.
• Inner includes only information contained by all theelements.
• Outer keeps all the information in all the elements.
The Metric Join Type option is a shortcut to the MetricJoin Type VLDB property located under AdvancedOptions in the same menu.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 195/489
Advanced Reporting Guide Metrics 4
© 2003 MicroStrategy, Inc. Metric-specific VLDB properties 165
Metric-specific VLDB propertiesThere are other VLDB properties besides joins that affectmetrics. VLDB properties allow MicroStrategy products to
exploit the unique optimizations offered by differentdatabases. These settings affect how MicroStrategyIntelligence Server manages joins, metric calculations, andquery optimizations, among others. VLDB properties areavailable at multiple levels, so that SQL generated for onereport can be manipulated separately from the SQLgenerated for a different report. The hierarchy, or order ofprecedence, for VLDB properties is outlined in the followingfigure:
The arrows depict the override authority of the levels, withthe report level having the greatest authority. For example, ifa VLDB property is set one way for a report, and the sameproperty is set differently for a metric included on the report,the report property takes precedence.
Report Level(Highest Priority)
Template
Metric Project
Database Instance
DBMS(Most General)
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 196/489
Metrics Advanced Reporting Guide4
166 Metric-specific VLDB properties © 2003 MicroStrategy, Inc.
Although there are ten VLDB properties that pertainspecifically to metrics, there are only six metric VLDBproperties available at the individual metric level. You can setadditional metric VLDB properties at other levels, such as thereport and project levels. Refer to the MicroStrategy System Administration Guide for a detailed description of theseproperties.
Metric-specific VLDB properties that can be set at the metriclevel include
• Integer Constant in Metric
• Metric Join Type
• Null Check
• Zero Check
• Null Checking for Analytical Engine
• Subtotal Dimensionality Aware
To set these properties, select Advanced Settings from theTools menu in the Metric Editor. Then choose VLDBProperties to access the VLDB Properties (Metric) dialog box.The last two settings in the list above are contained under the Analytical Engine folder, while the others are found in theMetrics folder.
Metric VLDB properties
Integer Constant in Metric
This setting determines whether to add a “.0 ” after theinteger. The options for this property are as follows:
• Add “.0 ” to integer constants in metric expressions.
• Do not add “.0 ” to integer constants in metric expressions.
• Use the default inherited value.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 197/489
Advanced Reporting Guide Metrics 4
© 2003 MicroStrategy, Inc. Metric-specific VLDB properties 167
Metric Join Type
This property sets the type of join used in the metric. Theoptions are
• Inner join, which includes only data that is commonacross all elements
• Outer join, which includes data that apply to every metricin a report
• The default inherited value
For more information on join types, see Join specification .
Null CheckThe Null Check property indicates how to handle arithmeticoperations with NULL values. The options for this propertyare as follows:
• Do nothing, which means that the database rather thanthe Analytical Engine handles division by a NULL value.
• Check in all queries.
• Check in temporary table join only.
• Use the default inherited value, from the DBMS level.
Zero Check
The Zero Check property indicates how to handle division byzero or when to check for zeros in the denominator duringdivision operations. The options for this property are asfollows:
• Do nothing, which means that the database rather thanthe Analytical Engine handles division by a zero.
• Check in all queries.
• Check in temporary table join only.
• Use the default inherited value, from the DBMS level.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 198/489
Metrics Advanced Reporting Guide4
168 Metric-specific VLDB properties © 2003 MicroStrategy, Inc.
Analytical Engine VLDB properties for metrics
Null Checking for Analytical Engine
This setting determines whether a NULL value is interpretedas zero when the Analytical Engine performs calculations.The options for this property are as follows:
• False, which means that NULL values are not altered
• True, which means the Analytical Engine converts NULLvalues to zeros
• The default inherited value
You can also set replacement text for NULLs at thereport level. For more information, see Chapter 2, Reports .
Subtotal Dimensionality Aware
The Subtotal Dimensionality Aware setting enablessubtotaling based on the dimensionality of a metric. How itworks depends on another VLDB property, Query Population
Dimensionality Aware, which handles backwardscompatibility with MicroStrategy 7.1. These settings worktogether as illustrated in the following table.
The default setting for the Subtotal Dimensionality Awareproperty is TRUE, so subtotals depend on the metric ’sdimensionality. If you must subtotal without using thedimensionality of the metric, set this property to FALSE.
If Query Population Is: Then Subtotal Is:
TRUE TRUE or FALSE
FALSE Ignored (meaning that subtotaling isnever aware of d imensionality)
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 199/489
Advanced Reporting Guide Metrics 4
© 2003 MicroStrategy, Inc. Metric-specific VLDB properties 169
The options for this property are:
• FALSE, which means that subtotals do not take intoaccount the dimensionality of the metric
• TRUE which means that subtotaling is aware of metric
dimensionality • The default inherited value
For example, the Quarterly Revenue metric is defined asSum(Revenue) Dimensionality = Quarter , and the Yearly Revenue metric is defined as Sum(Revenue)Dimensionality = Year .
If Subtotal Dimensionality Aware is set to FALSE, thequarterly subtotal is calculated as 600, that is, a total of theQuarterly Revenue values. The yearly subtotal is calculated as2400, the total of the Yearly Revenue values. This is the way
MicroStrategy 7.1 calculated the subtotal.
If Subtotal Dimensionality Aware is set to TRUE, thequarterly subtotal is still 600. MicroStrategy 7 i is aware of thedimensionality of the Yearly Revenue, so rather than simplyadding the column values, it calculates the total as 600.
Year Quarter Quarterly Revenue Yearly Revenue
1 1 100 600
1 2 200 600
1 3 100 600
1 4 200 600
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 200/489
Metrics Advanced Reporting Guide4
170 Metric column alias © 2003 MicroStrategy, Inc.
Metric column aliasColumn aliases allow you to modify the names of existingmetrics for use in temporary tables without affecting the
original column name. For example, a temporary table might be created in the SQL used to generate a report. If you aliasthe column, you can identify it easier. You can also set thedatatype and byte length in this dialog box, which is found inthe Advanced Settings option under the Tools menu of theMetric Editor.
Creating metrics You can create metrics in the Metric Editor, the ReportEditor, or the Command Manager. This chapter as a wholedescribes the concepts behind metric creation in all of thesecomponents. Appendix H, Metric Formatting and Syntax ,contains the more functional operation of the formattingoptions available in the Metric Editor. This appendix alsoincludes the metric syntax used in the Command Manager.
This section discusses metrics created on the fly in the ReportEditor, which are called derived metrics. Derived metrics
allow you to create calculations based on the data alreadyavailable on a report. A particular group of derived metrics,shortcut metrics, uses pre-built formulas.
One category of shortcut metric, the transformation metric, is not a derived metric. Unlike other shortcutmetrics, they must be calculated in SQL rather than inthe Analytical Engine.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 201/489
Advanced Reporting Guide Metrics 4
© 2003 MicroStrategy, Inc. Creating metrics 171
Derived metrics
A derived metric is developed in the context of a report,allowing you to create calculations based on the data alreadyavailable on the report. For example, a report containsRevenue and Cost metrics. To calculate profit on the fly,create a derived metric in the Report Editor with thefollowing definition:
([Revenue Metric] - [Cost Metric])
Derived metrics are always evaluated on the AnalyticalEngine. That is, a derived metric performs math betweenmetrics (column math) on report data after it has beenreturned from the data warehouse. Another distinction of aderived metric is that its definition is visible in the formula bar of the Report Editor. Formulas of non-derived metricsare not visible.
When you create a derived metric, you cannot access all of theadvanced metric functionality, such as transformations andconditions. However, you can employ levels, ordimensionality.
If you define a derived metric using a function such as sum ormaximum, you must specify the level. The default is to group by nothing, as in SUM(Metric1){} . You can list specificreport attributes, such as SUM(Metric1){Region,Employee} . You cannot use other advanced metriccapabilities. For example, you cannot add {~+} to thedefinition to calculate metrics at the lowest level on thereport.
While you can create a non-derived metric such asSUM(Fact){~+} directly in a report, it becomes anembedded metric and exists only in the context of thereport. Its definition can be edited or viewed, just aswith a regular object.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 202/489
Metrics Advanced Reporting Guide4
172 Creating metrics © 2003 MicroStrategy, Inc.
Shortcut metrics
Shortcut metrics are based on metrics already included in areport and provide a quick way to add new metrics to thereport. They are available when you right-click on a metriccolumn or metric header and are based on the selectedmetric.
Shortcut metrics belong to one of the following categories:
• percent-to-total metrics
• transformation metrics
• rank metrics
All shortcut metrics are derived metrics except for thetransformation metrics, which must be calculated in SQL. Allthe shortcut types are described in more detail below.
Percent-to-total metrics
Percent-to-total metrics display the percent, in relation to aselected total of each item affected by the metric. The totalcan be by column, by row, by page, for each value of theattribute, or the grand total. Associated calculation levels areshown in the following table.
Percent-to-Total Calculation Level of Total
Over Rows All the attributes in thecolumn and page-by axis;displays values in each row ofthe report as percents of arow total.
Over Columns All the attributes in the rowand page-by axis; displaysvalues in each column of thereport as percents of acolumn total.Note : Use only if a columncontains an attribute.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 203/489
Advanced Reporting Guide Metrics 4
© 2003 MicroStrategy, Inc. Creating metrics 173
An example of a percent-to-total metric begins with thefollowing report.
If Percent-to-Column Total is selected as the metric type, theinformation is displayed as follows.
Page Total All the attributes in the pageaxis; displays all values on apage as percents of thatpage ’s total.
Note : This calculation is onlyapplicable to reports with aPage-by function.
Grand Total No level specified.Aggregates across all thedata in the report; displays allvalues in a report as percentsof the grand total for thatreport.
Total for Each The selected attributes;displays all values pertaining
to a given attribute elementas percents of the totalaccumulated for that attributeelement.
Percent-to-Total Calculation Level of Total
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 204/489
Metrics Advanced Reporting Guide4
174 Creating metrics © 2003 MicroStrategy, Inc.
The following conditions apply to percent-to-total metrics.
• Row and column percent totals refer to the uppermostand extreme-left positions, respectively.
• Page percent totals affect all attributes on a page.
• “Percent to All -> A1 ”, where A1 is an attribute, indicatesthat the calculation is performed across all elements ofthat attribute. An example is percent-to-all stores.
• If a report does not contain attributes at a givenpercent-to-total level, the level is unavailable for thatreport.
• In some cases, two or more percent-to-total calculationsat different logical levels yield the same result. Forexample, Percent-to-Page Total data can be the same asPercent-to-Grand Total data in a single-page report.
• The level of a percent-to-total metric remains constantonce the metric has been calculated; subsequentmanipulation does not affect it.
Transformation metrics
Transformation metrics apply offset values, such as “four
months ago, ” to the selected attribute. For the MicroStrategyTutorial, the offset values for the shortcuts are
• two weeks ago
• last month
• month to date
• last year
• previous
• last quarter
These transformations are included as examples in theTutorial. In your project, the options are thetransformations that have been created for the project.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 205/489
Advanced Reporting Guide Metrics 4
© 2003 MicroStrategy, Inc. Useful functions 175
For each of these values, you can select what to calculate:
• normal to show unit figures for both the current valuesand the corresponding ones for the interval selected
• variance to display the difference between the current
values and the corresponding ones for the intervalselected, for example, Revenue - (Last Year ’s (Revenue))
• variance percentage to calculate the difference, expressedas a percentage, between the current values and thecorresponding ones for the interval selected, for example,Revenue - (Last Year ’s (Revenue))/(Last Year ’s(Revenue))
Rank metrics
Rank metrics apply a ranking number to the metric values fora given attribute. When selected, this shortcut metricprovides break-by options for each attribute on the report.
By default, the rank derived metric performs an ascendingsort. To change it to descending, edit the metric and replace<ASC=True> with <ASC=False> .
Using a transformation metric affects the results of allsubsequent executions of the report.
For more information on the rank function, see Useful functions .
Useful functionsSome useful functions to use in metrics include
• rank
• count
• running and moving sums and averages (or OLAPfunctions)
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 206/489
Metrics Advanced Reporting Guide4
176 Useful functions © 2003 MicroStrategy, Inc.
• N-tile
• first and last
All of the above except count and first/last arenon-group functions.
Rank
In rank functions, you specify the metric to be ranked andwhether to rank in ascending or descending order. You canalso specify whether to break by an attribute.
The level of the rank depends on the level in the report. Forexample, the following metric combined with customer on areport shows the highest revenue customer as number one.
Rank (Revenue) <Ascending+False>
Adding a parameter to break by year displays the customergenerating the highest revenue in each year as number one.
Count
The count function is usually used with an attribute, althougha fact can also be counted. You can specify whether to countfrom a fact or a lookup table and whether to count distinctoccurrences of the target.
For example, a metric can count the number of customers ina specified region, based on the lookup table. Another metriccalculates the number of customers who generated revenuein a particular month. This calculation is based on a fact tablecontaining the revenue fact.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 207/489
Advanced Reporting Guide Metrics 4
© 2003 MicroStrategy, Inc. Useful functions 177
Running and moving sums and averages
These functions include
• moving average
• moving sum
• running average
• running sum
All these functions are similar and are called OLAP functionsin the Metric Editor. The running sum function uses a metricas input and calculates a cumulative total of values based on asort order specified in the metric definition. The sort order isnot based on the report level. For example, a report with
dates, revenue, and month-to-date revenue is needed. Themonth-to-date revenue is defined asRunningSum(Revenue) <Sort Ascending by Date> .
For input, the moving sum and average require a metric and awindow size, that is, a date range.
N-tile
The N-tile function, which is also referred to as segmentation,sets up numbers of groups, or tiles, for a metric. Examples ofrequired parameters are the number of groups and whetherthey should be sorted in ascending or descending order.
An example of an N-tile function in use is displaying whatitems are in the top 25% of sales, the next 25%, and so on. Usethe N-tile function with the Revenue metric. Because theresults are in quartiles (four groups of 25 each), the numberof tiles is four.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 208/489
Metrics Advanced Reporting Guide4
178 Useful functions © 2003 MicroStrategy, Inc.
First and Last
The First and Last functions provide the ability to use sort-byinside aggregation functions, that is, functions where thevalue depends on the sort order. First returns the First valuein a sorted set of values, while Last returns the last value. Youcan define the sort attributes in the function parameters.
For example, an inventory report lists the on-hand supply foreach day. The report subtotals are the last day ’s inventory.Creating a user-defined subtotal that uses the Last functionprovides the needed last day inventory subtotal. If the sortparameters of the function are not set to sort by Day, thefunction may not provide the correct answer.
For a sample scenario using the First function, seeUser-defined subtotal example (First function) in Chapter 2, Reports . For more details on the functions themselves, seethe MicroStrategy Analytical Engine Functions Reference .
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 209/489
© 2003 MicroStrategy, Inc. 179
CUSTOM GROUPS AND CONSOLIDATIONS
Introduction
A custom group is a set of special filters that can be placed ona template. It is made up of an ordered collection of elementscalled custom group elements. Consolidations are used tospecify the data you want to view in your report. They allowyou to group attribute elements in new ways withoutchanging the metadata and warehouse definitions. Both ofthese features allow you to qualify a report on a row-by-row basis.
This chapter describes the significance of custom groups andconsolidations. It will build on the topics of filters, attributes,and attribute elements.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 210/489
Custom Groups and Consolidations Advanced Reporting Guide5
180 Custom groups © 2003 MicroStrategy, Inc.
Custom groups A custom group is an object that can be placed on a templateand is made up of a collection of elements called custom
group elements. Each element contains its own set of filteringor banding qualifications.
Each custom group element can be labeled with a meaningfulheader and can include a logical expression containing any ofthe following:
• attribute qualification
• set qualification
• report object
• filter object
• custom group banding qualifications
A custom group element can also use combinations ofany of the components listed above, except customgroup banding qualifications.
This set of qualifications resolves into a list of attributeelements after the report is run. Custom groups, therefore,provide a way to group attribute elements from the same ordifferent attributes to meet your reporting requirements.
For example, using the Custom Group Editor, you can createthe custom group Store Inventory as follows:
Store Inventory
Small stores with low inventory
Store Sales < 50AND
Store Inventory < 200Large stores with low inventory
Store Sales > 50ANDStore Inventory < 200
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 211/489
Advanced Reporting Guide Custom Groups and Consolidations 5
© 2003 MicroStrategy, Inc. Benefits of using a custom group 181
Depending on the options you select in the Custom GroupEditor , the custom group could appear on the report asshown below.
The output level of a custom group (in this example, Store) is based on the filtering conditions of the element. Eachelement in the custom group can have a different outputlevel. For example, elements are completely independent.The fact that they are included in the same custom groupmeans only that they are displayed on the same report.
Benefits of using a custom groupThe benefit of a custom group is its ability to group attributeelements in a way that is not defined in the data warehouse. You can create “relationships ” between the attribute and thecustom group. A custom group can organize attributeelements through:
• attribute qualification
• set qualification
• report
• filter
Custom groupelement headers
Sales
Small stores withlow inventory
store "t"
store "a"
store "x"
Large stores withlow inventory
38
98
258
16
22
store "m" 160
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 212/489
Custom Groups and Consolidations Advanced Reporting Guide5
182 Benefits of using a custom group © 2003 MicroStrategy, Inc.
• banding
• advanced qualification
Refer to Chapter 3, Filters , for more information on thesequalification types.
Currently, a report limit defined on a custom groupreport is ignored.
Banding qualification
Banding qualifiers enable you to create banding customgroup elements. Banding is a way of slicing a list, defined bythe output level, of attribute elements using the values of a
metric. For example, you can slice the list of stores ( “Store ” attribute elements) using the values of the metric “TotalSales. ” Suppose you have created a report that ranks storesaccording to the revenue generated by each. You might wishto group the stores by creating one group for the top 10stores, a second group for stores 11-20, and another for21-30.
Different types of banding can be applied:
• Band size : slices the range of metric values defined by
“start at ” and “stop at ” values into a number of bands,each defined by the parameter “step size. ”
For example, in the following diagram the “start at ” valueis 10, “stop at ” is 50, and “step size ” is 10. The group istherefore sliced into four bands.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 213/489
Advanced Reporting Guide Custom Groups and Consolidations 5
© 2003 MicroStrategy, Inc. Benefits of using a custom group 183
• Band count : defines the number of equal bands intowhich the range of metric values is sliced, whereas bandsize defines the size of each band.
For example, in the preceding diagram, the band count isset to four, which has the same effect as the band sizeexample. If the band count was set to five instead, eight bands would be produced.
• Banding points : specify the value where a band is placed,enabling bands of different sizes to be produced.
Creating a report with two bands, the first band showing thetop 10 stores and the second band showing stores 11-100, can be done by using banding points. To create two bands, youmust create three points.
Step Size =10
Start At Stop At
Band Count = 4
10 20 30 40 50
Result:
Banding Points = 1,10,100
1 10 100
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 214/489
Custom Groups and Consolidations Advanced Reporting Guide5
184 Custom group elements © 2003 MicroStrategy, Inc.
Custom group elements A custom group element is a logical expression ofqualifications. A custom group element contains:
• A name or header —This is an arbitrary name you definewhen you create the element. This name can be displayedon the report and can be modified as desired. Because thecustom group element can appear on the report, choose asignificant name for the grouping of elements that you aredefining.
• An expression or qualification — You can define anyqualification, logical expression, or banding of thequalification, or you can use previously created filters to build the custom group element.
For example, you can create the custom group StoreInventory as follows:
Store Inventory
Small stores with low inventory
Store Sales < 50ANDStore Inventory < 200
Large stores with low inventory Store Sales > 50ANDStore Inventory < 200
The custom group elements in this example are:
Small stores with low inventory, which is a logical expressionof the following two metric qualifications (MQs):
Store Sales < 50 (MQ1)
AND (logical operator)Store Inventory < 200 (MQ2)
and Large stores with low inventory, which is a logicalexpression of the following two metric qualifications:
Stores Sales > 50 (MQ1)AND (logical operator)Store Inventory < 200 (MQ2)
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 215/489
Advanced Reporting Guide Custom Groups and Consolidations 5
© 2003 MicroStrategy, Inc. Custom group elements 185
Custom group element headers
A custom group is composed of one or more custom groupelements and custom group element headers. For eachindividual grouping of custom group elements, there is acorresponding header. The header is used as an identifier onthe report row or column. The Custom Group Editor providesyou with different options for displaying the header.
Custom group options
Custom groups give a natural hierarchical structure to theirelements. Each custom group element can be viewed as a set
of smaller grouping elements, which can be repeatedly broken down until the actual items are reached. For example,in a Ranking custom group, the top-level element is Sales,which can be separated into the bands of Top Cities, AverageCities, and Bottom Cities. Each band can be further dividedinto elements such as San Diego and Berlin. By default, onlythe element names are displayed on the report, as shown inthe following sample.
If you change the display option of the custom group elementin the Custom Group Editor, this division can be displayed inmore detail. For example, the following is the same reportwith the element names and individual items displayed.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 216/489
Custom Groups and Consolidations Advanced Reporting Guide5
186 Custom group elements © 2003 MicroStrategy, Inc.
While hierarchical display is similar to drilling on a report,drilling requires additional executions of the report.However, drilling allows you to manipulate a report on thefly.
To view custom groups in a hierarchical structure on a report,you must
• expand the item display of at least one custom groupelement
• enable hierarchical display for the custom group
• display the hierarchical view in the report
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 217/489
Advanced Reporting Guide Custom Groups and Consolidations 5
© 2003 MicroStrategy, Inc. Custom group elements 187
These tasks are completed at different levels and in differentinterfaces, as described in the following table.
For detailed instructions on setting the various options, seethe online help.
Level Target Interface Settings
Element Individual custom
group element
Display Options in
Custom Group Editor
Display
• only the element names• only the individual items within this
element• the element names, individual items, and
expand the items if possible• the individual items and expand them if
possibleNote : The last option is available only forbanding.
Customgroup
All elements of acustom group
Options in CustomGroup Editor
• Enable hierarchical display• Enable subtotals• Position of element headers
Report All custom groupson a report
Report Data Optionsin Report Editor
• Display custom groups in hierarchical orflat view
Individual customgroups
Report Data Optionsin Report Editor
• Enable subtotals
Project All custom groupsin a project
My Preferences inDesktop
• Show advanced qualification in CustomGroup Editor
• Show all prompt buttons in Custom GroupEditor
• Show tip boxes in Custom Group Editor• Trim leading spaces
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 218/489
Custom Groups and Consolidations Advanced Reporting Guide5
188 Custom group elements © 2003 MicroStrategy, Inc.
Sorting custom groups
A custom group is a convenient way to group at the displaylevel, so by default, custom groups are not sorted on reports. You can sort a custom group in either of the following ways:
• Sort on the IDs of the attributes that compose thecustom group.
• Inherit the attribute sort , which uses the default sort ofthe attribute set to display first. The display order is set inthe Report display forms list on the Attribute Editordisplay tab. The default sort for each form is determinedin the New Attribute Form dialog box.
For example, a custom group uses the Call Center attribute,
which has both a numeric ID and a description. Thedescription is set to display on reports, and its default sort isDescending. If Inherit the attribute sort is used, the customgroup is sorted in reverse alphabetical order by thedescription, as shown below:
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 219/489
Advanced Reporting Guide Custom Groups and Consolidations 5
© 2003 MicroStrategy, Inc. Custom group elements 189
If ID sort is used, the custom group is sorted by the numericID of the attribute, as shown below:
Sorting by metric values of items
You can use the Keep Group Structure option to sort by themetric values of the items in each custom group element. Forexample, the Areas custom group used above is set to display
the individual items within its elements. It is placed on areport with the Revenue metric. Before sorting, the reportdisplays as shown below:
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 220/489
Custom Groups and Consolidations Advanced Reporting Guide5
190 Custom groups and SQL © 2003 MicroStrategy, Inc.
To sort each Call Center (item) within each area (element),add the custom group as a sort and do change the Criteriafrom Keep Group Structure. Add the metric as a second sort.The report now displays the Call Centers in order of theirRevenue values, within each element:
Custom groups and SQLCustom groups can also be viewed as many different reports just “stacked up ” together. The SQL for a report with acustom group is likely to be very complex. Each of theindividual “mini-reports ” that make up the entire customgroup report will have at least one, perhaps more SQL passesof its own. The Analytical Engine stacks up all these“mini-reports ” to create the final results. In addition,numerous temporary tables may be created and dropped tohold intermediate data.
Therefore, running a report with a custom group is equivalentto running many different reports and putting them together. As a result, custom groups are SQL-intensive in the sensethat they are likely to generate many passes of SQL to thedatabase.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 221/489
Advanced Reporting Guide Custom Groups and Consolidations 5
© 2003 MicroStrategy, Inc. Example: custom groups 191
Example: custom groups
Report requirements
After completing an inventory report for the past six months,you notice that you have an excess of certain items in yourwarehouse. As a special promotion, you would like to offeryour best customers these items at discounted prices. To dothis, you need to obtain a list of your top ten customers alongwith a list of your five lowest selling items on the same report.
How could you accomplish this?
Solution
You are really asking for two different reports: the top tencustomers and the five lowest selling inventory items. Youcan create a custom group with the following custom groupelements:
• top ten customers
• five lowest selling items
Each element will have a different qualification applied to it.In this case, the first element is ranked by dollar sales. Thesecond element is the bottom five items by dollar sales. Youcan place this custom group on a report and run it with theempty filter, which ranks by dollar sales.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 222/489
Custom Groups and Consolidations Advanced Reporting Guide5
192 Consolidations © 2003 MicroStrategy, Inc.
ConsolidationsConsolidations enable you to group and pick specificattribute elements together and allow you to place this
grouping of attribute elements on a template just like anattribute. The elements of the consolidation appear as rowson your report, and they can have arithmetic calculations.
For example, suppose you wanted to see each season as aseparate row on a report, but Season does not exist as anattribute in your project. A consolidation allows you to grouptogether the elements of the Month of Year attribute intovarious seasons and place them on the template. Thisconsolidation will contain four consolidation elements, onefor each season.
Summer consists of June + July + August, fall consists ofSeptember+ October + November, and so on. Theconsolidation is placed in the rows of your report with thedesired metrics in the columns. Therefore when the report isrun, the metric values for June, July and August will be addedtogether to yield the value for Summer. This will occur foreach one of the seasons.
In general, consolidations provide two powerful functionsthat enhance your reporting needs. These two functions are
• create a “virtual ” attribute
• perform row level math
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 223/489
Advanced Reporting Guide Custom Groups and Consolidations 5
© 2003 MicroStrategy, Inc. Consolidations 193
Create a “virtual” attribute
In the above example of the Seasons consolidation, the fourdifferent season consolidation elements are made up byadding together the respective Months of Year that belong tothe different seasons. The fact that you can add togetherattribute elements in groups means that you can aggregatedata on a report at a level other than one of the predefinedattributes. The effect appears as if you had a Seasonsattribute in your data model, as shown below.
Of course, you can get the same effect if you change your datamodel, and actually add a Seasons attribute to your Timehierarchy. However, adding an attribute is generally a verycomplex task because you have to ensure that the properlookup and relationship tables exist in the warehouse.Consolidations allow you to avoid changing the data model,albeit in a limited way.
Perform row level math
The Seasons consolidation in our example is built by addingtogether respective Months of Year in the different seasons.But you are not limited to just adding. In fact you can
perform any simple arithmetic operation while building yourconsolidation. Consolidations allow mathematical operations between elements or element groups. That is, you can doother arithmetic operations such as multiplication, division,and subtraction. You can even use constants while specifyingyour operation.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 224/489
Custom Groups and Consolidations Advanced Reporting Guide5
194 Consolidation elements © 2003 MicroStrategy, Inc.
This feature makes consolidations a powerful tool inreporting. It allows you to specify row level math for a report.That is, it allows you to have a row in a report that is specified by a mathematical operation.
For example, you have the following data in your warehouse.
Consolidations allow you to create a report showing thedifference between the sales of the top two months in spring.To do so, you create a consolidation with one consolidationelement (March-April). The formula is:
[Month of Year=March] - [Month of Year=April]
The result is the following:
Consolidation elementsConsolidation elements are attribute elements that define theconsolidation. Consolidation elements can also be anexpression of attribute elements that make up aconsolidation. They can be defined from any of the following:
• elements of the same attribute, such as two cities
• attribute elements from different levels, such as Regionand Calling Center
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 225/489
Advanced Reporting Guide Custom Groups and Consolidations 5
© 2003 MicroStrategy, Inc. Consolidation elements 195
• elements from unrelated attributes, such as Country and Year
• existing consolidation elements, such as the ratio ofSpring and Summer sales to Fall and Winter sales
Elements of the same attribute
A consolidation can contain elements of the same attribute,such as (March) and (April), both elements of the attributeMonth of Year. Referring back to the previous example,consolidation elements allow you to expand the consolidationto see the values for each month. For example, usingelements of the same attribute, you can modify the report
result set as follows by adding the following three elements tothe consolidation:
• Element 1 (March)
Month of Year=March
• Element 2 (April)
Month of Year=April
• Element 3 (March-April)
{March}-{April}
With the use of consolidation elements, the report can nowdisplay the following.
A consolidation can contain any expression on the pairs ofelements, such as (March - April). Using another example, anelement expression can also be [DC, 1997] / [DC, 1998].
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 226/489
Custom Groups and Consolidations Advanced Reporting Guide5
196 Consolidation elements © 2003 MicroStrategy, Inc.
Elements from different levels
A consolidation can contain elements from different levelswithin the same hierarchy, such as Item and Subcategoryfrom the Products hierarchy. For example, you may want tocompare the contribution of different items to theSubcategory sales. Your consolidation, for the itemsChocolate Roses and Chocolate Spoons, looks like:
• Element 1 (Roses percent)
[{Item=Chocolate Roses} / {Subcategory=Chocolate}]
• Element 2 (Spoons percent)
[{Item=Chocolate Spoons} /{Subcategory=Chocolate}]
With the use of consolidation elements, the report displaysthe following.
Elements from unrelated attributes
A consolidation element can contain elements from differentattributes. For example, you can calculate the difference between two different regions for a particular month. For themonths March and April the consolidation could contain thefollowing elements:
• Element 1 (March Southeast - Southwest)
[Month of Year=March AND Region=South-East]- [Month of Year=March ANDRegion=South-West]
• Element 2 (April Southeast - Southwest)
[Month of Year=April AND Region=South-East]- [Month of Year=April ANDRegion=South-West]
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 227/489
Advanced Reporting Guide Custom Groups and Consolidations 5
© 2003 MicroStrategy, Inc. Evaluation order 197
The report now appears as follows:
Existing elements
You can import consolidation elements from an existingconsolidation. When a consolidation element is imported, anew consolidation element is created and embedded into theconsolidation.
Evaluation orderIf you want to place two or more consolidations on a report,the order the engine evaluates them is significant and canchange your result set. If one of the consolidations involvesmultiplication or division and the other involves addition orsubtraction, which consolidation is calculated first matters.When performing a mathematical calculation, the product ofa sum is not always equal to the sum of the product.
For example, a report contains the Dollar Sales metric andtwo consolidations. One consolidation is Seasons, asdiscussed in the previous examples. The other is called Yearsand is composed of three elements: 1997, 1998, and1997/1998. The row for Spring 1997/1998 can be calculatedeither as (March 1997 + April 1997 + May 1997) / (March1998 + April 1998 + May 1998) or as (March 1997 / March1998) + (April 1997 / April 1998) + (May 1997 / May 1998).When the first calculation is used, that is, the Seasonsconsolidation is evaluated first, the following report results.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 228/489
Custom Groups and Consolidations Advanced Reporting Guide5
198 Evaluation order © 2003 MicroStrategy, Inc.
When the second calculation is used, that is, the Years
consolidation is evaluated first, the following report results.Notice the difference in the 1997/1998 rows.
The evaluation order is set in the Report Data Options dialog box of the Report Editor when you create the report. Toaccess this dialog box, select Report Data Options from theData menu.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 229/489
Advanced Reporting Guide Custom Groups and Consolidations 5
© 2003 MicroStrategy, Inc. Consolidations and SQL 199
Consolidations and SQLThe calculations associated with a consolidation are done bythe Analytical Engine component of the Intelligence Server.
The SQL Engine writes the SQL query that gets the requireddata from the warehouse, and then passes it to the AnalyticalEngine to do any mathematical operation that is needed tocreate the report.
For example, the following SQL is for the dollar sales byseason report discussed in Create a “ virtual ” attribute .
The seasons are not mentioned. The query retrievesthe data for the Months of Year, and then the Analytical Engine performs the necessary calculationsto present the data in terms of seasons.
select a12.[MONTH_OF_YEAR] AS MONTH_OF_YEAR,max(a13.[MONTH_OF_YEAR_NAME]) ASMONTH_OF_YEAR_NAME, a12.[YEAR_ID] AS YEAR_ID,sum(a11.[TOT_DOLLAR_SALES]) as DOLLARSALES
from [MNTH_CATEGORY_SLS] a11, [LU_MONTH] a12,[LU_MONTH_OF_YEAR] a13
where a11.[MONTH_ID] = a12.[MONTH_ID] ANDa12.[MONTH_OF_YEAR] = a13.[MONTH_OF_YEAR] ANDa12.[MONTH_OF_YEAR] in (3, 4, 5, 6, 7, 9, 10,11, 12, 1, 2)
group by a12.[MONTH_OF_YEAR], a12.[YEAR_ID]
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 230/489
Custom Groups and Consolidations Advanced Reporting Guide5
200 Example: consolidations © 2003 MicroStrategy, Inc.
Example: consolidations
Report requirement
You have been given a task to understand how products areperforming in different sections, or territories, of the countryand abroad. This will allow you insight into consumer buyingpatterns and offer guidance on establishing pricing strategiesand promotions. You will need to see the territories in therows of your report and various metrics, such as sales, profit,
and revenue in the columns.
How can you accomplish this?
Solution
A Territory attribute does not exist in your project. You willneed to create one.
A consolidation allows you to group together variouselements of the Region attribute into various territories andplace them on your template. In this example, you will needto break the down the territories as follows:
• East = Mid-Atlantic, South, South
• West = Central, Northwest, Southwest
• Foreign = Canada, England, France, Germany
These consolidations placed in the rows of your report allowsthe metrics for values to be added together for a specificterritory. For example, the metric values for Central,Northwest, and Southwest will be added together to yield thevalue for West, and so on.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 231/489
Advanced Reporting Guide Custom Groups and Consolidations 5
© 2003 MicroStrategy, Inc. Custom group and consolidation comparison 201
Custom group and consolidation comparisonThe following table outlines the differences between customgroups and consolidations. More information on each section
follows the table.
Arithmetic operations
Arithmetic operations such as addition and division are notallowed in custom group definitions. However, complicatedmathematical expressions can be created in consolidationsusing the following operators:
• +
• -
• *
• /
• ()
Custom Group Consolidation
Arithmetic operations Not allowed Allowed
Site of final calculation Warehouse Analytical Engine
SQL efficiency Low High
Recursive definition No Yes
Display mode Flexible andexpandable
Fixed at element levelonly
Subtotals Yes Yes
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 232/489
Custom Groups and Consolidations Advanced Reporting Guide5
202 Custom group and consolidation comparison © 2003 MicroStrategy, Inc.
Site of final calculation
Although the Analytical Engine might be needed to resolve banding in a custom group, the final stage of calculation isalways in the data warehouse. For consolidations, allnecessary data is retrieved from the data warehouse and thenthe consolidations are created in the Analytical Engine.Therefore, consolidations can be assigned an evaluationorder to provide more and varied analyses. For moreinformation on evaluation order, refer to Evaluation order inthis chapter.
SQL efficiency
For each custom group element, there is at least one SQLpass. When the custom group element is expanded in theCustom Group Editor, up to three SQL passes must be madefor each custom group element.
Since the Query Engine uses a smart algorithm to combineconsolidation elements and determine the minimal numberof SQL passes, only one SQL pass may be needed for all theconsolidation elements.
Recursive definition
You cannot use existing custom group elements to build anew one. You must always build a custom group fromattributes. In contrast, you can build new consolidationelements based on existing consolidations.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 233/489
Advanced Reporting Guide Custom Groups and Consolidations 5
© 2003 MicroStrategy, Inc. Custom group and consolidation comparison 203
Display mode
Each custom group element can be viewed as a set of smallergrouping elements, which can be repeatedly broken downuntil the actual items are reached. This functionality, alongwith the four different display modes, provides flexibility anddeeper analysis. For more information, see the Custom groupoptions section in this chapter.
Consolidations are displayed only at the element level; youcannot expand the elements.
Subtotals
Custom groups act like attributes when subtotals areincluded. Consolidations also allow subtotals, and they can becalculated before or after the subtotals.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 234/489
Custom Groups and Consolidations Advanced Reporting Guide5
204 Custom group and consolidation comparison © 2003 MicroStrategy, Inc.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 235/489
© 2003 MicroStrategy, Inc. 205
P ROMPTS
Introduction
A prompt is a MicroStrategy object that allows userinteraction at report run time. The prompt object isincomplete by design. The user is asked during the reportresolution phase of report execution to provide an answer tocomplete the information. For example, the user can enterinformation such as the region “North East ” or year “1997,” and the data is returned from the data warehouse. Withprompts you can create reports that allow users to change thereport content at run time.
Prompts are useful for asking questions about the set of datayou would like to see in the report. Prompts allow the reportto have dynamic report definitions, which can change witheach query by altering the information in the prompt dialog box. Prompts can be a part of the report definition, filter,template, custom group, or metric.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 236/489
Prompts Advanced Reporting Guide6
206 What is a prompt? © 2003 MicroStrategy, Inc.
There are benefits to using prompts as a part of these objects.Prompts are useful to keep the number of objects in a projectsmall, as they allow you to define how you would like to viewthings in the report environment instead of providing aseparate report for each option.
You will be able to find the report that you would like to seequicker because there will be fewer options. However,prompting questions asked of the user raise the complexity of just running a report, and you run the risk of confusion. Thisconfusion can be allayed by providing good descriptions forthe prompts so that the user is clear on what question theyare answering.
This chapter explains the concepts necessary to create anduse prompts.
What is a prompt?By using a prompt in a filter or template, you can
• apply filtering conditions to the report, a custom group onthe report, or a metric on the report
• choose what objects, such as attributes and metrics, areincluded in the report
Prompts allow you to determine how the report returns datafrom the data warehouse. Prompts save you time. Instead of building several different reports, a simple question can beasked just before the report is executed. There are many typesof prompts, and each type allows a different type of questionto be asked. These prompt types will be discussedindividually later on in this chapter.
One type of question that can be asked is a question aboutwhat subset of data should be included on the report. Forexample, to see a report about sales in a particulargeographical region, you can build three reports — Sales inWest Region, Sales in Central Region, and Sales in EastRegion. Instead, you can create one report called “Sales,prompted on Region ” that asks the user for the region toinclude.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 237/489
Advanced Reporting Guide Prompts 6
© 2003 MicroStrategy, Inc. What is a prompt? 207
A different type of question to ask is what attribute should beshown on the report. For example, Sales by Day, Week,Month, Quarter, or Year can be consolidated via prompting.This report asks the user by which time unit the report datashould be displayed.
Prompts, regardless of what type they are, have the followingcommon features:
• search ability
• properties
Prompt search ability
You can use search objects when creating a prompt.
For example, you could create an object that asks you tochoose from a list of metrics whose name has “Dollar Sales ” in it. When the prompt is executed, a search for all metricswith those words in the name is performed. The results ofthat search are used to generate the list of possible metricsfrom which to choose for the prompt.
Prompt properties
Although each of the prompt types available has distinctcapabilities to provide a specific set of conditions, there arecertain properties that all prompts share:
• Title identifies and differentiates the prompt.
• Description indicates to the end user the nature orpurpose of the prompt.
• Default contains the default answer to the prompt, if onewas specified.
• Maximum and minimum determine how many answers auser must/is allowed to choose (optional).
• Web options define how the prompt appears inMicroStrategy Web.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 238/489
Prompts Advanced Reporting Guide6
208 Types of prompts © 2003 MicroStrategy, Inc.
Types of promptsUsing the following prompt types, you can create a promptfor nearly every part of a report. It is important to remember
that prompts can be used in many objects including reports,filters, metrics, and custom groups. All of these prompts willreveal themselves at report execution time, but the origin ofthe prompt can be within any of the objects.
• Filter definition prompt encompasses four differentprompt types, all of which allow the user to define thefiltering criteria: attributes in a hierarchy, attribute forms,attribute element lists, and metrics.
• Object prompt allows you to select which MicroStrategyobjects to include in a report, such as attributes, metrics,custom groups and so on. Object prompts can eitherdetermine the definition of the report template or thereport filter.
• Value prompt allows you to select a single value such as adate, a specific number, or a specific text string. The valuechosen by the user is compared to metric or attributeelement values, and thus determines the data viewed bythe user.
• Level prompt allows you to specify the level of calculation
for a metric.
Filter definition prompts
These prompts are used for qualifying on the value ofattribute elements and metrics. The filters affected by thesetypes of prompts can be in the report, in a filter (which inturn may be used in the conditionality of a metric in thereport), or in an element of a custom group. Additionalinformation on custom groups may be found in Chapter 5,Custom Groups and Consolidations .
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 239/489
Advanced Reporting Guide Prompts 6
© 2003 MicroStrategy, Inc. Types of prompts 209
Choose from all attributes in a hierarchy
This type of prompt is used to qualify on one or moreattributes in one or more hierarchies. You are presented withat least one hierarchy and all of the attributes included in that
hierarchy. You can qualify on one or more of those attributes by choosing an element list or by qualifying on a particularattribute form. The choices made are included in the filteringcriteria in the report.
To define this type of prompt, you can do one of thefollowing:
• Choose a particular hierarchy.
• Use the set of hierarchies resulting from a search forhierarchies.
• List all hierarchies available in the project.
If you choose to display more than one hierarchy, you canmake qualifications from all hierarchies presented at reportrun time.
Qualify on an attribute
This is used to apply conditions or qualifications to anattribute form.
The user is presented with one or more attributes and mayqualify on an element list or an attribute form of one of them.
To define an attribute qualification prompt, you can either
• choose a particular attribute
• present the user with a partial or complete list ofattributes that are the result of a search for attributesavailable in the project
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 240/489
Prompts Advanced Reporting Guide6
210 Types of prompts © 2003 MicroStrategy, Inc.
Choose from an attribute element list
This option is used to allow the user to choose from a list ofattribute elements to be included in a filter or custom group.This list may be restricted, at prompt design time. This type
of prompt can be used with any attribute in a project.The list of elements from which the user may choose can beimplemented by
• selecting all elements associated with an attribute
• providing a partial list of elements by applying a filter onall of the elements associated with an attribute
• providing a predefined list of elements from which theuser can choose
Qualify on a metric
A metric qualification prompt allows a user to qualify on ametric. The user is presented with one or metrics, and maychoose one on which to qualify.
The choice of metrics can be defined by
• specifying a single metric for run-time use
• specifying a search object to restrict the list of metricsfrom which the user can choose
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 241/489
Advanced Reporting Guide Prompts 6
© 2003 MicroStrategy, Inc. Types of prompts 211
Example: filter definition prompt
Report requirement
You need to create a report showing sales in the West,Central, and Eastern Regions. All other data on the reportremains the same. You do not necessarily want the regions onthe same report.
Solution
To meet this requirement, the easiest solution is to create a
report that includes a filter prompting the user on region.When the report is executed, the prompt dialog opens, askingthe user to choose the region(s) for which to return the reportresults.
Object prompts
Object prompts are used to allow you to choose what objectswill be included in the report filter or on the report template.
These are defined by specifying either a search object or apredefined list of objects from which the user can choose. Anobject prompt allows specification of default answers as wellas maximum and minimum number of objects to be selected.
A search object defines the criteria (such as location, date,owner, and so on) for a list of objects to be generated.Searches defined in prompts are saved in the project. Forexample, a search object can display all metrics that arecontained in a certain folder and use a particular fact.
All objects returned by a single object prompt must be of thesame object type. For example, you can use a prompt to askfor metrics or attributes, but not for both. If you want toprompt for multiple object types in the same report, you maycreate an object prompt for each object type.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 242/489
Prompts Advanced Reporting Guide6
212 Types of prompts © 2003 MicroStrategy, Inc.
Example: object prompt
Report requirement
The Sales Manager frequently asks her analysts to providesimilar reports with minor changes to the metrics. She alwayswants a metric to calculate Dollar Sales for each employee. Inaddition, she sometimes wants to compare the results of eachemployee to the sales results of the best or the worstemployee. Other times, she wants to compare the results ofeach employee to the average sales of all the employees.
Solution
Rather than create many different reports, you would like toprovide the Sales Manager with the flexibility to select whichanalytical function she wishes at the time of running thereport.
In this case you can give her three functions to choose from:
• minimum
• maximum
• average
She will select which function to use with the Dollar Salesmetric. Your final report can then have the following objects:
• employee
• dollar Sales metric
• dollar Sales metric that uses the analytical functionselected by the user
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 243/489
Advanced Reporting Guide Prompts 6
© 2003 MicroStrategy, Inc. Types of prompts 213
Value prompts
Value prompts are used when the information desired at runtime is a single value of a specific datatype. The value chosen by the user is compared with either an attribute form or ametric. This comparison can be done in a filtering criteria orin a custom group. The datatypes available for single promptsinclude
• date, which can be any valid date format
• number, for example, an integer
• string, which is any type of text
Value prompts allow specification of maximum andminimum values to be applied.
Although long prompts are not part of the optionsavailable by default for selection, you can enable themas part of your project preferences.
Example: value prompt
Report requirement
Create a report showing sales since a certain date.
Solution
Prompt the user for the date since they want to see sales data.The value they choose is applied to a filter criteria for theattribute “date. ” The prompt here is included in the filter on areport.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 244/489
Prompts Advanced Reporting Guide6
214 Saving reports with prompts © 2003 MicroStrategy, Inc.
Level prompts
Level prompts are used to define the dimensionality of ametric. When two or more metrics differ only in level, it isuseful to create a prompt on the dimensionality to avoidhaving to create two or more metrics.
This prompt definition type requires either a hierarchy or alist of attributes. The default output of the metric is at thereport level.
Example: level prompt
Report requirement
Create a report showing sales either by Region or by Store.
Solution
Create the Sales metric with a prompt on Level. Set thepossible prompt answers to Region and Store.
Saving reports with promptsWhen you save a prompted report you have already executed,the Save Options dialog box opens. You have the followingoptions:
• Static — You are not be prompted when you run the report
again. The answers you chose the first time are used fromnow on.
• Prompts — You are prompted when you run the reportagain. Your choices include filter prompts, templateprompts, or both. Information on filter prompts andtemplate prompts can be found in Chapter 3, Filters .
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 245/489
Advanced Reporting Guide Prompts 6
© 2003 MicroStrategy, Inc. Saving reports with prompts 215
Example: basic prompts
Report requirement
You need to run a series of reports, each showing the yearlysales for one of five non-consecutive years.
Solution
You can create a filter prompt on Year. When the user runsthe report with this prompt, they are asked to specify whichyear he would like to see. The user can run the report the first
time using 1989, and run it a second time using 1993, and soon.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 246/489
Prompts Advanced Reporting Guide6
216 Saving reports with prompts © 2003 MicroStrategy, Inc.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 247/489
© 2003 MicroStrategy, Inc. What is a fact? 217
FACTS
Introduction
Facts are one of the main building blocks for creating aproject. A fact has two characteristics: it is numerical andaggregatable. Examples of facts may include sales dollars,units sold, profit, cost, and so on.
This chapter discusses advanced facts. It assumes that youalready have a data warehouse populated with your data.
What is a fact?
Facts are objects created by and shared betweenMicroStrategy 7 i users. They relate numeric data values fromthe data warehouse to the MicroStrategy 7 i reportingenvironment. The facts you create allow users to access datastored in a data warehouse. Facts form the basis for metricsthat are used in the majority of analyses and reports thatusers can create with MicroStrategy 7 i.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 248/489
Facts Advanced Reporting Guide7
218 Fact structure © 2003 MicroStrategy, Inc.
Facts are stored in the data warehouse in fact tables . Thesefact tables are composed of different columns, each cellrepresenting a specific piece of information. This informationis used to create a metric such as profit, which is a businessmeasure.
Facts are based on physical columns in the data warehouse.When fact information is requested for a report inMicroStrategy 7 i, that column is accessed to retrieve thenecessary data.
Like other schema objects such as attributes, facts are logicalMicroStrategy objects that correspond to physical columnsand tables. Unlike attributes, facts do not actually describedata. Facts are the actual data values stored at a specific factlevel. A fact entry level is the lowest set of attributes at whicha fact is stored.
Facts and attributes are necessary to define projects. In aMicroStrategy project, facts are numeric data and attributesare contextual data for the facts. As the project designer, youcreate projects that contain facts and attributes, which theusers can include when building metrics and reports.
Fact structureEvery fact has the following:
• The Fact Definition is composed of one or more factexpressions. Every fact must have at least one expression.
• The Column Alias stores the column name, whichMicroStrategy 7 i uses to generate SQL statements whencreating temporary tables related to the fact. Every factmust have a column alias, and MicroStrategy 7 i selects adefault column alias depending on the type of fact, unlessyou create a new column alias.
Data warehouse FactColumn
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 249/489
Advanced Reporting Guide Facts 7
© 2003 MicroStrategy, Inc. Fact structure 219
• Level Extensions (Advanced) allow facts stored in the datawarehouse at one level to be reported at an unrelatedlevel. You can also use extensions to prevent a specific factfrom being reported at a certain level, even though it isstored at that level. Level extensions are not commonlyapplied but are very effective for special data modelingscenarios if you are an advanced user.
For a fact to exist in a MicroStrategy project, both thefact expression and column alias must be defined bythe product.
During project creation, when you select the numericcolumn used to represent the fact, both the factdefinition and column alias are automatically defined.
Fact definition
A fact definition contains properties that define a fact and itscomponents. The fact definition is composed of at least onefact expression and basic information about the fact,including the fact name, expression, and the source table ituses.
The example below demonstrates a fact definition that
includes Name, Description, and Expressions. Multipleexpressions can exist within each definition.
The fact expressions contained in the definition representhow a fact is calculated by MicroStrategy 7 i. Facts can befound in multiple tables in a warehouse schema and oftenmust be calculated differently from one table to the next.
Name
Description
Fact Column Alias
Extensions
Expressions
Definition Expression1
Expression2
Expression3Name
Data Type
Extension1
Extension2
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 250/489
Facts Advanced Reporting Guide7
220 Fact structure © 2003 MicroStrategy, Inc.
Each fact expression relates to one or more relatedtables that contain the fact.
Fact expressions define, for each of the tables, how thefact is calculated.
Fact expressions
A fact expression can be as simple as a fact column namefrom the warehouse or as sophisticated as a formulacontaining fact columns and numeric constants. A factdefinition can have one or more fact expressions.
A fact can be defined using an ApplySimple function. Apply
functions are discussed in Appendix B, Pass-through Expressions .
The following illustrates a column in the fact table and theassociated fact expressions.
Valid expressions are formulas constructed from factcolumns with or without numeric constants or mathematicaloperators. The mathematical operators that can be used in anexpression are
• addition (+)
• subtraction (-)
• multiplication (*)• division (/)
Order_DetailOrder_IdItem_IdCall_Center_IdOrder_DateQty_SoldUnit_PriceSales
Order Date = Order_Date
Fact Fact expression
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 251/489
Advanced Reporting Guide Facts 7
© 2003 MicroStrategy, Inc. Fact structure 221
Implicit fact expressions
Implicit facts are virtual or constant facts that do notphysically exist in the database.
The implicit fact can have its expression defined as a constantvalue, though nothing is saved in a column. An implicit factindicates a fact table from which to retrieve data.
Derived fact expressions
A derived fact has its value determined by an expression thatcontains more than just a column in a table. Any operation ona column, such as adding a constant, adding another column,or setting the expression to be an absolute value, creates aderived fact. In other words, you are making a new fact frominformation that is already there, as in the following example. You have a table in your data warehouse, which contains thefollowing elements:
You can create a new fact, Sales, by creating this derived fact:
Sales = Quantity_Sold * Price
The advantage of creating a derived fact is that you do nothave to create multiple facts. It hides the structure of thewarehouse from your users and one consistent fact exists inthe project in lieu of many facts being retrieved from multipletables. For example, if you use the same formula in manyplaces, it uses one pass of SQL instead of three.
Fact Table 1
ItemQuarter
Quantity_SoldPrice
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 252/489
Facts Advanced Reporting Guide7
222 Fact structure © 2003 MicroStrategy, Inc.
Heterogeneous column names for facts
MicroStrategy 7 i allows you to identify heterogeneous factcolumn names for each fact. With heterogeneous columnnames , you can refer to the same fact with multiple column
names from different tables that identify the samequantitative value. In the warehouse, the same fact can havedifferent column names. You can use the Fact Editor to createfact expressions.
An example is dollar sales. The warehouse has two tables, asillustrated below. Table 1 contains a fact called Dollar_Sales.Table 2 includes a fact called Dollar_Sls. These two itemsrepresent the same information. By creating anheterogeneous fact column name, the system knows thatthese are the same fact when you call the information.
Column alias
A column alias specifies both the name of the column to beused in temporary tables and the datatype to be used for thefact. By default, the datatype for a fact is inherited from thedatatype of the column on which the fact is defined. However,there are cases where you may need to change this.
For example, you can define a fact to be the difference between two dates, perhaps to perform a calculation such asthe average number of days between a start and an end date. You could create this fact using the following expression:
ApplySimple("DateDiff(day,#0, #1)",[Start_Date_Id], [End_Date_Id])
YearDollar_Sales
Table 1
MonthDollar_Sls
Table 2
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 253/489
Advanced Reporting Guide Facts 7
© 2003 MicroStrategy, Inc. Fact structure 223
The expression syntax is specific to your databasetype. This syntax is specific to Microsoft SQL Server.The SQL you create may be different.
The datatype for this fact is automatically set to a datedatatype because the Start_Date_ID and End_Date_ID have date datatypes. However, the result of the calculation,that is, the difference of the two dates, is an integer.
This is used when a temporary SQL table needs to be createdfor the calculation. If you did not change the datatype of thecolumn alias, then the system uses a date datatype and triesto insert integer data into this column. While this may not bea problem for some database platforms, it can cause an error.To avoid the possibility of an error due to conflictingdatatypes, you should modify the column alias for the fact to
change the default date datatype to an integer datatype.
Level extensions
Facts are stored at a particular level in the warehouse. Thefact level is defined by the attribute IDs present in the table.Level extensions are necessary when facts are stored in thedata warehouse at one level and reported at a different level.Every fact is tied to a set of attributes that may or may notsatisfy all user-level reporting requirements. An explicit factextension is needed when a fact does not relate to all neededreport attributes.
If a fact has an attribute in the entry level, all parentattributes are available for use as well, withoutextensions.
Name
Description
Fact Column Alias
Extensions
Expressions
Definition Expression1
Expression2
Expression3Name
Data Type
Extension1
Extension2
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 254/489
Facts Advanced Reporting Guide7
224 Fact structure © 2003 MicroStrategy, Inc.
You can use level extensions to change a fact level. Levelextensions define how facts can be extended, lowered, ordisallowed to other attributes across the schema. By creatinga level extension, you are allowing facts or attributes thathave been captured at one level to be extended to other,technically unrelated levels for reporting reasons.
Level extensions are not requirements like the fact definitionand column alias, and they tend to be used only in specialcases.
Before a metric containing this fact can be used with anattribute that is not in or related to the entry level, the levelextension must be defined. If the attribute is not related tothe entry level, it must be above the fact entry to allow fordegradations. You can accomplish this through one of themethods listed below:
• table relation
• fact relation
• degradation
• cross-product join
• disallow the fact level
These methods are defined through the Level ExtensionWizard.
Name
Description
Fact Column Alias
Extensions
Expressions
Definition Expression1
Expression2
Expression3Name
Data TypeExtension1
Extension2
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 255/489
Advanced Reporting Guide Facts 7
© 2003 MicroStrategy, Inc. Fact structure 225
Table relation
A table relation defines a join on tables. When you create a join between a lookup or fact table, you are creating a tablerelation to extend a fact. A fact extension can be used to relate
a fact to an attribute using a fact table. The join is importantas the table contains an attribute in the entry level and theattribute to which to extend.
If you want to extend the fact so that it can be reportedat any level in the hierarchy, you should choose thelowest level attribute in that hierarchy.
For example, your warehouse contains the following tables.
The entry level of the Freight fact is Distribution Center andOrder. You want to define a template containing bothCustomer and Freight even when Freight is not captured atthe level of Customer. You can relate Freight with Customer by joining Table 1 with Table 2 on the Distribution Center andOrder attributes. To do this, define a table relation on theFreight fact using Table 2 so that the entry level of Freight becomes Distribution Center, Order, and Customer. Thisrelationship can be denoted as:
Distribution CenterOrder
Table 1
Distribution CenterOrder
Customer
Table 2
Freight Order Unit Sales
Freight Customer
Table 2 on Distribution Center/Order
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 256/489
Facts Advanced Reporting Guide7
226 Fact structure © 2003 MicroStrategy, Inc.
When the engine processes a report containing Customer andFreight, it joins Table 1 and Table 2 and considers theresulting table as one logical fact table at the DistributionCenter/Order/Customer level. The SQL generated for areport containing Distribution Center, Customer, and Freightis:
select a1.DIST_CENTER, a2.CUSTOMER,sum(a1.FREIGHT)
from TABLE1 a1, TABLE2 a2where a1.DIST_CENTER = a2.DIST_CENTER and
a1.ORDER = a2.ORDERgroup by a1.DIST_CENTER, a2.CUSTOMER
Fact relation
Fact extensions can be defined by a fact relation instead of atable relation. With a fact relation, the table join is possibleon any table that contains the fact. This allows moreflexibility in defining the relations, since the MicroStrategyEngine is responsible for choosing the appropriate table to join.
The following diagram shows the schema from the tablerelations example after two summary tables are added to it.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 257/489
Advanced Reporting Guide Facts 7
© 2003 MicroStrategy, Inc. Fact structure 227
To extend the entry level of the Freight fact to Customer, youcan use a fact relation using the Order Unit Sales fact. TheMicroStrategy Engine tries to join a table containing Freightto a table containing Order Unit Sales. The engine can makethe following joins, depending on the join attributesspecified:
• Join 1 —Table 1 and Table 2 on Distribution Center, Order
• Join 2 —Table 1 and Table 4 on Distribution Center
• Join 3 —Table 2 and Table 3 on Distribution Center
• Join 4 —Table 3 and Table 4 on Distribution Center
Distribution CenterOrder
Table 1
Distribution CenterOrder
Customer
Table 2
Freight Order Unit Sales
Distribution Center
Table 3
Freight
Distribution CenterCustomer
Table 4
Order Unit Sales
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 258/489
Facts Advanced Reporting Guide7
228 Fact structure © 2003 MicroStrategy, Inc.
The fact relationship using Order Unit Sales can be denotedas the following.
The join attributes can be either Distribution Center andOrder or just Distribution Center. In the first case, only Join 1is valid. In the second case, Joins 2, 3, and 4 are valid. Theengine will choose the appropriate join.
The SQL generated for a report containing DistributionCenter, Customer, and Freight is shown below, if the joinattribute is Distribution Center.
select a1.DIST_CENTER, a2.CUSTOMER,sum(a1.Freight)
from TABLE3 a1, TABLE4 a2where a1.DIST_CENTER = a2.DIST_CENTERgroup by a1.DIST_CENTER, a2.CUSTOMER
As with table relations, you can specify the best fit as the joinstrategy so that the engine calculates the joins. In a best fit join, the set of join attributes must contain the entire key ofthe left-hand-side fact table.
Degradation
Degradation , which lowers a fact level, is the logical oppositeof aggregation. When facts exist at a higher level than thereport display level, you must specify how the enginedegrades the data to the lower level. When you lower the levelat which a fact is reported, you are using degradation.
Freight Customer
Order Unit Sales on DistributionCenter/Order or Distribution Center
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 259/489
Advanced Reporting Guide Facts 7
© 2003 MicroStrategy, Inc. Fact structure 229
For example, if your fact is stored at the yearly level and youwant to report the data at the monthly level, create adegradation. You also add an allocation expression to changethe definition of the fact in a level extension. In this particularexample, you select Month to be the attribute to which todegrade, and then specify that the allocation expression isfact/12. By creating allocation expressions, you are defininghow higher-level facts are degraded to lower-level attributes. Allocation expressions are defined by operations you set onattributes and facts in the Level Extension Wizard.
Cross product join
You can use a cross product join when a join does not exist,and you need to force a fact to relate to an attribute byextending the fact. The cross product join allows a single factvalue to relate to all elements of an unrelated attribute. Thismethod can produce incorrect data because data can berepeated and counted twice in some cases. Cross productsshould only be used when no other way to extend the factexists.
When you specify a cross product join to relate a fact to anattribute, you are creating a Cartesian product of the lookupattribute. As this method can be inefficient, MicroStrategydoes not recommend using the cross product extension.
For example, in the following schema, Distribution Centerdoes not relate to Dollar Sales.
Distribution Center
Table 1
OrderCustomer
Table 2
Dollar Sales
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 260/489
Facts Advanced Reporting Guide7
230 Fact structure © 2003 MicroStrategy, Inc.
To report Dollar Sales by Distribution Center, a cross product join must be used. The relation is defined as follows.
Notice that no join attributes are specified. TheMicroStrategy Engine always cross-joins the lookup tables ofthe attributes in the extension.
The SQL generated for a report containing Customer,Distribution Center, and Dollar Sales is
select a1.DIST_CENTER, a2.CUSTOMER,sum(a2.DOLLAR_SALES)
from TABLE1 a1, TABLE2 a2group by a1.DIST_CENTER
Disallow
A disallow is like a lock, which you use to prevent a fact from being reported at a specific level. For example, you can selectan attribute or set of attributes at the level that you do notwant the fact reported. Instead of extending to a specificlevel, the disallow does not allow a fact to be reported at thatlevel.
If a fact is stored at a level that is counterproductive to query,such as data that is stored at the Week, Day, Minute, orSecond level, you can disallow the lower levels. For example,if you have three years worth of data, querying at the minuteor second level will consume too many resources and returnextensive data. With a disallow in place, if you create a reportand attempt to include the fact at the Minute or Second level,an error is returned, indicating the report cannot be run atthat level.
Dollar Sales Distribution Center
Cross product
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 261/489
Advanced Reporting Guide Facts 7
© 2003 MicroStrategy, Inc. Defining facts 231
Defining factsThe tools to create facts are the Fact Creation Wizard and theFact Editor. Both of these tools are found in MicroStrategy
Architect, which can be accessed through MicroStrategyDesktop. The Fact Creation Wizard is a step-by-step interfacethat is typically used when you first create a project. It allowsyou to create facts in bulk; that is, many facts in one creationprocess. The Fact Editor is used to add advanced features tofacts that already exist or to add new facts during the projectevolution.
It is important to understand the concept of how to definefacts because facts are the basis for almost all metrics. Theyalso allow you to create advanced metrics containing data
that is not stored in the warehouse but can only be derived byextending facts.
Example: fact definition
The following table lists fact definitions for simple facts.
Fact name Factdescription Expression Fact level
RegularSales
Daily storeitem salestotals
Total_Sales Item/Store/Day
Unit Price Item prices,recorded ona daily basis
All_Sales Item/Day
Inventory Daily storeitem stockquantities
Item_Inv Item/Store/Day
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 262/489
Facts Advanced Reporting Guide7
232 Defining facts © 2003 MicroStrategy, Inc.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 263/489
© 2003 MicroStrategy, Inc. 233
DOCUMENTS
Introduction
A document is an HTML container for formatting, displaying,and distributing multiple reports on the same page or at thesame time within a project. You can modify the appearance ofa document, just like any other HTML page, to include text,images, hyperlinks, tables, and one or more report objects.
This chapter describes document layout, creation, andviewing. It also discusses advanced XML and XSL concepts,which provide functionality for personalizing documents.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 264/489
Documents Advanced Reporting Guide8
234 Document layout © 2003 MicroStrategy, Inc.
Document layoutThe document layout is used to position the reports inside thedocument. The layout is HTML, allowing you to insert
images, text, tables, and hyperlinks; anything you can add toa Web page you can add to a document.
The document layout is an HTML file that includes specialtags to identify the placement of the reports. Reports arerepresented by customized image tags. These images arereplaced by the actual report when you execute the documentin Document View in Desktop or through MicroStrategy Web.
Documents use XML and XSL to allow the user to view thecontent of the reports included in the document. These
technologies allow you to separate style from content whencreating Web pages. XML defines the structure ofinformation while XSL defines the formatting of information.The XML of the report is provided by the Intelligence Server,and the formatting is supplied by the XSL specified in theDocument Editor.
Advanced concepts: XML and XSL You do not need to know anything about XML and XSL tosuccessfully create and view documents. However, the abilityto customize the XSL provides additional functionality thatyou can use to create more personalized documents.
XML
XML is an acronym for eXtensible Markup Language. XMLprovides a standard set of rules for representing data in atextual representation. Like a database table, XML contains both data and information about that data. For a databasetable, this information takes the form of column names anddatatypes. For XML, it is stored as tags and attributes. A tag
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 265/489
Advanced Reporting Guide Documents 8
© 2003 MicroStrategy, Inc. Advanced concepts: XML and XSL 235
in XML is similar to a tag in HTML: it is not in itself data to be displayed or used, but rather provides information abouthow to display the data. An attribute in XML is similar to anattribute in HTML: it provides characteristics about a tag,and also about the underlying data. In XML, each piece ofunderlying data is called an element.
Attributes and elements in XML and HTML are notrelated to MicroStrategy attributes and elements.
XML can more easily represent a wider variety of data than arelational table can. This flexibility is one important part ofwhat makes XML so powerful. The other part is the ability tomake use of any custom tag within an XML document. UnlikeHTML documents, which are limited to a predetermined setof tags, XML documents can include literally any tag withinthem; the interpretation of the tag is left to the XSLStylesheet and the rendering application.
The XML generated for the document definition contains apointer with a path to the HTML layout file. Therefore, theHTML file needs to be accessible from the MicroStrategyIntelligence Server and the MicroStrategy Desktop interface.This is also true for XSL files associated with the contentelements. At run time, the MicroStrategy Intelligence Serverscans through the HTML layout file and replaces the imageplaceholders with the corresponding reports and applies thegiven XSL to each of the reports.
For more information on the MicroStrategy 7 i XML tagdefinitions, please refer to the MicroStrategy SDKdocumentation.
There are also several publications available that provideadditional information about the XML standard. In addition,the World Wide Web Consortium (W3C) publishes a set ofWeb pages at http://www.w3.org/XML/ documenting thestandard and listing additional resources. Please refer tothese outside sources for more information on XML.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 266/489
Documents Advanced Reporting Guide8
236 Advanced concepts: XML and XSL © 2003 MicroStrategy, Inc.
XSL
XSL is an acronym for eXtensible Stylesheet Language. XSLis what dictates the style (such as color and font) for a grid.Each report in a document must have an XSL associated withit so that the report can be formatted.
An XSL Stylesheet is a specific type of XML document andtherefore must observe the same set of rules as any otherXML document. The XSL standard provides a set of specialtags, rules, and methods that can be used together to processXML documents and turn them into formatted output suchas HTML.
For more information about the Extensible StylesheetLanguage, please visit the W3C Web site athttp://www.w3.org/Style/XSL/ .
XSL Stylesheets
XSL Sylesheets provide a very powerful means of controllingthe output format for MicroStrategy grids. They can be usedfor much more than simple grid formatting control. Forexample, XSL Stylesheets can be used to control the insertionof images, phrases, or even frames.
For a list and description of the stylesheets that are installedwith MicroStrategy 7 i in the XSL folder within the applicationdirectory ( Drive:/ProgramFiles/MicroStrategy/Desktop/XSLs , assuming youinstalled it in the default directory), refer to theMicroStrategy SDK documentation.
A document must use the default stylesheet(default.xsl) for thresholds to be displayed as they arein Desktop or Web.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 267/489
Advanced Reporting Guide Documents 8
© 2003 MicroStrategy, Inc. Creating documents 237
Creating documentsWhen you choose to create a new document, the DocumentEditor opens. The Document Editor has two panes:
• Document content pane allows you to see the propertiesof the reports contained in the document. It becomespopulated as you add reports to the document layoutsection.
• Document layout pane is where you add objects to beincluded in the document and adjust how they appear inthe document. You can add reports, images, text, andtables to a document, along with any other objects orinformation that can be included in an HTML page.
You can also display the Object Browser in theDocument Editor by choosing Object Browser Panefrom the View menu.
Document views
You can work with documents in the following views:
• Normal Edit View provides WYSIWYG (what you see iswhat you get) HTML editing. You can add tables, text,images, and reports. HTML is generated automatically.Note that when you drag and drop report objects while inthis view, they are displayed with an icon placeholder.This placeholder is replaced with the report when youchoose Document View from the View menu or executethe document in MicroStrategy Web.
• HTML Edit View displays the HTML source code for thedocument. Edits made in the source code are immediatelyreflected in the Normal Edit View. The source HTML code
can also be edited using third-party tools and thenimported into the Document Editor via the File menu.
• Document View displays the document and executes thereports. To print a document showing report data insteadof the placeholder icons, you must print in this view.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 268/489
Documents Advanced Reporting Guide8
238 Creating documents © 2003 MicroStrategy, Inc.
Report characteristics
When you select an object in the Document Layout pane, yousee the following report characteristics in the lower part ofthe document content section:
• Name is the name of the report.
• View allows you to view the report as a Grid or as a Graphin the document.
• Banding allows you to turn report banding on or off forthe document. Banding changes the colors of rows in thedocument to visually separate them.
• XSL allows you to specify an XSL file to use to format thereport in the document.
You can modify any of the report characteristics byright-clicking the report in either the Document Contentpane or in the Document Layout pane.
Additional information on reports and report characteristicsmay be found in Chapter 2, Reports .
Image URLs
Since documents can be viewed interactively usingMicroStrategy Web or delivered to external sources usingMicroStrategy Narrowcast Server, URLs and file paths must be constructed correctly. When documents are viewed usingMicroStrategy Web, the Web server that is transmitting thedocument can process relative URLs. This is not the casewhen documents are delivered to users and viewed fromexternal sources such as a mail server. These external sourcescan resolve only fully-qualified URLs, not relative URLs. A
fully-qualified URL specifies the resource name plus all thesubdirectories, the domain name, and HTTP or HTTPS, as inhttp://www.microstrategy.com/images/image.gif .
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 269/489
Advanced Reporting Guide Documents 8
© 2003 MicroStrategy, Inc. Creating documents 239
In contrast, a relative URL is a local URL from which certaininformation, such as directory names, is omitted. It is relative because the URL is only valid relative to the URL of thecurrent resource. For example, ../image.gif is locatedone level up from the current directory. If the current Webpage is www.microstrategy.com/images/intro.html , then the fileis saved in the www.microstrategy.com/imagesdirectory.
To avoid documents that contain broken links, it is importantto follow these rules:
• Use fully-qualified HTTP and HTTPS URLs to ensureaccessibility for recipients outside of a company network.
• Only users who have network access to the shared image
files will see images defined with fully-qualified file URLsusing universal naming convention (UNC) file paths. Anexample of such an address is file: //file_server/shared_directory/images/image.gif.
• Fully-qualified file URLs using shared drives work onlyfor users who have the same shared drive defined. Anexample of an URL with a shared drive isfile: //x:\images\ images.gif.
• A relative URL must contain a base URL in the definition
of the HTML page. If this base exists, the URL workscorrectly in Web pages that are sent via e-mail,performing like a fully-qualified URL as described above.
The HTML tag called base sets the base URL for relativeURLs in an HTML page. An example of this tag follows.
<HTML>
<HEAD>
<TITLE>HTML Page Title</TITLE>
<BASE href="http://www.microstrategy. com/">
</HEAD>
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 270/489
Documents Advanced Reporting Guide8
240 Example: building a document © 2003 MicroStrategy, Inc.
Example: building a document
Report requirement
You have two related reports, Sales by Season and Sales byMonth, that you want to view at the same time. Although theyare both grid reports by default, the information would beunderstood more quickly if they were displayed in graphformat. Finally, your company uses a standard style for itsWeb pages. This style is saved in a file named
CompanyStandard.HTML.
How can you accomplish this?
Solution
In the Document Editor, create a new document. Import thefile layout file, CompanyStandard.HTML, to set up yourcompany ’s standard style. Add any text you want. Add each
report, changing the Desktop Object View to graph andapplying XSL formatting for each.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 271/489
© 2003 MicroStrategy, Inc. 241
ATTRIBUTES
Introduction
An attribute is mainly used to group or aggregate fact data.
You can group related attributes such as City, State, orRegion, into a common hierarchy, like Location. In a logicaldata model, when attributes are in the same hierarchy theymust be related to each other, whereas attributes in differenthierarchies cannot be related.
This chapter describes what an attribute is, the differenttypes of attributes, and the concepts necessary to useattribute elements, forms, and form expressions.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 272/489
Attributes Advanced Reporting Guide9
242 What is an attribute? © 2003 MicroStrategy, Inc.
What is an attribute? Attributes represent entities in the business model and arenormally identified by a unique ID column in the data
warehouse. The attribute acts like a column header and thedata that appears in the following table are elements.Elements define and make up the attribute. For example, theelements New York, Baltimore, and Boston are groupedunder the attribute City.
You can use attributes to define the level of detail for a report.The lowest level attribute you include in a report is the lowestlevel of detail reported. A high-level report, such as a reportat the Year level, includes the Year attribute but lacks thedetail of a similar report which includes the lower level
attributes Month and Week. It is important to understand thedata is still the same, although it is just not aggregated.
The following diagram shows attributes and elements as theydisplay in a table.
Attributes are defined by these properties:
• Form contains an identifier or descriptor of an attribute,such as an abbreviation or URL.
• Expression maps a MicroStrategy attribute form to one ormore columns in the warehouse.
• Relationship allows interaction of data and shows how
data is related within a project.
FormForm
Elements
City City Abbrev Year Sales
New York NY 1999 30k
Baltimore BA 1999 55k
Boston BN 1999 43k
Form FactAttribute: City Attribute: Year
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 273/489
Advanced Reporting Guide Attributes 9
© 2003 MicroStrategy, Inc. What is an attribute? 243
The following diagram illustrates how the attributeproperties are related.
Attribute elements
Attribute elements are the unique values or contents of anattribute. For example, if City is the attribute, then Chicagoand Miami are elements of City.
Elements must be considered when determiningrelationships between attributes. The elements are notincluded in the data model because they are the physical datain the database. By knowing and understanding the elementsof an attribute, you can better design your data model andproject. As shown in the following data model, the attributeDivision has multiple attribute elements, such as Men ’sClothing, Shoes, and Sporting Goods.
FormCategory
ID
Attribute
Customer
Form
StreetAddress
Form
Home Page
Form
Name
Form
ID
Expression
Cust_ID
Expression
Cust_NO SSN1
Expression
Table
LU_Cust
Table
LU_Payment
Table
LU_Tax
Table
LU_Invoice
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 274/489
Attributes Advanced Reporting Guide9
244 What is an attribute? © 2003 MicroStrategy, Inc.
Another example displays the elements and data for the Storeattribute. Each attribute element is a row in an attributelookup table as shown in the following diagram:
Elements are typically referred to by their most descriptiveform. For example, when you include “ Atlanta ” in a report,you are referring to the element that corresponds to theStore_Name “ Atlanta. ”
Product
Department
Men's Dress WearMen's Casual WearMen's AccessoriesMen's Shoes
Class
Men's Dress ShirtsMen's Dress SlacksMen's Casual PantsMen's Ties
Item
W hite Button-DownBlue Straight CollarBlack CuffedNavy Pattern Tie
Division
Men's ClothingShoesSporting Goods
Elements Attributes
Hierarchy
Elements
S to re _ID S to re _N am e S to re _ Lo ng _N a m e1 A tla nta A tl a n ta , G e o rg ia2 M ia m i M ia m i, F lo rid a3 B o s to n B o s to n , M a s s a c h u s e t t s4 N e w Y o rk N e w Y o rk , N e w Y o rk5 A lb a n y A lb a n y , N e w Y o rk
Form FormForm
Store attribute
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 275/489
Advanced Reporting Guide Attributes 9
© 2003 MicroStrategy, Inc. Attribute forms 245
Attribute forms Attribute forms are identifiers or descriptors of an attribute.Every attribute must have at least one form, and most have
two:• the ID form
• the primary description form
Every attribute must have an ID form, such as Customer_IDor City_ID. Some attr ibutes can have additional descriptiveforms that do not serve as the primary description form. Forexample, the Customer attribute in the MicroStrategyTutorial has various forms. The forms include the ID and theCustomer Name, which serves as the description of theattribute. Also included are address and e-mail.
One of the forms for the element City is Name. Chicago is theName for the element of City with the ID of 1. Other forms forChicago are a URL, such as www.chicago.com , or an Abbreviation such as CH.
Each attribute form provides details that identify anddescribe an attribute. The Store_ID is a unique numericidentifier for each store, while Store_Name holds the actualstore name. Other attribute forms for the Store attribute caninclude ID, numbers, descriptive names, short abbreviatednames, URLs, and so on. In MicroStrategy 7 i, you can assigna maximum of 32 forms per attribute.
This example uses the attribute Store and its correspondingelements and forms:
Storeattribute
Baltimore
New York
Boston
Elements Forms
Store_ID=1
Store_Desc=New York
Store_URL=www.NYstore.com
Store_ID=2
Store_Desc=Baltimore
Store_URL=www.Baltimorestore.com
Store_ID=3
Store_Desc=Boston
Store_URL=www.Bostonstore.com
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 276/489
Attributes Advanced Reporting Guide9
246 Attribute forms © 2003 MicroStrategy, Inc.
A simple lookup table with three columns holds the followingseparate forms:
• Store_ID: a unique, identifying number for each store (ID form)
• Store_Name: the name of each store (Description form)
• Store_Long_Name: the full location, including the storename and state, of each store (Long description form)
In this example, the Lookup_Store table records all of theattribute form data for the Store attribute.
Attributes must contain at least one ID form, which uniquelyidentifies the attribute. The forms you create must have areference to a lookup table and can include multipleexpressions. Each table must have an ID form as that is howthe table will be joined. You can choose a lookup table in the Attribute Editor from a list of tables existing in the project.
For example, two tables exist, one with the formsCustomer_ID, Name, and SSN. The second lookup tablecontains Customer _ID and E-mail. The attribute will havefour forms and the tables will join together through the IDcolumns.
Attribute form properties
When you create forms in the Attribute Editor, you mustselect properties for each form. These properties affect thedisplay of the forms and include the following:
• Form categories help categorize the types of forms. Thestandard options are ID, Desc, and None. You can createnew form categories in the Attribute Editor.
Store_ID Store_Name Store_Long_Name
Att ribu te Form At tr ibu te Form Att ribu te Form
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 277/489
Advanced Reporting Guide Attributes 9
© 2003 MicroStrategy, Inc. Attribute forms 247
• Format types control how the form is displayed. Forexample, you can choose Date for dates or Picture tocorrectly display images.
• Default sort governs how the form is sorted by defaultwhen included in a report. You can choose from Ascending, Descending, or None.
Attribute form expressions
Simply put, attributes act like holders of information andprovide context for facts. For example, the customer attributeholds information about the customer such as Name and Address. These information units are called attribute forms.
An attribute form expression defines what columns in thewarehouse are used to represent the attribute form in SQL.Each attribute form must have at least one expressiondeclared. Although you can have multiple expressions indifferent tables, a form cannot have two different expressionsin the same source table.
You can create expressions using attribute columns,constants, and/or mathematical operators, for example, +, -,/, *. Only implicit attributes do not include a column in theexpression, since they only use the constants you declare.
You can create a form expression using Apply functions.These functions are discussed in Appendix B, Pass-through Expressions .
The types of attribute form expressions are
• simple
• implicit
• derived
• heterogeneous mappings
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 278/489
Attributes Advanced Reporting Guide9
248 Attribute forms © 2003 MicroStrategy, Inc.
Simple form expressions access data through columns youinclude when creating attributes. Implicit and derivedattributes do not relate directly to data stored in the datawarehouse. These attributes create virtual data by combiningor using columns to generate the data. Simple expressions aredescribed in detail in the Basic Setup Guide .
Implicit expressions
An implicit attribute is a virtual or constant attribute thatdoes not physically exist in the database. Such an attributehas its expression defined as a constant value, thoughnothing is saved in a column. For example, you can create“temporary columns ” in the database with a value of “1” forevery row, which simplifies COUNT limitations. So, in the Attribute Editor, you enter only a “1” in the expression tocreate a count.
Implicit attributes are useful in analyzing and retrievinginformation. When analyzing data, you can use constantattributes to create a COUNT to keep track of the number ofrows returned. You can use constant attributes when buildingmetrics, where you can sum the column holding the constantto create a COUNT. Any constant is acceptable, for example,RushOrder= ‘ Yes’.
Derived expressions
A derived expression has its value determined by anexpression which contains more than just a column in a table. Any operation on a column, such as adding a constant,adding another column, or setting the expression to be anabsolute value, creates a derived expression. In other words,you are making a new expression from information that isalready there.
For example, you can create a derived attribute to calculateage or anniversaries. By calculating the difference betweenthe columns date of birth and current date, you can create anattribute to hold the Age that has been derived from the twocolumns. Calculations and functions used in the expressioncan assist in deriving data from the database by producingSQL with database-specific syntax.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 279/489
Advanced Reporting Guide Attributes 9
© 2003 MicroStrategy, Inc. Attribute forms 249
As another example, the derived form expression “Name ” consists of the two strings “First ” and “Last ”:
Name -> First + “ “ + Last
On a report, this information is displayed as Mary Jones under the Name column.
Heterogeneous mappings
There are no restrictions on the names of the columns used inthe expressions of a given attribute form. Heterogeneousmapping allows the Engine to perform joins on dissimilarcolumn names. If you define more than one expression for agiven form, heterogeneous mapping automatically occurswhen tables and column names require it.
For example, because different source systems store Dateinformation in various contexts, your company can havemultiple columns in different tables that all represent theconcept of Date. The ID form of the attribute Date maycontain two expressions. The Day_Date column occurs in theLU_DATE table and the Order_Date column in theORDER_DETAIL and ORDER_FACT tables.
Each expression is linked to a set of source tables that containthe columns used in the expression. Of all the tables in whichthe columns exist, you can select as many or as few as youwant to be used as part of the attribute ’s definition.
You can view the chosen tables in the source Tablesarea to the right of the Form Expressions area in the Attribute Editor.
The datatypes of columns used in a heterogeneousmapping for a given attribute must be identical orsimilar enough for your particular RDBMS to jointhem properly. For example, most databases cannot
join a datatype of Text to a datatype of Number.However, depending on your database platform, youmight be able to join between datatypes of Numberand Integer.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 280/489
Attributes Advanced Reporting Guide9
250 Attribute forms © 2003 MicroStrategy, Inc.
Attributes and SQL
Reports are made possible by SQL. The user creates a reportand then the Intelligence Server, using this report definition,instructs the engine how to build the SQL for that report. Theexpressions defined in an attribute or fact define the SELECTclause of a SQL command.For example, consider the following:
Select Store_ID, Date, sum(Sales)From Store_FactGroup By Store_ID, Date
You have specified that you are looking for sales information by store and date. The attributes and metrics you havedefined tell the Intelligence Server where to look in the datawarehouse for the information and how to create the SQLthat will retrieve it. Because of this process, you do not haveto know SQL to extract information from your datawarehouse.
Column alias
For attributes, a column alias performs the same function as
it does for facts. By default, the datatype for an attribute formis inherited from the datatype of the column on which theform is defined. However, there are cases where you mayneed to change this.
For example, in your warehouse you do not have a lookuptable for year information, but you would like to create a Yearattribute. Many database platforms have functions that canextract parts of a date from a date datatype. For example,SQL Server has a Year function that extracts just the yearfrom a date. So you can create an Year attribute using the
following form expression:
ApplySimple("Year(#0)",[Date_Id])
The datatype for this attribute is automatically set to a datedatatype. This is because the Date_ID is a date datatype.However, the result of the calculation is a year, such as 1999,and is an integer.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 281/489
Advanced Reporting Guide Attributes 9
© 2003 MicroStrategy, Inc. Attribute forms 251
When a temporary SQL table is created, if you do not changethe datatype of the column alias, then the system uses a datedatatype and tries to insert integer data into this column.While this does not create a problem in all databaseplatforms, some databases will return an error. To avoid thepossibility of an error due to conflicting datatypes, modify thecolumn alias for the attribute form and change the defaultdate datatype to an integer datatype.
In addition to specifying the datatype to be used for anattribute form, the column alias also lets you specify theactual column alias name to be used in the SQL generated byMicroStrategy. When you create a form expression using acustom expression as discussed above or using multiplecolumns, the column alias for the attribute form defaults toCustCol_1 (or CustCol_2, CustCol_3, and so on). The
following piece of SQL shows, in bold, where the column aliasname is used:
SELECT Year(a12.Date_Id) CustCol_1 ,sum(a11.Tot_Dollar_Sales) WJXBFS1
FROM YR_CATEGORY_SLS a11cross join TRANS_DATE_LW_LY a12
GROUP BY Year(a12.Date_Id)
While the column alias name does not affect the actual resultsor your report, you can change the column alias name to bemore meaningful. The above example is a simple one, but this
can be useful for troubleshooting the SQL for a particularlycomplex report.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 282/489
Attributes Advanced Reporting Guide9
252 Form groups © 2003 MicroStrategy, Inc.
Form groups A form group is a grouping of attribute forms that havesomething in common. You can create form groups to
combine forms that you want related. By grouping forms, youcan design a uniquely defined form that groups two or moreforms under an attribute. When you create a form group, theincluded forms are joined together and act as one. The formsin the form group can never be viewed separately once they become part of a group. See the example below of theCustomer form group.
This form group joins the forms Last_Name and First_Name
to identify the attribute Customer. To create a form group,choose the same form category for both forms. You are thenprompted for a form group.
Attribute relationships You link directly related attributes to each other by definingparent-child relationships. Attribute elements, or the actual
data values for an attribute, dictate the relationships that youdefine between attributes. The parent-child relationships youcreate here determine the system hierarchy. In other words,they define how the engine generates SQL, how tables andcolumns are joined and used, and which tables are related toother tables.
Customer Attribute
Last Name First NameBrown Frank Jameson GregClifford Jim
AttributeForm
AttributeForm
Form GroupDESC(Name)
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 283/489
Advanced Reporting Guide Attributes 9
© 2003 MicroStrategy, Inc. Attribute display 253
Joint child relationships
Some attributes exist at the intersection of other indirectlyrelated attributes. Such attributes are called joint children .
Joint child relationships are described in depth in AppendixC, Advanced Data Modeling .
Attribute displayOnce attributes are built, they are used in two primaryways — browsing and reporting. Each attribute can bedisplayed in a a variety of forms so you must specify thedefault display of each of the attributes in the project. Youcan do this on a report-by-report basis, but you still mustspecify the global, or project-wide, default for each attribute.
You must choose a default attribute display for browsing andanother for reporting. Report display forms are the attributeforms that appear as columns in a completed report. Browse forms are the attribute forms that appear as a user browsesthrough the element list of an attribute in the Data Explorer.This separation allows for greater attribute display flexibilitydepending on the application.
The forms you select for an attribute determine whichattribute elements are displayed when the report is executed.By selecting different forms for the attribute, you, in fact,select a different set of values for display. For example, in areport that includes Region as an attribute, if ID is selected asthe attribute form, the display could be a number such asfour. If Description is selected, the display could be a name,such as Northwest. If a report lists the cities in which youhave stores, then you might choose to display the LongDescription form, such as Chicago, instead of the URLattribute form, that is, www.chicago.com. When you modifythe attribute display on a report, you can select, for eachattribute, which attribute forms should appear on the reportor you can use the attribute ’s default setting.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 284/489
Attributes Advanced Reporting Guide9
254 Compound attributes © 2003 MicroStrategy, Inc.
You can also select which attribute forms are retrieved withthe report results but not displayed on the grid, that is, theyare found in Report Objects. In Grid view, you can add theattribute forms in Report Objects to the report withoutreexecuting the report.
You can modify the attribute form display by
• right-clicking an attribute on a report or template
• using the Attribute Display dialog box, accessed from theData menu
For step-by-step instructions on displaying attribute formson a report or template, see the online help.
Compound attributes A compound attribute is defined as an attribute with morethan one column specified as the ID column. This implies, ofcourse, that more than one ID column is needed to uniquelyidentify the elements of that attribute. Generally, you build acompound attribute when your logical model reflects that acompound key relationship is present.
For example, a retail project has two attributes, Class andItem. Class is the parent of Item and has a one-to-manyrelationship with it. The values in the Item_ID column do notuniquely identify an item. The item shirt has an Item_ID of 1.However, there are different shirts, depending on theclass —men ’s, women ’s, and children ’s. Therefore, to uniquelyidentify a man ’s shirt, Item_ID and Class_ID must begrouped together, creating a compound attribute.
All of the ID forms of the compound attribute should be grouped together. They should also use the same
lookup table.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 285/489
Advanced Reporting Guide Attributes 9
© 2003 MicroStrategy, Inc. Example: creating a compound attribute 255
Example: creating a compound attribute
Report requirement
You need a report that contains sales figures by distributioncenter. Distribution center IDs are unique within eachcountry, but the same values can exist in different countries.
How can you accomplish this?
Solution
Create distribution center as a compound attribute, with twoattribute forms, ID and Description. When setting up the ID,select the source table columns for Country ID andDistribution Center ID. This creates a unique identifier foreach distribution center, regardless of country.
Next, build a report using the distribution center attribute
and a sales metric.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 286/489
Attributes Advanced Reporting Guide9
256 Example: creating a compound attribute © 2003 MicroStrategy, Inc.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 287/489
© 2003 MicroStrategy, Inc. 257
HIERARCHIES
Introduction
Hierarchies are groupings of attributes that can be displayed,either ordered or unordered, to reflect their relationships toother attributes. There are two types of hierarchies: user andsystem. A user hierarchy is unordered, and you can easilychange its design to include additional attributes or limit useraccess. This type of hierarchy is created to provide flexibilityin element browsing and report drilling. The systemhierarchy is ordered and it is created automatically when youcreate new projects.
This chapter discusses types of hierarchies, displays, and howto browse in a hierarchy.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 288/489
Hierarchies Advanced Reporting Guide10
258 Types of hierarchies © 2003 MicroStrategy, Inc.
Types of hierarchiesThere are two types of hierarchies:
• System hierarchy: The system hierarchy specifies anordered set of all attributes in the project but does notdefine ordering or grouping among attributes. The systemhierarchy represents the relationships as defined by thelogical data model. There is only one system hierarchy ineach project.
• User hierarchy: User hierarchies are named sets ofattributes and their relationships, arranged in specificsequences for a logical business organization. They areuser-defined and do not need to follow the logical model.
System hierarchy
The system hierarchy is the default hierarchy thatMicroStrategy 7 i sets up for you each time you create aproject. It contains all of the attributes in the project and isactually part of the definition of the schema. When you firstcreate a project, it contains only the system hierarchy.
The system hierarchy holds information on the relationships between attributes in the project. The system hierarchycannot be edited but is updated every time you add or removechildren or parents in the Attribute Editor, or when youdefine children in the Project Creation Assistant.
The system hierarchy is useful in determining relationships between objects. Attributes from the system hierarchy do notneed to be part of an explicitly-defined user hierarchy. Anyattributes that are not assigned to a user hierarchy remainavailable to the system as report objects, filter conditions,
and components of consolidations. You can view the system hierarchy in the DataExplorer or in the Hierarchy Viewer, but not theHierarchy Editor. The Hierarchy Viewer is accessedfrom Graphical View in the Schema menu.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 289/489
Advanced Reporting Guide Hierarchies 10
© 2003 MicroStrategy, Inc. Types of hierarchies 259
User hierarchies
When you create user hierarchies , you can define the browseand drill relationships between attributes. Browsing occursthrough the data explorer, whereas in drilling you are actuallychoosing to move to higher or lower levels on a report. Youcan create these hierarchies in the Hierarchy Editor usingone or more attr ibutes from the system hierarchy. All theattributes are listed for you to choose from.
A user hierarchy is the only type of hierarchy you can define,and you can create any number of user hierarchies for eachproject.
You should define user hierarchies that correspond to specificareas of your company business model and data warehouseschema.
Hierarchy tools
The following tools help you work with hierarchies:
• Data Explorer
• Hierarchy Viewer
• Hierarchy Editor (for user hierarchies only)
Data Explorer
The Data Explorer is a tool in the Object Browser that holdsthe system hierarchy and the user hierarchies. As a tool, itmakes the hierarchies available for users to include in newreports. When you create a new project, the system hierarchy
for that project is automatically placed in the Data Explorer.User hierarchies, however, are saved to the Hierarchies folderin the Object Browser. You can move user hierarchies to theData Explorer folder, which is under the Hierarchies folder,in the Object Browser when you want them available for usein element browsing. Moving hierarchies to and from thisfolder allows you to keep some hierarchies visible to the userwhile hiding others.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 290/489
Hierarchies Advanced Reporting Guide10
260 Types of hierarchies © 2003 MicroStrategy, Inc.
Hierarchy Viewer
The Hierarchy Viewer graphically represents userhierarchies and the system hierarchy. In the systemhierarchy, the connections between the attributes represent
the parent-child relationships. In user hierarchies, theconnections show the browse paths between the attributes.The Aerial perspective provides an overview of hierarchies;its decreased scale allows you to navigate through the entireproject.
The Hierarchy Viewer is accessed from Graphical View in theSchema menu.
Hierarchy Editor
The Hierarchy Editor allows you to modify user hierarchies by adding and removing attributes. You can also perform thefollowing actions to control hierarchy display:
• Lock a hierarchy.
• Limit a hierarchy.
• Filter a hierarchy.
• Set an entry point.
These properties are discussed in more detail in the Hierarchy display and Entry point sections following.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 291/489
Advanced Reporting Guide Hierarchies 10
© 2003 MicroStrategy, Inc. Hierarchy organization 261
Hierarchy organizationThe best design for a hierarchy is to organize or groupattributes into logical business areas. For example, you can
place related attributes into hierarchies by their level.The example below demonstrates the Location and Customerhierarchies. Within the Location hierarchy, State, City, andStore are organized according to their relationships. TheCustomer hierarchy also groups together the attributesCompany, Contact, and Customer.
Before MicroStrategy 7.0, hierarchies had to be separate anddistinct from one another, follow the dimensional structurein the logical data modeling, and include at least oneattribute. Beginning with MicroStrategy 7.0, however, theydo not follow these rules. Hierarchies provide convenientnavigation paths through the data.
Location
State
City
Store
Customer
Company
Contact
Customer
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 292/489
Hierarchies Advanced Reporting Guide10
262 Hierarchy display © 2003 MicroStrategy, Inc.
Hierarchy structure
The system hierarchy is a structure based on relationshipsyou define between attributes. A user hierarchy allows you tologically define and order groups of attributes. Both thesystem and user hierarchies allow you to navigate andorganize attributes in your project.
When you group attributes together into hierarchies, you aredeveloping a working design of the display and browsefunctions of the attributes. In the example below, there aretwo instances of the Region hierarchy. One hierarchydemonstrates Region having multiple States and the Stateshaving multiple Stores.
This hierarchy allows you to create drilling and browsingoptions to the lower levels to view Region, State, and Store ona report. But if you only include Store in the Regionhierarchy, as in the second example, then the only options fordrilling or browsing are the Region and Store levels.
Hierarchy display You can perform the following actions in the HierarchyEditor to control hierarchy display:
• Lock a hierarchy.
• Limit a hierarchy.
• Filter a hierarchy.
• Set an entry point.
Region
State
Store
Region
Store
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 293/489
Advanced Reporting Guide Hierarchies 10
© 2003 MicroStrategy, Inc. Hierarchy display 263
Locked hierarchy
A hierarchy is referred to as locked when at least one attributewithin that hierarchy has the Element display option set toLocked. Locking a hierarchy prevents viewing elements of thespecific attribute and any lower level attributes in thehierarchy. Anything higher in the hierarchy is still visible.
You can lock the hierarchy to restrict viewing elements forsecurity reasons or to better manage lengthy hierarchies. Byrestricting the view of attribute elements in the DataExplorer, you can prevent the expansion of long attributeelement lists that can consume system resources. When youset the element display to locked, a padlock icon displays nextto the attribute name.
For example, the attribute Order is locked in the DataExplorer sample shown below. This may be to preventunauthorized users from accessing sensitive informationabout customers.
Limited hierarchy
Another way to restrict the viewing of attribute elements inthe Data Explorer is to limit the number of elements thatdisplay at one time. This method is useful when there are
extensive attribute elements in a hierarchy. Instead ofloading all attribute elements at once, you can set the limit tofive or ten at time. You can then click the arrows to see thenext set of attribute elements.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 294/489
Hierarchies Advanced Reporting Guide10
264 Hierarchy display © 2003 MicroStrategy, Inc.
For example, the Chocolate subcategory contains manyitems. Rather than displaying all of them at once andoverwhelming the user, a limit of five items has been set. Thefollowing graphic displays this view in the Data Explorer.
Filtered hierarchy You can add filters to a hierarchy to control how data isretrieved and displayed. With a filter you can choose exactlywhich attribute elements display. For example, you can filtera hierarchy so that data for only one quarter displays, or datafor only a few individual days of one quarter. Filters makedata retrieval faster by only allowing specific data to display.However, you cannot use a prompt-based filter to filter ahierarchy.
Each attribute in the hierarchy can have multiple filtersapplied to it. When filtering attributes in a hierarchy, you arelimiting the elements of the data returned when you browsethe Data Explorer. Whereas setting limits can reduce thenumber of elements displayed at one time, filters can limitthe scope and return a subset of the results.
Filters increase efficiency when retrieving data. You can limituser access to parts of a hierarchy when you apply filters toattributes. The filters allow the Data Explorer to display only
the criteria you select, and the user is unable to see additionaldata in the hierarchy.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 295/489
Advanced Reporting Guide Hierarchies 10
© 2003 MicroStrategy, Inc. Entry point 265
For example, you want to view only those customers who areyounger than 30 years old. First, create a filter on customerage less than 30. In the Hierarchy Editor, add the filter to thecustomer attribute. Update the project schema, and view theCustomer hierarchy in the Data Explorer. Only thosecustomers younger than 30 years old are displayed.
When adding filters to an attribute in a hierarchy, youneed to make sure that each filter is relevant to theattribute ’s information. MicroStrategy 7 i does notvalidate that the associated filter makes sense on thatattribute. That is the responsibility of the user.
Entry point An entry point is a shortcut to an attribute in the DataExplorer. Creating an entry point grants you faster access tothe attribute without having to browse through multipleattributes to reach different levels of the hierarchy.
When you create a user hierarchy, the hierarchy, theattributes, and their elements display in the Data Explorer.When you set an attribute to be an entry point, you arecreating a shorter route to access attributes. For example, atypical hierarchy is Time. When you click on Time, folders foreach Year, such as 2002, 2001, and 2000, open. When youclick on 2002, a folder for each Quarter, such as Q1, Q2, Q3,and Q4, opens. If you are seeking Week24, this means youneed to open several levels of attributes to reach the correctdata level, which is Week. If you set the attribute Week as anentry point, the folder Week displays in the Data Explorer atthe same level as Year. If an attribute is not set to be an entrypoint, it displays in its normal hierarchy structure.
If you set a locked attribute as an entry point, it still displays
in the hierarchy but a with padlock icon. You can see thelocked entry point, but you are not able to access attributes below that level.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 296/489
Hierarchies Advanced Reporting Guide10
266 Hierarchy browsing © 2003 MicroStrategy, Inc.
Hierarchy browsing You can design the user hierarchy browsing for the DataExplorer by assigning browse attributes. A browse attribute
is the attribute child defined for the hierarchy attribute.When you apply browse attributes to attributes in ahierarchy, you are specifying what levels of detail are visiblewhen browsing the Data Explorer.
Once you choose which attributes to place in a hierarchy, youcan define the relationships between them. Theserelationships determine how the users can browse theattributes from the Hierarchies folder. For example, ifCatalog, Category, Subcategory, and Item are the attributesthat comprise the user hierarchy Catalog Items, the hierarchy
resembles the example below.
A user hierarchy does not need to have theserelationships defined. It can simply be a collection ofattributes.
For each attribute you select to be a part of the hierarchy, youcan assign one or more browse attributes to it. For example,assume that the same attributes have been defined for theCatalog Items hierarchy. Some of these attributes have beenassigned a browse attribute. For example:
Catalog
Category
Subcategory
Item
Hierarchy Attribute Browse Attribute(s)
Catalog Category, Subcategory
Category Subcategory
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 297/489
Advanced Reporting Guide Hierarchies 10
© 2003 MicroStrategy, Inc. Hierarchy browsing 267
The addition of these browse attributes allows you to see theSubcategory elements directly from the Catalog attribute,without having to first view the Category attributes. The newhierarchy can be represented as shown below.
In the Data Explorer, it resembles the example below.
You can now view the subcategories in the Spring 97 catalogwithout first having to browse through the categories.
Subcategory Catalog, Item
Item
Hierarchy Attribute Browse Attribute(s)
Catalog
Category
Subcategory
Item
Catalog ItemsCatalog
Spring 97
Category
Subcategory
Summer 97
Fall 97Category
Subcategory
Item
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 298/489
Hierarchies Advanced Reporting Guide10
268 Hierarchy browsing © 2003 MicroStrategy, Inc.
Drilling down using hierarchies
Drilling is a function in MicroStrategy 7 i reports that allowsyou to browse lower levels of attributes along predefinedcriteria. Depending on the level of the attributes included inthe drilling specification, reports allow the user to drill downto lower levels of detail. Basically, when the user selects adrilling level, the reports refresh to display that level of detail.
To enable a user hierarchy as a drill path, you must select theuser hierarchy to be used as a drill hierarchy in the HierarchyEditor. Drilling is governed by the Enable Drilling privilege.If a user hierarchy is not selected, the default drill path isdefined by the System Hierarchy. Also, the browsingattributes relationship in a user hierarchy can be viewed as apotential drilling path.
After a user hierarchy is enabled for drilling, it contributes tothe drilling path of any attributes in it. For instance, assumeWeek is a browsing attribute assigned to Year. When a userright-clicks on Year and selects Drill Down, the attributeWeek appears in the drill-down list.
Additional information on drilling is available in Chapter 11, Drill Maps .
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 299/489
© 2003 MicroStrategy, Inc. 269
DRILL MAPS
Introduction
Drill maps allow you to create fully customized drill pathsthat are available to your users while drilling on a report. Bydefault, the paths available are based on the system hierarchyof the project. You can create custom drill maps that canoverride these defaults.
This chapter describes how a drill map works, how to create adrill map, and how it can affect what you see when drilling ona report.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 300/489
Drill Maps Advanced Reporting Guide11
270 What is drilling? © 2003 MicroStrategy, Inc.
What is drilling? After executing a report in a MicroStrategy reportingenvironment, you may need to execute another report based
on the original report to get more detailed or supplementalinformation. For example, after looking at annual sales of acertain city, you may want to look at the monthly sales for thesame city. Alternatively, after noticing that a certain item hada very high profit margin, you may want to see if that is alsotrue for the entire category of that item. Such actions whereyou create a related report based on an existing report arereferred to as drilling .
Even though a report generated as a result of drilling isrelated to the original report, they are, in essence, two
entirely different reports. This means that the two reports can be saved or changed independent of each other. The tworeports are different either because they have differenttemplates or different filters, or both.
Drill maps and drill paths
Drill maps determine the options available to an end userwhen drilling on a report. By right-clicking on a report andchoosing the drill option, you are using drill maps.
When the drill hierarchies are created, a default drill map iscreated. If no drill hierarchies are created, then the systemhierarchy is used to create the default drill map. The drill mapdetermines what options are available to you when you drillon a report object. These different options are referred to asdrill paths , which includes the destination of the drill. Thedestination can be an attribute, a consolidation, a hierarchy,or a template.
In summary, a drill map determines what drill paths areavailable while drilling from a report object. By default, thedrill paths available to a report object reflect exactly the drillhierarchies of the project.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 301/489
Advanced Reporting Guide Drill Maps 11
© 2003 MicroStrategy, Inc. What is drilling? 271
Default drill paths
Before customizing your drilling options you need tounderstand how the default drill paths work.
The end user can drill from any object on a report, other thana simple metric. For example, drilling down from an attributeor hierarchy allows you to access other child attributes in thesame hierarchy. Drilling from a consolidation allows access tothe attributes that make up the consolidation. Note that bydefault in these types, drilling changes a report by navigatingthrough the drill hierarchies and selecting another attributeto view. The original object is replaced with the one drilled to.Drilling on a compound metric allows you to view the metricsthat compose it.
Filters and drilling
How a report ’s filter is changed while drilling depends onwhat part of the original report is selected when the drill isperformed. By default, if an attribute element on the originalreport is selected while drilling, then that attr ibute element isadded to the new filter created for the drill. The filter from theoriginal report on which you drill is carried over as well. Forexample, a report lists revenue by state and contains a filter
for 2000. You select Virginia when you drill to store. Theresulting report contains 2000 revenue for Virginia storesonly. You can change this default behavior for a drill path inthe Drill Map Editor and for a report in Report Data Options.
There are two ways to drill using the right-click menu.If you right-click a header, a filter is not added to thedrill. If you right-click an attribute element, the filter isused.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 302/489
Drill Maps Advanced Reporting Guide11
272 Creating custom drill maps and paths © 2003 MicroStrategy, Inc.
Creating custom drill maps and paths You can override the default drill map by creating your owncustom drill maps and paths. Once you begin customizing a
drill map for an object, none of the drill paths of the systemhierarchy are available for drilling on that object. Forexample, before you create a drill map for the attributeRegion, the default drill map is the system hierarchy, whichallows drilling up to Country and down to Call Center. Youcreate a drill map and add a drill path down to Employee. Youcannot drill to Country or Call Center from Region unless youadd them to your new drill map as well.
To create a custom drill path, you select a destination anddrill path type and set properties.
Destination
The destination is the object which you will drill to in thereport. This can be an attribute, consolidation, hierarchy,template, or another drill map. If the drill path is set to atemplate, every time you use this drill path a new report withthe selected template is generated. When an existing drillmap is chosen as the destination, it functions as a shortcut tothe drill paths of the selected drill map.
For each drill path type, you can have multiple destinations. You can create multiple drill paths in each drill map.
Drill path types
A drill path can be one of the following types:
• Up—The destination can be any attribute or consolidation
and does not have to be related to the original object. Thedestination is shown as part of the Drill Up menu whenyou right-click and select Drill in the report.
• Down —This is similar to Up, except that the destination isshown as part of the Drill Down menu when youright-click and select Drill.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 303/489
Advanced Reporting Guide Drill Maps 11
© 2003 MicroStrategy, Inc. Creating custom drill maps and paths 273
• Across —This is also similar to Up, except that:
– The destination is shown as part of the OtherDirections menu when you right-click and select Drill.
– A hierarchy can be used as a drill path.
• Template —This allows you to replace the template of theoriginal report template with a completely differentdestination template. Select the template to use as thedestination template.
• Drill Map —Use this as a shortcut to the drill paths ofanother drill map.
– The destinations of those drill paths are displayedalong with the destinations you have created. Forexample, you select a drill map that drills up to Brand. You already have a drill path up to Subcategory. Whenyou select Drill and Up, both Brand and Subcategoryare displayed.
– Select an existing drill map to use as the destination.
You can group drill paths together in the right-clickDrill menu by using the same Set Name for them. Thisis valid for all drill path types. Sets cannot cross drilltypes, so use them to group drill maps within a singledrill type, such as Up.
Drill path properties
The following properties affect how the filter is manipulated:
• Apply user filtering conditions
• Apply original report filter conditions
These properties are not mutually exclusive; you have four
combinations to choose from, which are listed below. Theexamples in the list are based on a report that lists revenue bystate and contains a filter for 2000. Virginia is selected whenthe report is drilled to store.
• Apply both. This is the default. The resulting reportcontains 2000 revenue for Virginia stores only.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 304/489
Drill Maps Advanced Reporting Guide11
274 Creating custom drill maps and paths © 2003 MicroStrategy, Inc.
• Apply neither. The drill report includes revenue, by city,for all years and all states.
• Apply the user selection. The new report displays Virginiarevenue for all years, listed by store.
• Apply the original only. The resulting report shows 2000revenue by store for all states.
The other property that affects the filter is Consider otherfilter qualifications when resolving metric qualificationsin the new report , which is related to the report filter ’sadvanced option. Both determine whether existing attributequalifications are merged when the filter is evaluated. Thereport filter setting affects the entire report, while the DrillMap Editor setting applies only when you drill on the report.For more information on the report filter setting, see Merge
attribute qualifications in Chapter 3, Filters . If you selectDefault in the Drill Map Editor, the report filter ’s setting isused. Select Yes to consider other qualifications or No toignore them, regardless of the report filter setting.
The Consider other filter qualifications property isapplied only if Apply user filtering conditions, Applyoriginal report filter conditions, or both theseproperties are selected.
For example, the following report contains a metric
qualification for the top three revenue-producing regions.The metric qualification merges the qualifications when thefilter is evaluated. This is the default setting.
Drill down on the Central region to Customer City. Thefollowing report is displayed:
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 305/489
Advanced Reporting Guide Drill Maps 11
© 2003 MicroStrategy, Inc. Creating custom drill maps and paths 275
The top three revenue-producing cities in the Central regionare selected and displayed. The qualifications were merged toproduce this result, since by default the drill map uses thereport filter ’s merge attribute setting. In this case, it is thesame as selecting Yes in the drill map setting.
Return to the original report, edit the drill map, and changethe Consider other filter qualifications property to No. Again drill down on the Central region to Customer City. Thefollowing report is displayed:
Only one city is displayed because the qualifications are not
merged. First, the top three revenue-producing cities areidentified, regardless of region. Then the drill to the Centralregion is applied to just those cities. Only one city, Chicago, ofthe three is in the Central region, so only that city is displayedon the final report.
The Keep parent object property determines whether theoriginal object appears in the destination report. By default,this setting is not selected. To continue with the state revenuereport example, the object name Virginia does not appear onthe new report:
Store Revenue
Alexandria $123,456
Arlington $435,345
Centreville $94,987
Fairfax $105,873
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 306/489
Drill Maps Advanced Reporting Guide11
276 Creating custom drill maps and paths © 2003 MicroStrategy, Inc.
If the default setting is changed, Virginia does appear on thereport:
This setting does not apply to the template drill type.
The Keep thresholds when drilling property retainsthresholds during a drill.
The Priority setting affects how the drill path is displayed in areport:
• Low: The drill path is available as a right-click menuoption in a MicroStrategy Desktop report. In aMicroStrategy Web report, this drill path is not availableas a right-click menu option but can be accessed from theMore Options link.
• Medium: The drill path is available as a right-click menuoption in both Desktop and Web reports.
• High: The drill path is used as the default drill path in both Desktop and Web reports. It is still available as aright-click menu option.
When a user double-clicks an object on a Desktop report, thedefault drill path is used. In Web, if an object on a grid has adefault drilling option, the elements of that object appear ashyperlinks on the grid. Click the hyperlink to drill on theelements.
To set a drill path as the default, assign its priority to High.Only one high priority drill path can exist in each drill map.
State Store Revenue
Virginia Alexandria $123,456
Arlington $435,345
Centreville $94,987
Fairfax $105,873
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 307/489
Advanced Reporting Guide Drill Maps 11
© 2003 MicroStrategy, Inc. Drill map association 277
Drill map associationThe drill map association defines which grid unit uses thisdrill map. In other words, drilling uses the object ’s associated
drill map. An object can have an association both on theobject level and on each template/report. If there is noassociation on the template/report level, then the associationon the object level is used when a user drills at that object.
If an object is already associated with a drill map, that drillmap is displayed in the Drill Map Editor. Otherwise, thedefault drill map is based on the system hierarchy. Once you begin to modify the default, it is no longer the systemhierarchy —the name changes automatically, although youcan edit this preset name. When you save your changes, a
new drill map is created. You can create and edit a drill map as a stand-alone objectfrom the Desktop. You can associate multiple objects with thesame drill map, using the Associate with button. Theassociated objects appear in the Origin list on the interface.
You can also access the Drill Map Editor from the:
• Attribute Editor
• Consolidation Editor
• Report Editor
• Template Editor
When you edit a drill map from another editor, the drill mapis associated with the object selected in the other editor. Youcannot change the drill map association (that is, what otherobjects are associated with this drill map), but you canchange which drill maps are associated with the selectedobject. For example, if you are editing the Store State
attribute and you access the Drill Map Editor, only StoreState is associated with the drill map you create.
If the original object is a template or report, the childrenobjects are also available. For example, a sales reportcontains Store, Store State, Item, and the Revenue metric. You can create a drill map for each of the grid units exceptRevenue, because you cannot create drill maps for metrics.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 308/489
Drill Maps Advanced Reporting Guide11
278 Drill map association © 2003 MicroStrategy, Inc.
Levels of drill map association
When you change or customize the drill map associated witha grid unit, you can do so at several different levels:
• Project level —If a drill map is associated with grid unitsat the project level, then all of the grid units in the projectwill have this drill map. Therefore, when you drill on areport, the default drill paths are those specified in thisdrill map. This option is found in Project Configuration.
• Grid unit level — A drill map can be associated withindividual grid units such as attributes, consolidations,and hierarchies. When the object is used in a report ortemplate, the grid unit level drill map overrides theproject level drill map.
• Template level —If a drill map is associated with gridunits on a particular template, it overrides the projectlevel and grid unit level drill maps. The drill paths of thisdrill map are available in all reports that use thistemplate.
• Report level —If a drill map is associated with grid unitson a report level, it overrides the drill maps defined at theproject level, grid unit level, and the template level. If agrid unit is not associated with a drill map at the reportlevel, it inherits the map from the report template. If it isnot associated with a drill map through the template, thenthe grid unit drill map is used, and so on.
The Drill Map Editor represents these levels and inheritanceswhen you edit a report ’s drill maps. If the Name field isgreyed out (disabled), the selected report object inheritedthat drill map from the project, grid unit, or template. Whenyou overwrite it by adding a different drill map to the object,the Name field is enabled.
For example, you create a drill map named Customer Attribute Drills for the attribute Customer. Create a reportnamed Customer Revenue that displays Region, Customer,and the Revenue metric. When you edit the drill maps for thereport and select Customer, the Name field is disabled butdisplays Customer Attribute Drills. No drill paths aredisplayed for the drill map. Because this attribute does not
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 309/489
Advanced Reporting Guide Drill Maps 11
© 2003 MicroStrategy, Inc. Drill map association 279
have a drill map on the report, it inherited the drill map fromthe attribute level. Because you cannot edit the attribute ’sdrill map from the attribute on the report, the Name field isdisabled and the drill paths do not appear. When a new drillmap is created for Customer on this particular report, Nameis enabled, defaulting to Customer Sales Customer Drill Map.
By default, there is a project drill map containing all of thehierarchies that have been specified as drill hierarchies usingthe Hierarchy Editor in the project. It cannot be deleted, butit can be modified and overridden.
Removing associations
The Remove Current Association option disassociates theobject from the current drill map and replaces it with itsdefault map. Depending on the levels described above, thisdefault map could be the template drill map, the grid unitdrill map, or the project drill map.
The Clear All option deletes all the drill path information forthe whole drill map. The object effectively has no drillingoptions. Reset reverses any changes and resets the drill mapto the condition of the last save. Drill map associations arereset as well.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 310/489
Drill Maps Advanced Reporting Guide11
280 Drill map association © 2003 MicroStrategy, Inc.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 311/489
© 2003 MicroStrategy, Inc. Associated terminology 281
DATA MARTING
Introduction
Data marting is the functional name for a set of capabilitiesoffered by MicroStrategy 7 i to store report results in aphysical table in a supported relational database.
This chapter describes the concepts you need to know to setup a data marting environment.
Associated terminologyThe following are terms associated with data marting:
• data mart —a database location, also known as a databaseinstance, dedicated to the storing of report results in theform of relational tables
• data mart report —a special kind of report that saves itsreport data in a database rather than returning thoseresults to the user
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 312/489
Data Marting Advanced Reporting Guide12
282 Sample business scenarios © 2003 MicroStrategy, Inc.
• data mart table —a table created by a data mart report
Sample business scenariosPossible data marting applications include
• Application subsetting, which uses MicroStrategy 7 ischeduling capabilities to create and periodically refreshlookup and fact tables as subsets of a central datawarehouse. For this type of data mart application,projects are built using MicroStrategy Architect.
• Warehouse building, through which you can generatewarehouse tables and modify existing schemas to enhance
query performance. With this type of application you can,for example,
1 build a report template layout to create a report thatyields an aggregated result
2 create a data mart report using the template you havecreated
3 add the report to a schedule to generate a data marttable
4 add the generated table to the metadata5 use the schedule created above to refresh the table at
either time- or event-driven intervals
• Third party tool integration, which uses ROLAP andMicroStrategy Desktop functionality to extract data froma massive warehouse and build a result table suitable forloading onto third party tools. This capability allows youto create a single table to feed a mass-mailing softwaretool or a similar closed-loop application, for example.
The primary purpose of data marting is the creation ofrelational tables that can be used and updated in the samemanner as those in a project schema. Data mart tables arecreated from the information in the columns and rows ofreports that are selected or created for this purpose.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 313/489
Advanced Reporting Guide Data Marting 12
© 2003 MicroStrategy, Inc. Sample business scenarios 283
To create a relational table for data marting
1 Either create a new report or select an existing one to usefor table creation.
2 Using the Report Editor, designate the report as a datamart report.
3 Set the relevant properties, such as table creationlocation, table name, VLDB properties, governingparameters, and so on, for the report.
4 Execute the report.
5 Resolve any prompts included in the report.
MicroStrategy 7 i then creates the data mart table in thedatabase you have selected. When table creation is complete,the system returns a message that includes the table nameand notification that table creation was successful.
For table and metric alias naming, ensure that thetable and metric alias names follow the namingconvention rules for your particular databaseplatform. You will receive an error if you do not use avalid table or metric alias name.
The output of data mart reports: relational tables
When the contents of a report have been used as input fordata marting purposes, the result is a table located in arelational database. Data mart tables possess all thecharacteristics of other data warehouse tables, and have,therefore, the same requirements for creation, including
• A name —This can be any name you want to assign to thetable. When the system notifies you that table creationwas successful, it includes the table name in the returnmessage. You can select whether the data mart table usesa placeholder as part of the table name.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 314/489
Data Marting Advanced Reporting Guide12
284 Sample business scenarios © 2003 MicroStrategy, Inc.
Placeholders allow you to modify table namesdynamically, according to need or convenience.Placeholders available for naming data mart tables are asshown as below.
Any character other than D,U, or O, invalidates aplaceholder and causes it to be deleted from the datamart table. Placeholder characters are case-sensitive;they should be entered in all-uppercase.
• A location — A data mart table can be located in anyrelational database. You specify the table location byselecting the database instance in which you want thetable to be created. It can be created in the same databaseas the warehouse or in a different platform altogether.These conditions apply to your selection of data marttable location:
– If the data mart database is in the same physicallocation as that of the warehouse, the results do not
need to be brought to the server for placement.– If the data mart database is in a different physical
location from that of the warehouse, the results setneeds to be brought to the server for insertion into thenew platform.
• VLDB properties —These govern creation parameters forthe CREATE TABLE statement. The syntax of thesestatements follows. The pre-SQL statement set is shownwith the VLDB properties in italics.
CREATE <<Table Qualifier>> TABLE <<TableDescriptor>><<Table Prefix>> [TABLE NAME]<<Table Option>> ([COLUMN DEFN]) <<TableSpace>> {PRIMARY INDEX/PARTITIONKEY/PRIMARY KEY} <<Create Table PostString>>
Placeholder Replacement Options
!U User login name
!D Date on which the table was created
!O Report name
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 315/489
Advanced Reporting Guide Data Marting 12
© 2003 MicroStrategy, Inc. Sample business scenarios 285
• Column name aliases — Attribute columns can haveuser-defined names in a data mart table. Attribute columnaliases are specified through the Attribute Editor.
• Governing parameters —These specify maximum valuesfor execution time and for the number of rows to be sentto the Analytical Engine. The maximum row settingapplies only to a data mart report that calls the AnalyticalEngine, like using the function runningMax in a metricdefinition.
Pre- and post-SQL statements allow the application ofuser-defined SQL before and after the creation of datamart tables. Possible uses include GRANT privilegesand index creation.
Pre- and post-table creation settings apply to data
mart tables only; they do not affect settings generatedto process a report.
Custom groups in data mart tables
Since custom groups do not exist as columns in thewarehouse, when a report includes a custom group theresulting data mart table contains data that does not directlymap to corresponding columns in a warehouse table. For thisreason, data derived from custom group columns is handleddifferently.
This figure shows how columns appear in data mart tablescreated from reports that include custom groups.
In a table structured as shown:
• The Element ID column contains the IDs of the customgroup elements as generated by the engine.
• The Element Name column contains the descriptions ofcustom group elements.
Elm_ID Elm_Name F_ID F-Name Band Metric_Value
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 316/489
Data Marting Advanced Reporting Guide12
286 Sample business scenarios © 2003 MicroStrategy, Inc.
The figure that follows shows part of a sample table thatincludes custom group data.
In this example,
A points to the element-ID column as it appears in the datamart table. Element IDs (1, 2, 3,...) are extracted from thecorresponding custom group elements in the report.
B points to the element names as they appear in the datamart table. These names are extracted from thecorresponding custom group element names in the report.
Similarly, when a report includes columns that reflectconsolidations, the SQL Engine provides element ID valuesfor the data mart table. In such cases, the table structurelooks like the following.
In a table structured as shown:
• The Element_ID column contains values provided by theengine.
• The Element_Name column contains the names ofconsolidation elements.
For more information on custom groups, custom groupelements, consolidations, and consolidation elements, seeChapter 5, Custom Groups and Consolidations .
Element_ID Element_Name Filter_ID Band Metric_Value 1 NE Stores New York Virginia 2 SW Stores Colorado Utah 3 1997 Toppers New York 1997 Colorado 1997
A B
Elm _ID Elm_Name Metric_Value
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 317/489
© 2003 MicroStrategy, Inc. 287
TRANSFORMATIONS
Introduction
Transformations are one of many MicroStrategy 7 itechniques used to perform time-series analysis, which is atype of analysis relevant to many different industries,including retail, banking, and telco. A typical example of thistype of analysis is a TY/LY comparison (This Year versus Last Year). To calculate a variance or a growth percentage, forexample, last year ’s revenue versus this year ’s revenue, it isvery convenient to use a transformation even though thereare alternatives. Transformations are often the most genericapproach and can be reused and applied to other time-seriesanalyses.
This chapter details transformations. It discusses thedifferent types of transformations and how to create and usethem.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 318/489
Transformations Advanced Reporting Guide13
288 What is a transformation? © 2003 MicroStrategy, Inc.
What is a transformation? A transformation is a schema object that encapsulates a business rule used to compare results of different time
periods. Usually defined by a project designer,transformations are used in the definition of a metric to alterthe behavior of that metric.
Recall the example used in the Introduction , the TY/LYcomparison. To calculate this year ’s revenue, you can use theRevenue metric in conjunction with a filter for this year.Similarly, to calculate last year's revenue, you can use theRevenue metric in conjunction with a filter for last year.However, a more flexible alternative is to use a previouslycreated Last Year transformation in the definition of a new
metric, last year ’s revenue. With a single filter, on 2001 forexample, the two metrics Revenue and Last Year Revenuewill give you results for 2001 and 2000, respectively.
Since a transformation represents a rule, it can describe theeffect of that rule for different levels. For instance, the Last Year transformation intuitively describes how a specific yearrelates to the year before. It can in addition express how eachmonth of a year corresponds to a month of the prior year. Inthe same way, the transformation can describe how each dayof a year maps to a day of the year before. This information
defines the transformation and abstracts all cases into ageneric concept. That is, you can use a single metric with alast year transformation regardless of the time attributecontained on the report.
The definition of the association between the original valueand the transformed one can be represented in an expressionthat uses columns of the warehouse, constants, arithmeticoperators, and mathematical functions. However, it issometimes desirable to precalculate these values and storethem in a table designed for the transformation. This process
is sometimes referred to as table-based transformation. Theadvantage is the possible use of indexing to speed querytimes, but it requires the management of an additional tablein the warehouse. Returning to the TY/LY example, you havethe option of using a simple formula such as Year - 1 in thedefinition of the transformation or precalculating the dataand storing it in a column in a table.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 319/489
Advanced Reporting Guide Transformations 13
© 2003 MicroStrategy, Inc. Transformation metrics 289
Transformation metricsTransformations are used to compare values at differenttimes. For example, you want to compare sales for this month
against sales for the previous month, the same month in theprevious year, and so on. Another example is the comparisonof year-to-date data against daily sales data. The simplemetric tallies daily sales. The transformation metriccalculates a rolling total of sales on a daily basis.
While transformations are most often used for discoveringand analyzing time-based trends in your data, not alltransformations have to be time-based. An example of anon-time-based transformation is This Catalog/Last Catalog,which might use catalog_ID-1 to perform the transformation.
You use transformations to define transformation metrics. Atransformation metric is a metric that takes the properties ofthe transformation applied to it. For example, if you create ametric to calculate total sales and add a Last Yeartransformation to it, the metric now calculates last year ’stotal sales.
Any transformation can be included as part of the definitionof a metric. Multiple transformations can be applied to thesame metric.
Transformations are schema objects and thereforeonly a project designer with schema object privilegescan create them.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 320/489
Transformations Advanced Reporting Guide13
290 Transformation metrics © 2003 MicroStrategy, Inc.
Transformation metrics and joint child attributes
In a report, a transformation metric displays the currentattribute with transformed data, that is, the values fortransformation. For example, a report contains quarter andthe transformation metric Last Year ’s Revenue. Each quarteris displayed, with the previous year ’s revenue, as shown below:
When a joint child attribute is added, a conflict arises. Thedisplayed attributes should still be current, with transformeddata. However, since the joint child attribute essentiallyexists in both the time dimension and a non-time dimension,it is not intuitive how the transformation should beperformed.
For example, promotion is added to the previous report. The joint child attribute cannot be transformed because not all ofits joint children —promotion type and item —aretime-related. The report displays the current date, thepromotion associated with the current date, and the datafrom the date-promotion combination, minus one year. Asample report is shown below.
Quarter Last Year ’s Revenue
Q1 1998 $1,884,444
Q2 1998 $2,585,002
Q1 1999 $1,545,399
Q2 1999 $2,861,785
Quarter Promotion Last Year ’s Revenue
Q1 1998 Post-Christmas $1,366
Q2 1998 Spring Readiness $483
Q1 1999 Post-Christmas $180Q1 1999 Valentine ’s Day $99
Q2 1999 Spring Readiness $120
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 321/489
Advanced Reporting Guide Transformations 13
© 2003 MicroStrategy, Inc. Transformation components 291
Notice that the Valentine ’s Day promotion existed in 1999 butnot in 1998. While you may want to see it listed for 1998,remember that only the metric values are transformed, notthe attributes. That is, since the Valentine ’s Day promotionwas not run in 1998, the Valentine ’s Day-Q1 1998combination cannot be displayed on the report. No falseinformation is generated.
Transformation components All transformations have the following components:
• Member attributes —This component contains theattributes to which the transformation applies, that is, thedifferent levels to which the rule applies.
For example, in the Last Year transformation in theMicroStrategy Tutorial, the member attributes are Year,Quarter, Month, and Day.
• Member expressions —Each member attribute has acorresponding expression. In the most generic case, this isan expression that uses constants, arithmetic operators,mathematical functions, and columns from thewarehouse, typically the attribute ID column.
For example, you might create a Last Year transformationusing Year_ID-1 as the expression. However, many casescan exist where the data is not conducive to suchcalculation. If you store Month as 200001 (January2000), you cannot subtract one and receive December1999 as the result. A significant advantage to suchdynamic calculation is that the database administratordoes not have to create and maintain a transformationtable. The drawback is that the system must perform thecalculation every time.
There is an important special case where the expression issimply a column from a specific warehouse tablespecifically populated with data supporting thetransformation. The rule is then not encapsulated in anexpression but directly in the data of the column. Sincethe data defines the rule, this approach providesconsiderable flexibility in the transformation definition. It
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 322/489
Transformations Advanced Reporting Guide13
292 Transformation components © 2003 MicroStrategy, Inc.
is particularly effective when no straight-forward formulacan express the rule. In fact, in the case of a one-to-manytransformation, a separate table is required. Thedisadvantage is that the database administrator mustcreate and maintain the additional transformation tablein the warehouse. However, once the table is created, itusually significantly decreases the query time.
• Member tables —Each member expression is based on aspecific table, generally the lookup table corresponding tothe attribute being transformed, unless a table wasspecifically introduced to support this transformationlevel.
• Mapping type —This component determines how thetransformation is created based on the nature of the data.The mapping can be one of the following:
– One-to-one — A typical one-to-one relationship is “lastyear to this year. ” One day or month this year mapsexactly to one day or month from last year.
– One-to-many — A typical one-to-many relationship isyear-to-date. For one date, there are many other datesincluded in the year-to-date calculation.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 323/489
Advanced Reporting Guide Transformations 13
© 2003 MicroStrategy, Inc. Example: transformations 293
Example: transformations
Report requirement
You need to analyze your revenue growth quarter to quarter.
How can you accomplish this?
Solution You can use a transformation metric.
Creating a transformation metric involves two steps. First,the transformation object is defined in the TransformationEditor. Then, the transformation metric needs to be createdin the Metric Editor.
The project designer needs to provide his users with a LastQuarter transformation that maps every quarter to the
previous one, every month in each quarter to the same monthin the previous quarter, and every day of a quarter to thesame day in the previous quarter. Refer to the MicroStrategyTutorial ’s example of such a transformation. It is called Lastquarter and located in the Transformations subfolder of theSchema Objects folder.
Once the transformation is created, you can use it in a metric,perhaps Revenue, that will yield last quarter ’s revenue. In theMetric Editor, specify the formula for the metric. To calculatethe growth quarter to quarter, use the original revenue metric
and the new last quarter revenue metric. Select thetransformation pane and drag the transformation that you just created into the transformation pane.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 324/489
Transformations Advanced Reporting Guide13
294 Example: transformations © 2003 MicroStrategy, Inc.
The final report contains the quarter attribute and the growthmetric created as above.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 325/489
© 2003 MicroStrategy, Inc. Why should I use aggregate tables? 295
AGGREGATE TABLES
Introduction
Aggregate tables are summary tables that store data at higherlevels than how the data was initially captured and saved. Aggregate tables provide quicker access to frequentlyexamined information, while retaining the traditional powerof ROLAP to directly query the database to answer anyquestion.
This chapter describes how and why aggregate tables areused. It builds on your knowledge of fact tables.
Why should I use aggregate tables?MicroStrategy uses optimized SQL to query the relationaldatabase directly to answer users ’ questions. Users cantherefore ask any question that is supported by the data intheir warehouse and then analyze the results until they findtheir precise answer. The disadvantage to this relationalOLAP (ROLAP) methodology is that accessing huge fact
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 326/489
Aggregate Tables Advanced Reporting Guide14
296 Aggregation terminology © 2003 MicroStrategy, Inc.
tables can be potentially time-consuming. MultidimensionalOLAP ( MOLAP ) was considered by some to be the answer tothis problem. However, it is not scalable for large projects because of the difficulty of maintaining every possiblecombination of aggregates as the number of attributes andthe amount of data increases. MicroStrategy ’s solution is theuse of aggregate tables to provide quicker access tofrequently-asked data while still retaining the power toanswer any user query.
Some advantages of aggregate tables are as follows:
• reduce input/output, CPU, RAM, and swappingrequirements
• eliminate the need to perform dynamic calculations
• decrease the number of physical disk reads and thenumber of records that must be read to satisfy a query
• minimize of the amount of data that must be aggregatedand sorted at run time
• move time-intensive calculations with complicated logicor significant computations into a batch routine fromdynamic SQL executed at report run time
In summary, the MicroStrategy SQL Engine in combinationwith aggregate tables and caching can produce results atabout the same speed as MOLAP. But the ability to answerquestions on the fly is still retained, and the solution isscalable for large databases, unlike MOLAP.
Aggregation terminologyNow that you know why you should use aggregate tables, thefollowing terms and definitions will familiarize you with basicterminology and therefore the basic concepts.
MicroStrategy creates aggregates only on fact tables, sincelookup tables and relationship tables are usually significantlysmaller. Therefore, to understand aggregate tables, youshould be familiar with fact tables in the context of datamodeling and data warehousing. For more information on
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 327/489
Advanced Reporting Guide Aggregate Tables 14
© 2003 MicroStrategy, Inc. Aggregation terminology 297
these topics, see Chapter 7, Facts , and Appendix C, Advanced Data Modeling , as well as the Data Modeling appendix in the Basic Setup Guide .
Aggregation versus pre-aggregation
Whenever the display level of data on a report must differfrom the level at which it is initially captured, aggregation ,that is, the rolling up of data, must occur. By default,aggregation occurs dynamically with a SQL statement atreport run-time. For example, sales data is stored by day in afact table. A report requesting month-level data is executed.The daily values from the fact table are selected, sorted, andadded to produce the monthly totals, as shown below.
Aggregation can also be completed before reports are run,with the results stored in an aggregate table. This process iscalled pre-aggregation . You can build thesepre-aggregated —or aggregate —tables as part of the ETLprocess. If sales data is frequently requested at the monthlevel, as in the previous example, an aggregate table with thesales data rolled up to the month level is useful. This
Select Attributes, SUM(Facts)from LU_Table, Fact_TableWhere Join(FactLU)
Qualifications(Month=March,Store=1, Item=10)
Group by Attributes
1
Store_ID
...
1
1
1
160
Revenue
...
200
240
280
10
Item_ID
...
10
10
10
3/9/99
Day_ID
...
3/12/99
3/11/99
3/10/99
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 328/489
Aggregate Tables Advanced Reporting Guide14
298 Aggregation terminology © 2003 MicroStrategy, Inc.
eliminates the reading, sorting, and calculation of data frommany rows in a large, lower-level fact table at run time. Thefollowing diagram illustrates this.
If the daily sales fact table is the lowest-level fact table andcontains atomic -level data, it is referred to as a base table . Inthese terms, an aggregate table is any fact table whose datais derived by aggregating data from an existing base table. Itcan also be defined as a summary table, storing data at ahigher level than how the data was initially captured andsaved.
...
1
1
1
...
200
240
280
...
10
10
10
...
3/12/99
3/11/99
3/10/99
1
Store_ID
160
Revenue
10
Item_ID
3/9/99
Day_ID
1
Store_ID
10
Item_ID
199903
Month_ID
1305584
Revenue
Pre-aggregateinto aggregate
table
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 329/489
Advanced Reporting Guide Aggregate Tables 14
© 2003 MicroStrategy, Inc. When should I use aggregate tables? 299
Degree of aggregation
While MOLAP can provide fast performance when it cananswer a question, it requires a completely aggregatedschema to answer the most questions. That is, every possiblecombination of aggregate associations must be generatedwhen the multidimensional cube is built. This ensures that allpossible questions can be answered. This scenario becomesvery difficult to maintain as the number of attributes and theamount of data increase, and therefore is not very scalable.
In a ROLAP environment, the degree of aggregation can be asdense or as sparse as is appropriate for the users. A denselyaggregated warehouse has a large number of aggregate tableswhile a sparsely aggregated warehouse has fewer. Sparseaggregation refers to the fact that a given project onlyrequires as many aggregate fact tables as is useful to its users.
ROLAP, therefore, provides much greater flexibility. Only theaggregate combinations that the project administratordetermines are beneficial must be created. That is, if theaggregate table is useful in answering frequently-askedqueries, its presence provides a response as fast as a MOLAPsystem can provide. However, if a certain aggregatecombination is rarely or never used, the space in the RDBMSdoes not need to be consumed and the resources to build thattable during the batch process do not need to be used.
When should I use aggregate tables?Not every attribute level or hierarchy intersection is suitablefor pre-aggregation. Build aggregate tables only if they will benefit users, since the creation and maintenance ofaggregate tables require additional work by the databaseadministrator. Also, do not waste the database space if thetables will not be used.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 330/489
Aggregate Tables Advanced Reporting Guide14
300 When should I use aggregate tables? © 2003 MicroStrategy, Inc.
Some factors to consider when deciding whether to createaggregate tables:
• the frequency of queries at that level
• the relationship between the parent and child
• the compression ratio
Frequency of queries at the level
Build aggregate tables only if they will be useful to your users.If aggregate tables are never accessed, they consume diskspace and impose unnecessary burdens on the extraction,transaction, and loading process, as well as the database backup routines. This is in direct contrast to why you createaggregate tables.
However, usefulness is not always easy to quantify. Forexample, consider the following hierarchy:
The summary of data to the department level seems to be agood candidate for an aggregate table. However, if usersfrequently want to exclude inactive items, the query must useitem-level data and summarize the department datadynamically. Therefore, the department aggregate tableswould not be used in this situation.
Once your warehouse is in production, trace the usage of theaggregate tables to determine how frequently they are used in
real life. If any table is not used, eliminate it from thewarehouse. MicroStrategy Enterprise Manager allows you toeasily track table usage. For more information on EnterpriseManager, see the MicroStrategy System AdministrationGuide .
Department
Item
Active Flag
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 331/489
Advanced Reporting Guide Aggregate Tables 14
© 2003 MicroStrategy, Inc. When should I use aggregate tables? 301
Relationship between the parent and child
When an aggregate table is created, the child records areusually summarized into the parent record, based on the keycombinations in a relationship table. In any hierarchicalrelationship, when the parent-child relationship is altered, alltables that hold that relationship or data relevant to it must be updated. Whether these relationships are dynamic orstatic change how they are aggregated into tables.
Dynamic relationships
When the relationship between parent and child elementschange, the relationship is called dynamic . These changes
often occur because of organizational restructuring;geographical realignment; or the addition, reclassification, ordiscontinuation of items or services. For example, a store candecide to reclassify the department to which items belong.
Aggregate tables that contain dynamic relationships must berecalculated every time a change is made. If the tables arelarge, this process can take time, consume resources, andcomplicate the batch process. Frequent changes can meanaggregate tables are not optimal for this situation. Considerthe frequency of the changes, the table size, and the impact
on the batch process, and then balance the disadvantagesagainst the advantages of having an aggregate table.
Static relationships
When elements rarely or never change relationships, they aretermed static relationships . In these cases, maintenance ofaggregate tables is very easy. For example, time hierarchiesare seldom dynamic —days do not migrate into different
weeks, and fiscal weeks do not move into different months.
Also, rolling up an entire hierarchy can avoid many problemswith relationship changes. For example, a table contains onevalue for the sum of all stores. It is not affected by areorganization within the geography hierarchy.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 332/489
Aggregate Tables Advanced Reporting Guide14
302 When should I use aggregate tables? © 2003 MicroStrategy, Inc.
Compression ratio
The process of data aggregation applies an aggregate function , such as sum or average, to a set of child records toproduce a single parent record. The average number of childrecords combined to calculate one parent record is called thecompression ratio . The effectiveness of an aggregate tablecan be estimated from this number, since it represents thedecrease in records that must be read to respond to a query atthat level.
Recall that some of the reasons to build aggregate tables arethe reduction of disk I/O and the amount of records thatmust be dynamically sorted and aggregated. Therefore,pre-aggregating data is effective only if the compression ratiois significant. If the compression ratio is 3:2, the aggregatetable requires 2/3 of the base table ’s storage space but yieldsonly a 1/3 reduction in the number of records. In contrast, ifthe compression ratio is 4:1, the aggregate table reduces thenumber of records by 3/4 and uses only 1/4 of the storagespace.
When the number of elements differs significantly betweentwo attributes in the same hierarchy, the compression ratiosuggests that an aggregate table can provide more efficientqueries. Also, for smaller base tables, the resource demandsplaced on the database server by dynamic aggregationsdecrease and therefore so does the effectiveness ofpre-aggregation. To determine when pre-aggregation isworthwhile for your system, you must balance theimportance of speed and the availability of disk space andresources to maintain the schema.
For more information on ratios, refer to the Data Modelingappendix of the Basic Setup Guide .
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 333/489
Advanced Reporting Guide Aggregate Tables 14
© 2003 MicroStrategy, Inc. Integrating aggregate tables 303
Integrating aggregate tables
To integrate an aggregate table into an existing project
1 Add the table to the project in the Warehouse Catalog.
2 Use the new table in the desired fact expressions andattribute form expressions.
If your aggregate table structure is consistent with your basefact table structure, Architect automatically adds it to thedefinitions of your existing attributes and facts. In otherwords, Architect is aggregate-aware. How does Architectknow to use the aggregate table rather than the base facttable, when either could provide the answer to a query? Theanswer is logical table size.
Logical table size
Architect assigns a size to every table in the project when youfirst add them to the project. These size assignments arestored in the metadata and are calculated based on the table
columns and their corresponding attributes. Because Architect uses the conceptual or logical attribute definitionswhen assigning sizes, this measurement is known as thelogical table size .
When you run a report, the Analytical Engine chooses thesmallest of all tables, based on logical table size, that containsenough data to answer the query.
Changing the logical table sizeRemember that the initial logical table size is based on thenumber of attribute columns and the various levels at whichthey exist in their respective hierarchies. Suppose the basefact table contains millions of rows of transaction-level detail.The other tables, however, have only higher-level orsummary information. Because the attribute levels are lower
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 334/489
Aggregate Tables Advanced Reporting Guide14
304 Integrating aggregate tables © 2003 MicroStrategy, Inc.
in the base fact table, the table as a whole is assigned a highervalue for the logical table size than are the summary tableswith higher-level attributes.
Logically, a table with a higher-level attribute should besmaller in size. Of course, this is not always true in a realwarehouse. Therefore, the Logical Table Editor allows you toalter the logical table sizes based on their true relative sizes.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 335/489
© 2003 MicroStrategy, Inc. 305
P ARTITION MAPPING
Introduction
Partition mapping divides large logical tables into smallerphysical tables based on a definable data level, such as monthor department. Partitions improve query performance byminimizing the number of tables and records within a tablethat must be read to satisfy queries issued against thewarehouse. By distributing usage across multiple tables,partitions improve the speed and efficiency of databasequeries.
Time is the most common category for partitioningdatabases. Partitioning by time limits growth of the databasetables and increases stability.
This chapter describes the concepts you need to know beforemapping partitions.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 336/489
Partition Mapping Advanced Reporting Guide15
306 Server versus application partitioning © 2003 MicroStrategy, Inc.
Server versus application partitioningPartitioning can be managed by either the database server orthe MicroStrategy 7 i application. Either way, the tables are
partitioned at the database level —the terms application andserver refer to what manages the partitioned tables, notwhere the tables are split.
Server-level partitioning
In RDBMS server-level partitioning, the database serverrather than MicroStrategy 7 i manages the partitioned tables.The original fact table is not physically broken into smallertables. Instead, the database server logically partitions thetable according to parameters specified by the databaseadministrator. You do not need to take any action inMicroStrategy to support the partitioning.
Since only the logical table is displayed to the end user, thepartitioning is transparent to MicroStrategy. In contrast, inapplication-level partitioning the relational database isunaware of the partitioned tables.
Refer to your database documentation for details on serverpartitioning for your particular platform.
Application-level partitioning
In application-level partitioning the application, rather thanthe RDBMS server, manages the partition tables. A partitionbase table (PBT) is a warehouse table that contains one partof a larger set of data. Partition tables are usually divided
along logical lines, such as time or geography. MicroStrategy7i supports two types of partitioning:
• Metadata partition mapping stores the mappinginformation in the project metadata.
• Warehouse partition mapping uses a specializedwarehouse table to determine which table to access.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 337/489
Advanced Reporting Guide Partition Mapping 15
© 2003 MicroStrategy, Inc. Metadata partition mapping 307
Metadata partition mapping Metadata partition mapping is the mapping of partitionscarried out and maintained in the project metadata at the
application level. MicroStrategy 7 i manages the mapping between the logical table and the physical tables. This designmakes it easier for you to specify a flexible partitioningschema.
In a metadata partition mapping, you specify one or morepartitioning attributes in the Metadata Partition MappingEditor. Next you define what attribute elements within thoseattributes should point to which PBT. You create all of therules for choosing the appropriate PBT here and the rules arestored in the MicroStrategy metadata.
Homogenous and heterogeneous partitions
Metadata partitions can be homogenous or heterogeneous.With heterogeneous partitioning, the PBTs can have differentamounts of data stored in them at different levels. Forexample, one table can contain six months of sales data, whileanother stores an entire year. The PBT level, or key, refers tohow the data is stored. For example, sales data for the currentyear can be stored at the daily level, while historical data issaved by month only.
MicroStrategy 7 i stores one PBT level for each partition. If allthe PBTs within a partition are not stored at the same level,the highest PBT level is used as the PBT level of the partition.For instance, if all the sales data in the previous example isstored in one partition, you will not be able to access currentsales at the day level. This is because the PBT level for thepartition is month, which is higher than day. If you savecurrent data in a partition at the daily level and the historicaldata in another, at the month level, you will be able to fullyaccess the data.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 338/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 339/489
Advanced Reporting Guide Partition Mapping 15
© 2003 MicroStrategy, Inc. Warehouse partition mapping 309
Attribute qualifications
To create data slices, you use attribute qualifications. Attribute qualifications are types of filters that are applied toattribute forms. These qualifications allow you to limit thetype and amount of data that is returned for a report. Forexample, if you create a report that contains the attributeCountry but you want to return only the results for France,you can create a qualification on the attribute Country anduse France as the element that appears on the report.
Warehouse partition mapping
Warehouse partition mapping is the mapping of partitionscarried out and maintained in the warehouse. You can definea warehouse partition by adding a table with a specialstructure through the warehouse catalog. This table containsthe map for the partition, which is stored in the warehouse.Warehouse partitions divide tables physically along anynumber of attributes, though this is not visible to the user.
Warehouse partitions must be homogenous, unlike metadatapartitions, so that the same amount of data is stored at thesame PBT level and the same facts and attributes are defined.Homogenous partitioning divides data of equal levels, likeJanuary and February.
The original fact table, which contains all of the data, is not brought into the project. Rather, the database administratorcreates multiple smaller physical tables in the datawarehouse. Each table contains a subset of the data in theoriginal fact table. The database administrator is responsiblefor keeping the partitions consistent and up-to-date. He mustalso create and maintain a partition mapping table (PMT),which is used to identify the partitioned base tables as part ofa logical whole.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 340/489
Partition Mapping Advanced Reporting Guide15
310 Metadata versus warehouse partition mapping © 2003 MicroStrategy, Inc.
After the PMT is created, when you run a report in Desktop orWeb that requires information from one of the PBTs, theQuery Engine first runs a pre-query to the PMT to determinewhich PBT to access to bring the data back for the report. Thepre-query requests the PBT names associated with theattribute IDs from the filtering criteria. When it finds thename of the PBT, it calls the SQL Engine to write theappropriate SQL for the warehouse.
There are no data slices in the warehouse partition.
MicroStrategy 7 i supports warehouse partitions on both upgraded and newly created projects. These areadded using the Warehouse Catalog Browser.
Metadata versus warehouse partition mappingBefore MicroStrategy 7, warehouse partition mapping wasthe only type of application-level partition mapping available.Now you have a second option, metadata partition mapping,which does not require any additional tables in thewarehouse. Metadata partition mapping is generallyrecommended over warehouse partition mapping inMicroStrategy 7 i. However, if you already have partitionmapping tables that you set up in MicroStrategy 6.x, you cancontinue to use warehouse partition mapping inMicroStrategy 7 i. The basic concepts are similar between thetwo strategies.
Metadata partition mapping is recommended because you donot need to create and maintain partition mapping tables inthe warehouse. You create the rules in MicroStrategy 7 i thatthe Query Engine uses to generate the SQL to run reports.Because you create the partitions directly in the metadata, itis easier to maintain.
Metadata partition mapping also allows both heterogeneousand homogenous partitions, unlike warehouse partitionmapping. Only homogenous partitions can be used inwarehouse partition mapping.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 341/489
© 2003 MicroStrategy, Inc. What is the MicroStrategy Tutorial? 311
MICRO S TRATEGY TUTORIAL
Introduction
This appendix provides information on the MicroStrategyTutorial, including the data model and physical warehouseschema.
What is the MicroStrategy Tutorial?The MicroStrategy Tutorial is a MicroStrategy 7 i project(metadata and warehouse are included) and a set ofdemonstration applications designed to illustrate the richfunctionality of the MicroStrategy 7 i platform.
A project is the highest-level intersection of a datawarehouse, metadata repository, and user community.Conceptually, the project is simply the environment in whichall related reporting is done. You create the projects thatusers access to run reports.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 342/489
MicroStrategy Tutorial Advanced Reporting GuideA
312 What is the MicroStrategy Tutorial? © 2003 MicroStrategy, Inc.
The theme of the MicroStrategy Tutorial project is a retailstore for the 2000 - 2001 time period that sells electronics, books, movies and music. The key features include
• Five hierarchies: Customer, Geography, Products,Promotions, and Time. Each hierarchy can be viewedgraphically through MicroStrategy Desktop and Web(through documents)
• 10,000 customers and 400,000 items purchased
• Five reporting areas: Human Resources, Inventory,Financial, Product Sales, Supplier
• Options to create reports from MicroStrategy Web orDesktop focusing on a particular analysis area, such asCustomer, Inventory, Time, Products, Category,Employee, or Call Center
MicroStrategy Tutorial reporting areas
As noted above, the analysis areas are grouped into fivereport categories that illustrate the various types of businessanalysis possible with MicroStrategy 7 i:
• Financial —Reports containing information based ontime, geography, and products, such as Regional and
Quarterly Profit Margins.The Financial Reports represent the types of financialreports used in any business. These reports include profitand loss information, company forecasts, and marginreports. These reports give executives, general managers,and operations managers immediate access to financialdata so that they can quickly analyze trends and keyperformance indicators. They ensure that alldecision-makers have access to a single repository offinancial information, so executives can be sure that
departments are all working from the same set of facts.Decision-makers are able to determine immediately theprofitability of categories, departments, districts, and business units. Individual managers are able to determinetheir own performance against budget plan and standard
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 343/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 344/489
MicroStrategy Tutorial Advanced Reporting GuideA
314 The MicroStrategy Tutorial data model © 2003 MicroStrategy, Inc.
• Supplier —Reports containing supplier, sales, profit, andrevenue information, such as Brand Sales by Supplier,Supplier Sell-Through Percentage, and Units Sold andProfit by Supplier.
The Supplier Reports allow managers and analysts tomonitor and analyze vendor performance so that they canquickly identify performance problems. These reportstrack brands and items sold that came from a particularvendor. They also correlate profit and revenueinformation with particular suppliers so that relationshipswith key vendors can be strengthened.
These reports are located in the Reports folder of theMicroStrategy Tutorial project.
Once the areas of analysis are determined, a data model iscreated.
The MicroStrategy Tutorial data model A logical data model graphically depicts the flow andstructure of data in a business environment. It provides a wayof organizing facts so that they can be analyzed from different business perspectives. For example, a simple logical datamodel for a retail company might organize all necessary facts by store, product, and time —three common businessperspectives typically associated with retail business.
For more detailed information about data modeling, refer tothe Data modeling appendix in the Basic Setup or Introduction to MicroStrategy 7i documents.
For the purpose of the MicroStrategy Tutorial, the areas ofanalysis discussed earlier, Financial, Product Sales, HumanResources, and so on, are organized into the followinghierarchical groupings:
• geography
• products
• customers
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 345/489
Advanced Reporting Guide MicroStrategy Tutorial A
© 2003 MicroStrategy, Inc. The MicroStrategy Tutorial data model 315
• time
• promotions
These MicroStrategy Tutorial hierarchies are displayed onthe following pages for your reference.
Data modeling notations
The following notations are used in the graphical depictionsof the following hierarchies:
Symbol Indicates Definition
entry point An entry point is a shortcut to an attribute element in the Data Explorer.Creating an entry point grants you faster access to the attribute withouthaving to browse through multiple attributes to reach different levels ofthe hierarchy.
attribute A data level defined by the system architect and associated with one ormore columns in the data warehouse lookup table. Attributes includedata classifications like Region, Order, Customer, Age, Item, City, andYear. They provide a handle for aggregating and filtering at a givenlevel.
one-to-manyrelationship
An attribute relationship in which every element of a parent attributerelates to multiple elements of a child attribute, while every element ofthe child attribute relates to only one element of the parent. Theone-to-many attribute relationship is the most common in data models.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 346/489
MicroStrategy Tutorial Advanced Reporting GuideA
316 The MicroStrategy Tutorial data model © 2003 MicroStrategy, Inc.
Geography hierarchy
The MicroStrategy Tutorial Geography hierarchy containsattributes such as Country and Region, as well as DistributionCenter, Call Center, and employee-specific attributes. Itmight be easy to understand why Country and Region are inthe Geography hierarchy, but what about DistributionCenter, Call Center, and the employee-related attributes?
The data used in MicroStrategy Tutorial is based upon afictitious company that sells electronics, movies, music and books. The company does not have physical stores, butinstead does its business from catalog and Web sales.Customers review the products in a printed or online catalogand call in their order over the phone. The order is thenprocessed by an employee located at one of the call centers.The order is then fulfilled by a distribution center that holdsthe correct item and sends it via one of the shippers.
The Geography hierarchy contains the following attributes.
Attribute Description Example
Country Countries where the company does or hopes to do business inthe future. Also, Countries where employees work.
USA, Spain, France
Region Each country is split into Regions. Central, Northeast,Southwest
Call Center Where product phone-in orders are taken. Each Call Center islocated in a different city.
Atlanta, Boston,Charleston
DistributionCenter
The location where product orders are sent out to customers.Currently, each is located in the same city as the Call Center itservices.
Miami, New Orleans,Fargo
Manager Person responsible for a specific Call Center Peter Rose, AliceCooper
EmployeeExperience
The number of years an employee has worked for theorganization
3, 5, 6
Hire Date The date on which a particular employee was hired 2/16/97, 3/15/99
Salary The amount of money an employee makes per year 24,000, 35,000
EmployeeAge
The age of each employee 29, 36, 52
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 347/489
Advanced Reporting Guide MicroStrategy Tutorial A
© 2003 MicroStrategy, Inc. The MicroStrategy Tutorial data model 317
Refer to the graphic below to see how all these attributes areorganized into the MicroStrategy Tutorial Geographyhierarchy.
EmployeeBirth Date
The date each employee was born 5/6/56, 1/1/77
Employee The lowest level in the Geography hierarchy, representing the
individual responsible for each order placed
Jennifer Lee, Laura
Kelly
Attribute Description Example
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 348/489
MicroStrategy Tutorial Advanced Reporting GuideA
318 The MicroStrategy Tutorial data model © 2003 MicroStrategy, Inc.
Products hierarchy
The products hierarchy contains attributes such as category, brand, catalog, and supplier. It should be noted that theattributes Transaction, Warranty, and Discontinued Code arenot part of the main data model —these are extra attributesthat were introduced to support the MicroStrategyTransactor and MicroStrategy Narrowcast Server demos.
The Products hierarchy contains the following attributes.
Refer to the graphic below to see how all these attributes areorganized into the MicroStrategy Tutorial Productshierarchy.
Attribute Description Example
Category Products are organized into Categories at the highest level. Electronics, Music
Subcategory Used to further differentiate a subset of Products within aCategory
Business, Cameras,Drama
Warranty The time period in months during which a manufacturerrepairs a broken item (specific to Narrowcast Server)
3, 5
Brand The manufacturer or artist for a particular product Ayn Rand, 3Com, Sony
Catalog The medium used to sell products Spring 2000, Fall 2001
Supplier The distributor for a set of Brands McGraw Hill, DisneyStudios
DiscontinuedCode
(Currently not implemented in the project.) 0 = discontinuedproduct, 1 = non-discontinued product.
Item The individual Product sold The Great Gatsby, SonyDiscman
Transaction Describes a resupply transaction from the fictitious companythat the MicroStrategy Tutorial product uses to its suppliersfor additional stock
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 349/489
Advanced Reporting Guide MicroStrategy Tutorial A
© 2003 MicroStrategy, Inc. The MicroStrategy Tutorial data model 319
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 350/489
MicroStrategy Tutorial Advanced Reporting GuideA
320 The MicroStrategy Tutorial data model © 2003 MicroStrategy, Inc.
Customers hierarchy
The Customers hierarchy contains customer demographicand purchase information, such as Customer Age, IncomeBracket, Payment Method, and Ship Date.
The Customers hierarchy contains the following attributes.
Attribute Description Example
CustomerRegion
The highest level of differentiation for whereCustomers live
Northeast, South, France
Customer State Each Customer Region is divided into multipleStates.
Main, North Dakota
Customer City Each Customer State is broken down into Cities Albany, Chicago, Memphis
Customer Age The Age of a particular customer at a current point intime 26, 38, 59
Customer BirthDate
The Date on which the Customer was born 8/4/50, 4/30/72
Income Bracket The salary range reported by the Customer $31,000 - 40,000, $61,000 -70,000
Zip Code The lowest level of differentiation for whereCustomers live
07026, 36303
Customer The name of the individual Customer Selene Allen, Chad Laurie
Shipper The vendor used to send Products to the Customer Pronto Packages, MailFast
Rush Order (Currently not implemented in the project.) Indicateswhether a customer chose to expedite delivery of anOrder
PaymentMethod
The way a Customer pays for an Order Amex, Check
Ship Date The Date on which an Order is shipped from theDistribution Center
9/15/00, 3/26/01
Order The tracking number associated with a particulargroup of Items purchased
167, 2635
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 351/489
Advanced Reporting Guide MicroStrategy Tutorial A
© 2003 MicroStrategy, Inc. The MicroStrategy Tutorial data model 321
Refer to the graphic below to see how all these attributes areorganized into the MicroStrategy Tutorial Customershierarchy.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 352/489
MicroStrategy Tutorial Advanced Reporting GuideA
322 The MicroStrategy Tutorial data model © 2003 MicroStrategy, Inc.
Time hierarchy
The Time hierarchy contains time-specific attributes — Year,Quarter, Month, and Day.
The Time hierarchy contains the following attributes.
Refer to the graphic below to see how all these attributes areorganized into the MicroStrategy Tutorial Time hierarchy.
Attribute Description Example
Year Calendar Year of purchase. 2000, 2001
Quarter Calendar Quarter of purchase. Q2 00, Q3 01
Month of Year Calendar Month of purchase. January, November
Month Month of purchase. Jul 00, Aug 01
Day Calendar Date of purchase. 5/14/00, 12/26/01
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 353/489
Advanced Reporting Guide MicroStrategy Tutorial A
© 2003 MicroStrategy, Inc. The MicroStrategy Tutorial data model 323
Promotions hierarchy
The Promotions hierarchy contains Promotion andPromotion Type. This hierarchy is useful for recordingwhether a sale was a promotional purchase.
The Promotions hierarchy contains the following attributes.
Refer to the graphic below to see how all these attributes areorganized into the MicroStrategy Tutorial Promotionshierarchy.
Viewing the MicroStrategy Tutorial data model
Although the MicroStrategy Tutorial data model is displayedin the previous pages, you can also view it directly in theproduct.
Attribute Description Example
Promotion Type (Currently not implemented in the project.) Type ofdiscount period offered (Sale type).
Mother ’s Day, Labor Day
Promotion (Currently not implemented in the project.) Date rangefor a particular discount period under which an Item ispurchased (Sales Date).
9/1/00 - 9/4/00, 2/16/01 -2/19/01
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 354/489
MicroStrategy Tutorial Advanced Reporting GuideA
324 The MicroStrategy Tutorial data model © 2003 MicroStrategy, Inc.
To view the MicroStrategy Tutorial data model
3 If you are not already using the Tutorial, log in to theproject source containing the MicroStrategy Tutorial andexpand the MicroStrategy Tutorial project. You must login as an Administrator (user name Administrator, nopassword) to complete these steps.
4 From the Schema menu, point to Graphical View , andthen choose Hierarchies . Once loaded, the Hierarchies -MicroStrategy Tutorial dialog box opens.
5 To view a different hierarchy, select it from the Hierarchydrop-down menu in the toolbar.
6 To focus on a different entry point, select it from the EntryPoint drop-down menu in the toolbar.
7 To view the entire hierarchy in the window, click Fit inwindow from the toolbar.
8 You can rearrange the attributes by dragging anddropping them.
This does not affect the browse order, but allowsyou to view the hierarchy in a way meaningful toyou.
9 To return to the default view, click Auto arrange in thetoolbar.
10 To save the layout view of the hierarchy, click Save in thetoolbar. The next time you open the Hierarchy Viewer,this saved view is displayed.
Once the data model is created, the next step is the schema.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 355/489
Advanced Reporting Guide MicroStrategy Tutorial A
© 2003 MicroStrategy, Inc. The MicroStrategy Tutorial schema 325
The MicroStrategy Tutorial schema A schema is a logical and physical definition of warehousedata elements, physical characteristics, and
interrelationships.The logical data model is a picture of all the pieces ofinformation necessary to understand your data and how itrelates to your business. It is a graphic-intensive techniquethat results in a data model representing the definition,characteristics, and relationships of data in a business,technical, or conceptual environment.
The physical warehouse schema is based on the logical datamodel, such as Day, Item, Store, or Account. Several physical
warehouse schemas can be derived from the same logicaldata model. While the logical data model tells you what factsand attributes to create, the physical warehouse schema tellsyou where the underlying data for those objects is stored. Thephysical warehouse schema describes how your data will bestored in the data warehouse.
This appendix shows the physical warehouse schema withdatatypes shown.
For more detailed information on the schema, refer to the
Data modeling appendix in the Basic Setup or Introductionto MicroStrategy 7i documents.
The MicroStrategy Tutorial schema is divided into thefollowing parts:
• geography
• products
• customers
• time• promotions
• fact tables
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 356/489
MicroStrategy Tutorial Advanced Reporting GuideA
326 The MicroStrategy Tutorial schema © 2003 MicroStrategy, Inc.
Schema notations
The following notations are used in the graphical depictionsof the following MicroStrategy Tutorial schema.
The schema also contains fact tables. A fact table is adatabase table containing numeric data that may beaggregated along one or more dimensions. Fact tables
may contain atomic or summarized data. The basicfacts from which all metrics in the MicroStrategyTutorial were created from are listed below:
Symbol Indicates DefinitionLU_ a lookup table A database table used to uniquely identify attribute elements. They
typically consist of descriptions of dimensions. Lookup tables areusually joined to fact tables in order to group the numeric facts in thefact table by dimensional attributes in the lookup tables.
a primary key In a relational database, the set of columns required to uniquelyidentify a record in a table.
REL_ a relationship
table
While lookup tables store information about one or more a ttributes,
relate tables store information about the relationship between twoattributes. Relate tables contain the ID columns of two or moreattributes, thus defining associations between them.
PMT_ a partitionmapping table
A warehouse table that contains information used to identify thepartitioned base tables as part of a logical whole. Also referred to as aPMT.
Fact Description
Cost The total amount charged by the supplier to the company
Discount A monetary reduction made from a regular price
End on hand The number of individual items remaining at the close of each month
Freight The compensation paid for the transportation of goods
Profit The excess of the selling price of goods over their cost
Revenue The total income produced by a given source accounting for all product sales deductingdiscounts
Rush Charge The amount of money charged to expedite delivery service
Unit Cost The amount of money charged by the supplier to the company per individual itempurchased
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 357/489
Advanced Reporting Guide MicroStrategy Tutorial A
© 2003 MicroStrategy, Inc. The MicroStrategy Tutorial schema 327
Geography schema
Unit Price The amount of money charged by the company to the customer per individual item sold
Unit Profit Unit price - unit cost
UnitsReceived
The number of individual items acquired from a supplier
Units Sold The number of individual items bought by customers
Fact Description
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 358/489
MicroStrategy Tutorial Advanced Reporting GuideA
328 The MicroStrategy Tutorial schema © 2003 MicroStrategy, Inc.
Products schema
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 359/489
Advanced Reporting Guide MicroStrategy Tutorial A
© 2003 MicroStrategy, Inc. The MicroStrategy Tutorial schema 329
Customers schema
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 360/489
MicroStrategy Tutorial Advanced Reporting GuideA
330 The MicroStrategy Tutorial schema © 2003 MicroStrategy, Inc.
Time schema
Promotions schema
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 361/489
Advanced Reporting Guide MicroStrategy Tutorial A
© 2003 MicroStrategy, Inc. The MicroStrategy Tutorial schema 331
Sales fact tables
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 362/489
MicroStrategy Tutorial Advanced Reporting GuideA
332 The MicroStrategy Tutorial schema © 2003 MicroStrategy, Inc.
Inventory fact tables
Miscellaneous fact tables
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 363/489
Advanced Reporting Guide MicroStrategy Tutorial A
© 2003 MicroStrategy, Inc. The MicroStrategy Tutorial schema 333
Viewing the MicroStrategy Tutorial schema
Although the MicroStrategy Tutorial physical schema isdisplayed in the previous pages, you can also view it or thelogical schema directly in the product.
To view the MicroStrategy Tutorial schema
1 If you are not already using the Tutorial, log in to theproject source containing the MicroStrategy Tutorial andexpand the MicroStrategy Tutorial project. You mustlogin as an Administrator (user name Administrator, nopassword) to complete these steps.
2 From the Schema menu, point to Graphical View , andthen choose Tables . Once loaded, the Tables -MicroStrategy Tutorial dialog box opens with the physicalview displayed.
3 To switch to the logical view, select View , then LogicalView .
4 To change display preferences for the physical view, usethe following from the Options menu:
– Show joins: Select whether to connect the tables torepresent the joins between the warehouse tables.
– Use circular joins: Select whether to use circular joins.
– Show column data types: Select whether to show thedata type and size for each column.
– Show table prefixes: Select whether to display the tableprefix as part of the table name.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 364/489
MicroStrategy Tutorial Advanced Reporting GuideA
334 The MicroStrategy Tutorial schema © 2003 MicroStrategy, Inc.
5 To change display preferences for the logical view, use thefollowing from the Options menu:
– Show joins: Select whether to connect the tables torepresent the joins between the table columns.
– Use circular joins: Select whether to use circular joins.– Show relationships: Choose whether to map the
relationships between the tables.
– Show relationship types: Choose whether todifferentiate between one-to-one, one-to-many,many-to-one, and many-to-many relationships.
– Show columns: Select whether to display thewarehouse columns that define each attribute, as alink between the logical and physical views.
6 To switch back to the physical view, select View , thenPhysical View .
7 To view the entire schema in the window, click Fit inwindow from the toolbar.
8 You can rearrange the tables by dragging and droppingthem.
This does not affect the relationships or joins, but
allows you to view the tables in a way meaningful toyou.
9 To return to the default view, click Auto arrange in thetoolbar.
10 To save the layout view of the tables, click Save in thetoolbar. The next time you open the Table Viewer, thissaved view is displayed.
11 To copy the layout view, select Copy as Metafile from theFile menu.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 365/489
© 2003 MicroStrategy, Inc. 335
P ASS -THROUGH EXPRESSIONS
Description
Pass-through expressions , also called Apply Functions ,provide access to functionality that is not standard inMicroStrategy products but can be obtained through therelational database. Pass-through expressions act ascontainers for non-standard SQL expressions thatMicroStrategy does not support. The MicroStrategy Enginerecognizes these containers as holding information. Whenyou include a pass-through expression in an attribute, fact, ortransformation expression, the SQL Engine essentiallyignores the SQL within the apply function. It passes it to therelational database as written.
This appendix describes the Apply Functions, including whatthey are and how to use them.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 366/489
Pass-through Expressions Advanced Reporting GuideB
336 The Apply functions © 2003 MicroStrategy, Inc.
The Apply functionsPass-through expressions are intended to provide access tothe special functions or syntatic constructs that are not
standard in MicroStrategy 7 i, but are offered by variousrelational database management system (RDBMS) platforms.
A specialized Apply function represents each type of customsub-expression/function call. These are the predefined Applyfunctions used to replace regular, predefined functions of thesame type:
• ApplySimple: Simple (arithmetic) operators are used.
• ApplyAgg: Aggregate functions, such as Sum and Max, areused.
• ApplyOLAP: OLAP functions, such as ranking functions,are used.
• ApplyComparison: Comparison operators, such as >=, <,and Like, are used.
• ApplyLogic: Logical operators, such as And and Or, areused.
Function syntaxThe syntax for these functions contains parameter markersflagged by # characters. The parameter markers containedwithin the # flags are replaced in the engine by the actualexpressions.
The syntax for the Apply functions is as follows:
ApplyFUNNAME(“expression_with_
placeholders”, parameter_1, ...,parameter_n)
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 367/489
Advanced Reporting Guide Pass-through Expressions B
© 2003 MicroStrategy, Inc. Argument types 337
The placeholders are represented by #0, #1, and so on. “# ” isa reserved character for MicroStrategy 7 i and “n” is thenumber of the parameter outside the quotes, starting with “0” and increasing in increments of “1.” For example:
ApplyComparison(“ComparisonFunction
(#0,#1)”, attribute1@ID, attribute2@ID)
Constants are inserted as they appear, and object names arehandled depending upon their type. The functions representcustom database-specific functions or other custom SQL.Since the functions are not analyzed or validated by theengine, there are no criteria on what they could possiblycontain, as long as the result returned is compatible withwhat the Analytical Engine expects.
To use # as a character rather than a placeholder, usefour # characters in a row. For example, the formulafor an Apply function is written as the following:
ApplyComparison(UPPER(#0) like‘Z####%’, Country@DESC)
The SQL for the function is:
Select a.11[COUNTRY_ID] AS COUNTRY_IDfrom [LU_COUNTRY] a11where upper(a11.[COUNTRY_NAME])like ‘Z#%’
Argument typesThe number of allowable arguments is variable. The enginedoes not verify arguments until the parameter markers arereplaced at parsing. Parsing occurs when either OK or Validate is clicked in an expression editor. At parsing time,the engine searches for acceptable argument types. Acceptable argument types are names of MicroStrategyobject types or an argument that contains a name ofMicroStrategy object types.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 368/489
Pass-through Expressions Advanced Reporting GuideB
338 Upgrading database types © 2003 MicroStrategy, Inc.
Upgrading database typesWhen upgrading the database type of a project, the customSQL expression may need to be converted. If the upgrade is a
simply upgrade from one version of a database platform to anew version, the Apply function most likely will not need to be changed. However, you should check the documentationof the new version to insure that any SQL syntax changes inthe new database version do not affect your Apply functions.
Changing database types
If you are changing database types for your project, you mustchange all Apply functions to use the correct syntax for thenew database platform. For example, if you change yourproject from an Oracle database type to a DB2 database type,then your Apply functions mostly likely are using Oraclespecific SQL syntax and now need to use DB2 specific syntax.The following table shows how the syntax can change acrossdifferent database platforms.
Refer to your specific database syntax when preparingpass-through expressions. This MicroStrategy Tutorial
example shows different expressions for three types ofrelational databases to determine customer age.
WarehouseType Expression SQL
SQL Server ApplySimple("datediff(YY,#0,getdate())",Cust_Birthdate)
…WhereDatediff(YY,'06/21/74',getdate()) …
Oracle ApplySimple("ROUND(MONTHS_BETWEEN(SYSDATE,#0)/12,0)",Cust_Birthdate)
...WhereROUND(MONTHS_BETWEEN(SYSDATE,'06/21/74')/12,0) …
DB2 ApplySimple("ROUND((days(current date)-days(#0))/365,0)",Cust_Birthdate)
…WhereROUND((days(currentdate)-days('06/21/74')/365,0) …
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 369/489
Advanced Reporting Guide Pass-through Expressions B
© 2003 MicroStrategy, Inc. Syntax examples 339
Syntax examplesThe examples in the following sections are specific fordifferent databases. Please check with your database
documentation to see what SQL syntax is correct for you. Also note that some of the below examples can be achieved byusing the MicroStrategy functions. They have been collectedhere simply as examples of how to use the Apply functions.
ApplySimple
You can use any database-specific functions or simpleoperator in ApplySimple functions to apply them directly inthe SQL.
In general, ApplySimple can be used to create the followingobjects:
• attributes
• facts
• filters
• metrics
Examples:
• attribute: age
ApplySimple("Datediff(YY,#0,getdate())",[BIRTH_DATE]),
In the previous SQL statement, [BIRTH_DATE] is anattribute.
ApplySimple("Months_between(sysdate,#0)",[CURRENT_DT]),
In the previous SQL statement, [CURRENT_DT] is anattribute.
• fact: unit cost count
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 370/489
Pass-through Expressions Advanced Reporting GuideB
340 Syntax examples © 2003 MicroStrategy, Inc.
ApplySimple( "Count(#0)",[UNIT_COST]),
In the previous SQL statement, [UNIT_COST] is a fact.
ApplySimple("Months_between(sysdate,#0)",[CURRENT_DT])
[CURRENT_DT] is an attribute.
• filter: unit cost greater than zero
ApplySimple("LN(#0)", [UNIT_COST]) > 0
• compound metric: largest metric value
ApplySimple("Greatest(#0, #1, #2)",Metric_1, Metric_2, Metric_3)
ApplyAgg
ApplyAgg is used to define simple metrics or facts by usingany database-specific group-value functions (usually the onesthat are not recognized as a MicroStrategy object). It acceptsfacts, attributes, and metrics as input. Although this functionallows you to send commands straight to your database, it isimportant to be aware that the function itself requires propersyntax in order to be a valid expression.
Examples
• simple metric:
ApplyAgg("Regrsxx(#0, #1)",[Fact 1],[Fact 2])
• self-adaptive metric:
Consider two columns [Column 1] and [Column 2] that are
available from two different tables (Fact Table 1 and FactTable 2) with different keys. Moreover, those two columnsrepresent the same fact. Users can create a fact with twoforms as follows:
Form 1:
ApplySimple("Sum(#0)",[Column 1])
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 371/489
Advanced Reporting Guide Pass-through Expressions B
© 2003 MicroStrategy, Inc. Syntax examples 341
and Form 2:
ApplySimple("Count(#0)",[Column 2])
Where Form 1 is from Fact Table 1 and Form 2 is from FactTable 2. Then, you can create a metric with the followingdefinition:
ApplyAgg("#0", [Fact])
The above metric uses the correct group-value functiondepending on the table that it uses.
ApplyOLAP ApplyOLAP was previously called ApplyRelative. If
you are working with a project that has not beenupgraded to 7 i you may still see the ApplyRelativename. Like ApplySimple it is used to define compoundmetrics. The main difference between ApplySimple()or ApplyAgg() vs. ApplyOLAP() is that ApplyOLAP()only accepts metrics as input since it is used withOLAP functions such as Rank(). It is usually used withany database-specific OLAP functions that are not inMicroStrategy function object, such as RunningSlope.
Example
• compound metric:
ApplyRelative("RunningSlope(#0, #1)",[Metric 1], [Metric 2])
ApplyComparison
ApplyComparison is used to define a custom filter. It can takefacts, metrics, and attributes as input.
Example
• custom filter:
ApplyComparison ("#0 in (Selectmarket_nbr from lookup_market where
region_nbr = 1)", Market@ID)
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 372/489
Pass-through Expressions Advanced Reporting GuideB
342 Syntax examples © 2003 MicroStrategy, Inc.
ApplyComparison ("#0>#1", Store@ID,Month@ID)
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 373/489
Advanced Reporting Guide Pass-through Expressions B
© 2003 MicroStrategy, Inc. Syntax examples 343
ApplyLogic
ApplyLogic is used to define a custom filter. The difference between ApplyLogic() and ApplyComparison() is that it takeslogic (Boolean value), instead of value, as input.
Example
• custom filter:
ApplyLogic("#0 AND #1", Year@ID > 1999,Month@ID > 199901)
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 374/489
Pass-through Expressions Advanced Reporting GuideB
344 Syntax examples © 2003 MicroStrategy, Inc.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 375/489
© 2003 MicroStrategy, Inc. 345
ADVANCED DATA MODELING
Introduction
This appendix introduces some common issues whosesolutions can add some complexity to the logical data model.While the topics are largely related to logical model design, aworking knowledge of physical schemas will help whendealing with the challenges involved with these topics.
Before reading this appendix, you should know what logicaldata models and physical warehouse schemas are, and how toread and interpret them.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 376/489
Advanced Data Modeling Advanced Reporting GuideC
346 Attribute relationship © 2003 MicroStrategy, Inc.
Attribute relationshipBuilding an effective project in MicroStrategy 7 i requires theproject designer to have a solid understanding of all the
attributes in the project, as well as how each of them relatesto the other attributes.
Attributes are either related or nonrelated to each other:
• Unrelated —No parent-child relationship has been definedin Architect. No relationship is present in the lookuptables or relationship tables for these attributes.Unrelated attributes can exist together in fact tables,giving context to the fact.
For example, the Customer and Date attributes have norelationship to one another. A particular customer and aparticular date only make sense together if a fact isassociated with that combination, for example, Amy spent$20 on January 5, 2001.
• Related — A parent-child relationship is defined in Architect between two or more attributes. In these cases,the relationship is defined through the attribute ’s lookuptable or a relationship table.
For example, the Country and City attributes have a
one-to-many relationship and are easily related throughCity's lookup table, which includes City_ID andCountry_ID. In another example, the Item and Colorattributes could have a many-to-many relationship andare related through a relationship table.
The implications of whether attributes are related becomeclear when you begin building reports. You can run a reportwith two attributes that are related —Country and City, forexample —without problems. A report with two nonrelatedattributes, however, must include a metric based on a fact
that is on or below the level of the two attributes, or else acartesian join will result.
Alternatively, you can apply an advanced set filtercalled a relationship filter to the report and force thequery to use a specific table that establishes arelationship. Addition information on relationshipfilters may be found in Chapter 3, Filters .
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 377/489
Advanced Reporting Guide Advanced Data Modeling C
© 2003 MicroStrategy, Inc. Many-to-many relationships 347
Many-to-many relationshipsThe presence of many-to-many relationships introducescomplexity and additional considerations that you must
make to ensure an effective warehouse design.Below are some real-life examples of many-to-manyrelationships, which must be carefully handled in the datamodel and schema:
• In a certain organization, each salesperson can work inmore than one calling center. Likewise, each calling centerhas many salespeople.
• In a car manufacturing plant, many models of cars areproduced, and each comes in several colors. That is, thereare many colors for a single type of car, and many types ofcars can be associated with the same color.
The example in this appendix uses items and colors todemonstrate a many-to-many relationship and the optionsyou have for dealing with them. In this case, one item cancome in many colors —red hats, blue hats, green hats —andone color can be associated with many items —red dress, redhat, red shoes, red socks.
Potential problems with many-to-many relationships usuallycome in the following forms, both of which can be avoided bycorrectly modeling the relationship:
• loss of analytical capability
• multiple counting
Loss of analytical capability
With the color/item many-to-many relationship, there areusually two business questions for which users want answers:
1 In what colors are certain items available?
2 How much of a particular item/color combination wassold?
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 378/489
Advanced Data Modeling Advanced Reporting GuideC
348 Many-to-many relationships © 2003 MicroStrategy, Inc.
Answering the first question requires a table that contains alist of all possible item/color combinations. Recall thatone-to-many relationships are usually in the child ’s lookuptable.
In many-to-many relationships this is not feasible. Rather, adistinct relationship table needs to be present in yourwarehouse. The following diagram shows the lookup andrelationship tables for item and color:
The Rel_Color_Item table provides a row for every possibleitem/color combination.
Answering the second question requires a fact table that hassales information as well as color and item information. Thefollowing diagram shows the same scenario as before, but inaddition it shows a simple fact table containing sales datakeyed by item, color, and date.
Item
Color
Lookup ColorColor_IDColor_DESC
Lookup ItemItem_IDItem_DESC
Rel_Color_ItemColor_IDItem_ID
Item
Color
Lookup ColorColor_IDColor_DESC
Lookup ItemItem_IDItem_DESC
Rel_Color_ItemColor_IDItem_IDFact
Color_IDItem_IDDateSale Amt
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 379/489
Advanced Reporting Guide Advanced Data Modeling C
© 2003 MicroStrategy, Inc. Many-to-many relationships 349
Note that this fact table alone is not sufficient toanswer the first question. Only item/colorcombinations that were actually sold —and thereforehave sales recorded —can be retrieved from this table.If you have item/color combinations that are available but that have never been sold, this fact table will not beable to provide a complete list of item/colorcombinations to answer question one.
In summary, to prevent any loss of analytical flexibility whendealing with many-to-many attribute relationship, you mustalways have two things:
• a distinct relationship table to identify all the possiblecombinations of attribute elements between attributes
• both the attribute ID columns in the fact table
There are several ways to implement the above points.These will be discussed later in this appendix.
Multiple counting
When dealing with many-to-many relationships, loss ofanalytical capability is only one challenge. Another equallysignificant issue is multiple counting. Multiple countingoccurs when you attempt to aggregate data to the level one orhigher attribute in the many-to-many relationship, and therelationship exists in a distinct relationship table but bothattributes are not in the fact table. Recall the example fromabove, but make the following change: remove color from thefact table.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 380/489
Advanced Data Modeling Advanced Reporting GuideC
350 Many-to-many relationships © 2003 MicroStrategy, Inc.
Assume that there are three items —hats, dresses, and
socks —and that they come in three colors —red, blue, andgreen —with the exception of socks, which only come in greenand blue. The following diagram shows this data in thelookup tables as well as some simple sales data:
The risk of multiple counting occurs when you run a queryrequesting the sales by color, effectively aggregating to theitem attribute level in the many-to-many relationship. This
query would require both the fact table —which has the salesinformation by item —and the relationship table —since coloris not recorded in the fact table.
Item
Color
Lookup ColorColor_IDColor_DESC
Lookup ItemItem_IDItem_DESC
Rel_Color_ItemColor_IDItem_IDFact
Item_IDDateSale Amt
*Note the lack of a colorcolumn in this fact table.
Lookup Color1 Red2 Blue3 Green
Lookup Item1 Hat2 Dress3 Socks
Rel_Color_ItemRed HatBlue HatGreen HatRed DressBlue DressGreen DressBlue SocksGreen Socks
Fact1/3/1999 Hat $51/3/1999 Dress $251/3/1999 Hat $101/3/1999 Socks $21/3/1999 Dress $251/3/1999 Hat $51/3/1999 Hat $101/3/1999 Socks $21/3/1999 Hat $5*Note the lack of a colorcolumn in this fact table.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 381/489
Advanced Reporting Guide Advanced Data Modeling C
© 2003 MicroStrategy, Inc. Many-to-many relationships 351
The difficulty lies in the fact that color is not in the fact table.There is no way to directly relate the sales of an item in thefact table to the color of that particular item. For example,instead of calculating the sales of red items, the queryaggregates sales for all items that come in red according tothe relationship table. The sum includes all hats and alldresses, including blue ones and green ones. This obviouslyleads to numbers that are higher than the true sales for reditems.
For example, using the given data, the answers to thefollowing questions is as follows:
• What are the total sales for hats?
The answer is $35, and this can be calculated directlyfrom the fact table.
• What are the total sales for red items?
There is no way to figure this out accurately. The answeryou will get is $85, which is the total for all hats anddresses, since socks do not come in red. It is entirelypossible that all the dresses sold are green; however, thereis no way to know since color is not recorded in the facttable.
• What are the total sales for red dresses?
Again, there is no way to know. If all the dresses sold areindeed green, the correct answer is $0, but the answer youwill get based on the data in the fact table is $50.
Notice that this problem only occurs when you attempt toaggregate data to the level of one of the attributes. Thefollowing section describes several ways to prevent multiplecounting when dealing with many-to-many relationships.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 382/489
Advanced Data Modeling Advanced Reporting GuideC
352 Many-to-many relationships © 2003 MicroStrategy, Inc.
Working with many-to-many relationships
As you can probably already see, seemingly simple questionsrequire you to take a number of steps to answer them.
There are three ways in which you can provide physicalsupport to answer the types of questions you have seen so far.The three ways all have differing levels of flexibility, andflexibility is always a trade-off with complexity. In all cases,the two fundamental components remain in place in oneform or another:
• a relationship table to define the attribute relationship
• both the attribute ’s ID columns in the fact table
Remember, MicroStrategy Architect builds the rulesthat MicroStrategy SQL Engines uses to generate SQLwhen a report request is made. If you make both of theabove physical implementations, the SQL Engine usesthe related table when no metric is include on thereport. When a metric is included, the fact table isused to answer the query.
All of the following methods require additional data inthe fact table. This means that you must capture theadditional data in the source system. That is, you needto have data in the source system as to what the colorof each item was when it was sold. If this additionaldata was never captured in the source system, there isnothing you can do to resolve the many-to-manyrelationship.
Method 1
This method is the most straightforward way to effectivelymanage many-to-many relationships.
Method 1 requires you to create a separate relationship tableand add both attribute IDs to the fact table as shown in thefollowing diagram.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 383/489
Advanced Reporting Guide Advanced Data Modeling C
© 2003 MicroStrategy, Inc. Many-to-many relationships 353
Method 2
Method 2 eliminates the many-to-many relationship and theneed for a distinct relationship table.
Here the many-to-many relationship is converted into acompound attribute relationship. You treat one attribute as achild of the other and have a compound key for the lowerlevel attribute. Also, you add both attribute IDs to the facttable as shown in the following diagram.
While this method eliminates the need for a separaterelationship table, you lose the ability to view itemsindependent of color, or vice versa.
Rel_Color_Item
Color_IDItem_ID
Lookup ColorColor_IDColor_DESC
Lookup ItemItem_IDItem_DESC
Item_IDColor_IDDateSale Amt
Fact
Lookup ColorColor_IDColor_DESC
Lookup ItemItem_IDColor_IDItem_DESC
Item_IDColor_IDDateSale Amt
Fact
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 384/489
Advanced Data Modeling Advanced Reporting GuideC
354 Many-to-many relationships © 2003 MicroStrategy, Inc.
Method 3
Method 3 is the most versatile solution and it has thefollowing characteristics:
• further simplifies the compound attribute relationshipfrom Method 2 into a simple attribute relationship
• provides the ability to view item and color together orindependently
• requires only one attribute column in the fact table forcomplete flexibility, rather than two
Here you must create a new attribute, lower in level thaneither color or item. This attribute is essentially aconcatenation of color and item, which gives it a one-to-many
relationship between itself and each of its parent attributes.This is the SKU attribute, particularly common in retail datamodels or situations.
Finally, rather than including Color and Item in the fact table,you only need to include this new child attribute SKU, asshown in the following diagram.
This method is actually quite similar to Method 1. The majordifference is that the distinct relationship table from Method1 has an additional column, SKU, which extends therelationship of each item/color combination into a singlevalue. Consequently, you can use this single value in the facttable.
The major disadvantage of Method 3 lies in creating the newattribute if your business model does not already use asimilar structure and possibly adding complexity to the ETLprocess.
Lookup ColorColor_IDColor_DESC
Lookup ItemItem_IDItem_DESC
Lookup SKU
Color_IDItem_IDSKU_ID
SKU_IDDateSale Amt
Fact
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 385/489
Advanced Reporting Guide Advanced Data Modeling C
© 2003 MicroStrategy, Inc. Joint child relationships 355
Joint child relationships
What is a joint child relationship?Joint child relationships are special attributes that aresometimes called cross-dimensional attributes, text facts, orqualities. They do not fit neatly into the modeling schemesyou have learned about thus far. These relationships can bemodeled and conceptualized like traditional attributes, butlike facts, they exist at the intersection of multiple attributelevels.
Many source systems refer to these special attributes
as flags. So if you find flags in your source systemdocumentation, these are likely candidates for jointchild relationships.
Joint child relationships are really another type ofmany-to-many relationship where one attribute has amany-to-many relationship to two otherwise unrelatedattributes.
For example, consider the relationship between threeattributes: promotion, item, and quarter. In this case,
promotion has a many-to-many relationship to both item andquarter as shown in the following diagram.
Promotion
ItemQuarter
Implied Implied
One quarter can havemany promotions andeach promotion canhappen in many quarters.
One item can be in manypromotions and onepromotion can havemany items.
Note: Quarter and Item have no direct relationshipto one another.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 386/489
Advanced Data Modeling Advanced Reporting GuideC
356 Joint child relationships © 2003 MicroStrategy, Inc.
An example of a promotion might be a “Red Sale ” where allred items are on sale. A business might run this promotionaround Valentine's Day and again at Christmas time.
Supporting joint child relationships
As you learned in the previous topic on many-to-manyrelationships, one way to resolve a many to many relationshipis to have a relationship table for the attributes involved inthe many-to-many relationships. In this case, you mightcreate two relationship tables, one to relate promotion anditem and another to relate promotion and quarter as shownin the following diagram.
These two tables are sufficient to answer questions like:
• What items have been in what promotions?
• What quarters have had what promotions?
However, these tables are not sufficient to answer the
following more detailed and insightful questions:• What items were in what promotions in a given quarter?
• In what quarters was a certain item involved in a certaintype of promotion?
Promotion
ItemQuarter
ImpliedImpliedItem_IDPromotion_Id
Rel_Item_Promo
Quarter_IDPromotion_ID
Rel_Quarter_Promo
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 387/489
Advanced Reporting Guide Advanced Data Modeling C
© 2003 MicroStrategy, Inc. Joint child relationships 357
To answer these questions, you need to combine the tworelationship tables, creating one table to relate all threeattributes.
The relationship in the distinct relationship table mustexist for a joint child relationship to be properlydefined. However, it does not necessarily have to be inits own, distinct relationship table. Defining therelationship directly in the lookup table for the parentof the joint child —in this case, promotion —would befine. Alternatively, you could build the relationshipdirectly into the fact table.
The most important thing to notice about these examples isthe relationship between the three attributes. The promotionattribute is really related to a particular item-quarter pair, asopposed to it being related to item and quarter separately.This is the essence of a joint child relationship and is shownin the following diagram.
Notice that a joint child relationship can beone-to-many or many-to-many. The issues withmany-to-many relationships —loss of analyticalcapability and multiple counting —also apply tomany-to-many joint child relationships.
Promotion
ItemQuarter
One-to-many jointchild relationship
Promotion
ItemQuarter
many-to-many jointchild relationship
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 388/489
Advanced Data Modeling Advanced Reporting GuideC
358 Attribute roles © 2003 MicroStrategy, Inc.
If you have a joint child relationship in your data, it isimportant for you to define it in MicroStrategy Architect sothat you get the correct data for reports that use the parentattribute in a joint child attribute. This ensures that when youneed to join the fact table to the parent attribute of a jointchild relationship —to see sales by promotion, forexample —the join will always use both joint children ratherthan just one or the other.
Attribute roles Attribute role is a term used to define the use of a lookuptable that is used for more than one attribute. For eachattribute, the meaning is slightly different. In the followingdiagram, state is an example of a role since it relates to boththe vendor and store attributes. In one case, it refers to thelocation of a vendor. In the other case, it refers to the locationof a store. The state attribute is therefore said to be playingtwo roles.
In an OLTP system, roles are most often implemented as asingle table, as shown in the above diagram. In the data
warehouse, a query involving both vendor state and storestate would need to use the State table twice in the samequery. For example, a report is created to display vendorsfrom Arkansas who sold to New York stores. The results may be blank if the data warehouse structure was set upincorrectly. The SQL statement tries to obtain the descriptionof a state that is both Arkansas and New York simultaneously,generating the empty result set.
StateState_CD
State Name
StoreStore_ID
Store NameCity
State
Sales TransSale DateStore_IDItem_ID
Sale AmtSale Units
ItemItem_ID
Item NameVendor_ID
Dept_ID
VendorVendor_ID
Vendor NameState
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 389/489
Advanced Reporting Guide Advanced Data Modeling C
© 2003 MicroStrategy, Inc. Attribute roles 359
To see both roles on the same report, you must treat them asdifferent attributes. That is, they must have differentattribute names. To create unique attributes, you have twooptions:
• automatic attribute role recognition , where you createmultiple attributes that have the same lookup table andallow MicroStrategy to automatically detect the multipleroles
• explicit table aliasing , where you create multiple logicaltables pointing to the same physical table and define thosetwo logical tables as the lookup tables for the twoattributes
If you are creating new metadata in MicroStrategy 7.2,automatic recognition is turned on by default. If you
are upgrading from previous versions, automaticrecognition is turned off. Automatic recognition is a VLDB property on the project level.
Table aliasing provides advanced users with more control. Ifyou are upgrading or have a very complex schema, it may bethe better alternative. If you are new to MicroStrategy, it iseasier to use automatic attribute role recognition.MicroStrategy recommends that you take advantage ofautomatic recognition if either of the following is true:
• You do not know the details of the modeling logic or thedatabase.
• You are upgrading from a MicroStrategy version earlierthan 7.2 and did not use database views to implementmultiple roles for an attribute.
Automatic recognition does not work if the attributesare in the same hierarchy, meaning that a childattribute is shared. In the example given, the two stateattributes do not have a common child attribute.
In summary, if you identify that any one of your attributesneeds to play multiple roles, an attribute must be created inthe logical model for each of the roles. Remember this rule tohelp you identify attribute roles: If you want to see the sameattribute multiple times on one report, as ship month andorder month, for example, the attribute has multiple roles. You can use either automatic attribute role recognition orexplicit table aliasing to create the attribute roles.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 390/489
Advanced Data Modeling Advanced Reporting GuideC
360 Attribute roles © 2003 MicroStrategy, Inc.
Automatic attribute role recognition
In the data warehouse, a query involving both vendor stateand store state would need to use the State table twice in thesame query to get correct results. You can set up twoattributes, Store State and Vendor State, both of which usethe same lookup table. The SQL code will contain a self-joinwith the LU_State table. The logical model would look likethe following:
Note that both roles for the State attribute are included in thelogical model so that “State ” can be considered from twodifferent perspectives. Since the state in which a vendorresides and the state in which one of our stores is located aretwo different things, the logical model must reflect that. Automatic recognition allows these two attributes to accessthe same lookup table, using different attribute names for thesame expression.
Automatic role recognition works only when theattributes use exactly the same expression.
Consider the following sample desired report.
Location Product
Region
Store
Store State
Vendor State
Vendor Item
Dept
Division
Vendor State Vendor Store Store State
Metrics DollarSales
Vendor_State_ID=15 (Arkansas)
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 391/489
Advanced Reporting Guide Advanced Data Modeling C
© 2003 MicroStrategy, Inc. Attribute roles 361
In this case, the request is, “Show me total sales by StoreState for all my vendors in Arkansas (Store State ID = 15). ” The same lookup table, LU_State, can be used for bothattributes, Store State and Vendor State, if attribute roles areused. Then the two attributes refer to the same columns ofthat table.
To use automatic attribute role recognition, you must selectthe Engine Attribute Role Options, found in the Project Level VLDB Properties under Query Optimization.
Explicit table aliasing
Explicit table aliasing provides more robust functionality
than automatic recognition, so advanced users areencouraged to take advantage of this solution.
To continue with the state example, the logical model wouldremain the same as with automatic recognition. Both rolesfor the State attribute are included in the logical model sothat State can be considered from two different perspectives.Separate lookup tables are created in the schema, but theypoint to the same physical table. One table (LU_State_Store)contains the attribute Store State while the other(LU_State_Vendor) contains Vendor State.
LU_State_Vendor
Attribute:Vendor_State
LU_State_Store
Attribute:Store_State
LU_State
Physical Table
Logical Tables
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 392/489
Advanced Data Modeling Advanced Reporting GuideC
362 Attribute roles © 2003 MicroStrategy, Inc.
Recall the sample report that displays total sales by StoreState for all vendors in Arkansas. When explicit table aliasingis used, the two lookup tables LU_State_Store andLU_State_Vendor are used. Since they are just differentnames for the same physical table, the report actuallyaccesses the same physical table, LU_State, for both statenames, as shown by this sample SQL:
SELECT a12.State_Desc as State_DescSELECT a13.State_Desc as State_Desc
FROM LU_State a12LU_State a13
To create a table alias
1 On the MicroStrategy Desktop, navigate to the Tables folder, under the Schema Objects folder.
2 Right-click the table to alias and select Create TableAlias . This option makes a copy of table in the schema.
3 Type the table alias, or the name for the new table.
4 When creating the new attributes, select the appropriatetable for each attribute. For example, in the case discussed
above, you would select the LU_State_Store table for theStore State attribute and LU_State_Vendor for VendorState.
See the online help for step-by-step procedures forcreating attributes.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 393/489
© 2003 MicroStrategy, Inc. 363
LOGICAL AND MATHEMATICAL OPERATORS FOR F ILTERING
Introduction
As discussed in Chapter 3, Filters , you can use logicaloperators, such as AND, OR , NOT , and so on, to addadditional qualifications to filters and report limits. Theselogical operators set conditions for the report query toretrieve data from the data warehouse and display the data inthe report.
This appendix discusses operators, specifically what logicaloperators are and how to use them.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 394/489
Logical and Mathematical Operators for Filtering Advanced Reporting GuideD
364 What is an operator? © 2003 MicroStrategy, Inc.
What is an operator?Operators are used to manipulate individual data items anddata sets. These data items are called operands or arguments.
Operators are represented by special characters or bykeywords. For example, multiplication is represented by anasterisk (*) and division is represented by a slash (/).Filtering conditions are expressions built from attributeforms, metrics, constants, expressions, and operators. Forexample, consider the following filtering definition:
Store_ID = 1
The definition above contains an attribute (Store), anattribute form (Store_ID), a comparison operator (=), and anumeric constant (1).
The following types of operators are used when specifyingfiltering conditions:
• logical
• comparison
• rank and percent
• pattern
Logical operators
Logical operators allow the application of certain conditionsto two sets of filter expressions simultaneously. There arethree basic logical operators:
• Union behaves as the inclusive term OR does ingrammar. The union of two sets yields a TRUE value anytime that either or both of the sets of filtering criteria are
met.• Intersection behaves as the term AND does in grammar.
The intersection of two sets yields a TRUE value onlywhen both sets of filtering criteria are met.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 395/489
Advanced Reporting Guide Logical and Mathematical Operators for Filtering D
© 2003 MicroStrategy, Inc. What is an operator? 365
• Exclusion behaves as the term AND NOT does ingrammar. When two sets of filtering criteria are linked inthis manner, their combination yields a TRUE value onlywhen the first set is met, and the other set is not satisfied.
The following tables show the combinations possible witheach logical operator, and the value that each combinationyields, using the following filtering criteria as an example:
A =(customers located in the) Northeast region B =(customers that purchased) blankets
Logical union filter: A OR B
Possible filter combinations resulting from the union ofattributes A and B (customers that either are located in theNortheast region OR have purchased blankets) are asfollows.
Because a union of two sets yields a valid result if datacorresponding to either set is found, this filter causes adisplay as shown in rows 1, 2, and 3.
A B Result Displayed
1 TRUE TRUE customers located in the Northeast region ORcustomers that purchased blankets
2 FALSE TRUE customers that purchased blankets (but are notlocated in the Northeast region)
3 TRUE FALSE customers located in the Northeast region (buthave not purchased blankets)
4 FALSE FALSE no display (customers that are neither located inthe Northeast region nor purchased blankets)
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 396/489
Logical and Mathematical Operators for Filtering Advanced Reporting GuideD
366 What is an operator? © 2003 MicroStrategy, Inc.
Logical intersection filter: A AND B
Possible filter combinations resulting from the intersection ofattributes A and B (customers that are located in theNortheast region AND have purchased blankets) are as
follows.
Because an intersection of two sets yields a valid result only ifdata corresponding to both sets is found, this filter causesdisplay as shown in row 1, and in no other combination.
Logical exclusion filter: A AND NOT BPossible filter combinations resulting from the not (andnot) exclusion of an attribute (for example, B) (customersthat are located in the Northeast region AND have notpurchased blankets) are as follows.
A B Result Displayed
1 TRUE TRUE Customers that are located in the Northeastregion AND have purchased blankets
2 FALSE TRUE No display (customers that purchased blanketsbut are not located in the Northeast region)
3 TRUE FALSE No display (customers that are located in theNortheast region but have not purchasedblankets)
4 FALSE FALSE No display (customers that neither are located inthe Northeast region nor have purchasedblankets)
A NOT B Result Displayed
1 TRUE TRUE Customers who are located in the Northeastregion AND have not purchased blankets
2 FALSE TRUE No display (customers who have not purchasedblankets AND are not located in the Northeastregion)
3 TRUE FALSE No display (customers that are located in theNortheast region AND have purchased blankets
4 FALSE FALSE No display (customers not located in theNortheast region who have purchased blankets)
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 397/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 398/489
Logical and Mathematical Operators for Filtering Advanced Reporting GuideD
368 What is an operator? © 2003 MicroStrategy, Inc.
• Different from: Identifies values that are other than thespecific value indicated. For example, “different from 10 ” returns all values that are not 10.
• Exactly: Identifies an specific value. For example, “exactly1” returns all items with a value of 1.
• Greater than: Identifies values that are greater than anindicated lower limit. For example, “greater than 10 ” returns values that are greater than 10.
• Greater than or equal to: Identifies values that are greaterthan or equal to the limit indicated. For example, “greaterthan or equal to 10 ” returns all values that are 10 orgreater.
• Less than: Identifies values that are less than an indicatedupper limit. For example, “less than 10 ” returns valuesthat are less that 10.
• Less than or equal to: Identifies values that are less thanor equal to the limit indicated. For example, “less than orequal to 10 ” returns all values that are 10 or less.
• Not between: Identifies values that are outside a specifiedrange. For example, “not between 10 and 20 ” returns allvalues that are less than 10 and greater than 20.
• Is NULL: Identifies values that are NULL.
• Is Not NULL: Identifies values that are not NULL.
When you use these operators on a description for adate, the results can appear to be incorrect. Forexample, assume the date description is formatted asJan 2001. Create a filter on the description attributeusing the Between operator to return the months between January 2001 and June 2001. The results areJan 2001, Jul 2001, and Jul 2001, not the first sixmonths of the year as expected. This occurs becausethe description attribute is formatted as text, not asnumbers or dates, and therefore the SQL sorts the dataalphabetically. To obtain results of January 2001,February 2001, March 2001, April 2001, May 2001,and June 2001, filter on the ID rather than thedescription or use the in list operator.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 399/489
Advanced Reporting Guide Logical and Mathematical Operators for Filtering D
© 2003 MicroStrategy, Inc. What is an operator? 369
Rank and percent operators
Rank and percent operators are only applicable to metrics.The following operators are visible when you qualify on theRank or Percent function.
• Between: Identifies values in a range that has both a lowerand an upper limit. For example, “ between 10 and 20 ” returns all values that are greater than or equal to 10 andless than or equal to 20.
• Bottom: Identifies the lowest set of values in a range. Forexample, “ bottom 40 ” returns the 40 lowest values withina given range selected.
In MicroStrategy Web, this is called Lowest.
• Different from: Identifies values that are other than thespecific value indicated. For example, “different from 10 ” returns all values that are not 10.
• Exactly: Identifies a specific value. For example, “exactly1” returns all items with a value of 1.
• Exclude top: Is used in rank and percent calculations,discards a range of top values from a given set. Forexample, “exclude top 10 ” returns all values in the set butthe top 10 percent.
• Exclude bottom: Is used in rank and percent calculations,discards a range of bottom values from a given set. Forexample, “exclude bottom 10 ” returns all values in the set but the bottom 10 percent.
• Is NULL: Identifies values that are NULL
• Is not NULL: Identifies values that are not NULL
• Not between: identifies values that are outside a specifiedrange. For example, “not between 10 and 20 ” returns allvalues that are less than 10 and greater than 20.
• Top: Indicates the topmost value range in a given set. Forexample, “top 40 ” returns the 40 highest values in a set.
In Web, this is called Highest.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 400/489
Logical and Mathematical Operators for Filtering Advanced Reporting GuideD
370 What is an operator? © 2003 MicroStrategy, Inc.
Pattern operators
Pattern operators allow text strings to be compared. Patternoperators are case-sensitive. The following pattern operatorsare available in MicroStrategy 7 i:
• Begins with: Returns a result set that starts with aspecified value. For example, “ begins with J ” returns allstrings beginning with J, that is, January, June, and July.
• Ends with : Returns a result set that ends with a specifiedvalue. For example, “end with r ” returns all strings endingwith r, that is, September, October, and all the othermonths meeting the criterion.
• Contains: Returns a result set that contains a specifiedvalue. For example, “contains ua ” returns all strings thatcontain ua, such as January and February.
• Does not begin with: Returns a result set that does notstart with a specified value. For example, “does not beginwith J ” returns only those values that do not begin with J,such as May, February, October, and so on.
• Does not end with: Returns a result set that does not endwith a specified value. For example, “does not end with r ” returns only those strings that do not end with r, such asMarch, April, and all the other months meeting the
criterion.• Does not contain: Returns a result set that does not
contain a specified value. For example, “does not containua ” returns only those values that do not contain ua, suchas March, May, and so on.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 401/489
© 2003 MicroStrategy, Inc. 371
WAREHOUSE CATALOG SQL
Introduction
In all supported warehouse platforms other than Microsoft Access, MicroStrategy 7 i uses SQL statements to query therelational database management system (RDBMS) catalogtables to obtain warehouse catalog information. This includescatalog tables, columns, and their data types. These CatalogSQL statements vary from platform to platform and can becustomized according to the characteristics of the specificwarehouse.
Microsoft Access does not have catalog tables, so anODBC call must be used to retrieve information abouttables and columns in Access. By default, a similarODBC call is used for the Generic DBMS database
type, but you can choose to use custom catalog SQL forthe generic type if you wish.
This appendix discusses customizing SQL statements, thestructure of the SQL Catalogs, and the default SQLstatements used for each data warehouse.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 402/489
Warehouse Catalog SQL Advanced Reporting GuideE
372 Customizing Catalog SQL statements © 2003 MicroStrategy, Inc.
Customizing Catalog SQL statementsThe MicroStrategy Warehouse Catalog can be configured toread the catalog information in one- or two-pass SQL mode.
In two-pass SQL mode, it first reads only the tables from thewarehouse. The structure of individual tables is read onlywhen the table is selected. This is the recommended optionfor interactive warehouse catalog building because nounnecessary catalog information is read from the warehouse,which increases processing speed. One-pass SQL mode, onthe other hand, reads all the tables and columns in one SQLstatement. This option is recommended only if the CatalogSQL is well customized to limit the amount of data returned by it.
The two retrieval options use different Catalog SQL, but bothcan be customized in the Warehouse Catalog Options dialog.In the following sections, the name Catalog Table SQL refersto the Catalog SQL to retrieve the tables in the warehouse;that is, the first SQL used in a two-pass catalog retrieval. Thename Full Catalog SQL refers to the SQL used to read all thetables and columns in one pass. To customize a Catalog SQL,you must understand several important concepts: the tablename space, SQL template strings, and incomplete CatalogSQL.
The table name space
In a typical RDBMS platform, a table name does not uniquelyidentify it in a particular warehouse database installation. Atable name space is a partition of the warehouse installationin which table names are unique. Depending on the type ofRDBMS, this name space can be the name of the warehousedatabase, the owner of the table, or a combination of bothdatabase and owner. In both the Catalog Table SQL and FullCatalog SQL, a name space gives each table a unique name.This helps you to avoid confusing tables that share the sametable name.
The table name space is optional. A customized Catalog SQLcan omit the name space if duplicate table names do notpresent a problem in the warehouse database.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 403/489
Advanced Reporting Guide Warehouse Catalog SQL E
© 2003 MicroStrategy, Inc. Structure of Catalog Table SQL 373
SQL template strings and incomplete Catalog SQL
The default system Catalog SQL can contain certain templatestrings that can be resolved at run time or must be completedmanually by the user. These templates are listed here:
• #LOGIN_NAME# —This template is automaticallyreplaced at run time with the login name used to connectto the warehouse. You can leave this template in thecustomized SQL if you want the Catalog SQL to yielddifferent results depending on the warehouse login used.Otherwise, this template is replaced with the name of thewarehouse user who owns the warehouse tables ofinterest.
• #?Database_Name?#, #?Schema_Name?# —This Catalog
SQL template is an incomplete SQL string that must becompleted by the user before it can be executed. Thestring starts with “#? ” and ends with “?# ”. The command#?Database_Name?#, used with Teradata, must bereplaced with the name of the warehouse databasecontaining the warehouse tables. #?Schema_Name?#,used with DB2 AS/400, must be replaced with the nameof the schema in which the warehouse tables reside.
Structure of Catalog Table SQLCatalog Table SQL is expected to return two columns, oneidentifying the name space of the table and the other thename of the table. If a name space is not provided, only thetable name column is required. Each row of the SQL resultmust uniquely identify a table. Duplicates are not allowed.The column that identifies the table name space uses the SQLcolumn alias NAME_SPACE. The column that identifies thetable name has the alias TAB_NAME. The following example
is the default Catalog Table SQL for Oracle 8.0:SELECT DISTINCT OWNER NAME_SPACE,TABLE_NAME TAB_NAME
FROM ALL_TAB_COLUMNS
WHERE OWNER = '#LOGIN_NAME#'"
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 404/489
Warehouse Catalog SQL Advanced Reporting GuideE
374 Structure of Full Catalog SQL © 2003 MicroStrategy, Inc.
Structure of Full Catalog SQLFull Catalog SQL is expected to return between five and sevencolumns, depending on the RDBMS platform and the
customization. The following aliases are required to identifyeach column returned:
NAME_SPACE (optional) —the table name space
TAB_NAME (required) —name of the table
COL_NAME (required) —name of the column
DATA_TYPE (required) —a string or a number thatidentifies the major datatype of the column
DATA_LEN (required) —a number that describes thelength or size of the column data
DATA_PREC (optional) —a number that describes theprecision of the column data
DATA_SCALE (optional) —a number that describes thescale of a floating point column data
Full Catalog SQL must return its rows ordered first byNAME_SPACE , if available, and then by TAB_NAME .
The following example is the default Full Catalog SQL forMicrosoft SQL Server 7.0:
SELECT U.name NAME_SPACE, T.name TAB_NAME,C.name COL_NAME, C.type DATA_TYPE,C.length DATA_LEN, C.prec DATA_PREC,C.scale DATA_SCALE
FROM sysobjects T, syscolumns C, sysusers
WHERE T.id = C.id and T.type in ('U', 'V')
AND T.uid = U.uidORDER BY 1, 2
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 405/489
Advanced Reporting Guide Warehouse Catalog SQL E
© 2003 MicroStrategy, Inc. Default Warehouse Catalog SQL 375
Default Warehouse Catalog SQLThe following table shows the default Warehouse CatalogSQL used by MicroStrategy 7 i for each supported warehouse
platform. You are encouraged to consult this table beforewriting your own customized Catalog SQL.
RDBMS Default Catalog Table SQL Full Catalog SQL
IBM DB2 OS/390 SELECT TBCREATOR NAME_SPACE,TBNAME TAB_NAME
FROM SYSIBM.SYSCOLUMNS
WHERETBCREATOR='#LOGIN_NAME#'
SELECT TB CREATORNAME_SPACE, TBNAME TAB_NAME,NAME COL_NAME, COLTYPEDATA_TYPE, LENGTH DATA_LEN,SCALE DATA_SCALE
FROM SYSIBM.SYSCOLUMNS
WHERETBCREATOR='#LOGIN_NAME#'
ORDER BY 1, 2
IBM DB2 AS/400
*Note : requiresmanual replacementof template string#?Schema Name?#
SELECT DISTINCTSYSTEM_TABLE_SCHEMANAME_SPACE, TABLE_NAME TABNAME
FROM QSYS2.SYSCOLUMNS
WHERE TABLE_OWNER ='#LOGIN_NAME#'
AND SYSTEM_TABLE_SCHEMA ='#?Schema_Name?#'
SELECT SYSTEM_TABLE_SCHEMANAME_SPACE, TABLE_NAMETAB_NAME, COLUMN_NAMECOL_NAME, DATA_TYPEDATA_TYPE, LENGTH DATA_LEN,NUMERIC_SCALE DATA_SCALE
FROM QSYS2.SYSCOLUMNS
WHERE TABLE OWNER ='#LOGIN_NAME#'
AND SYSTEM_TABLE_SCHEMA ='#?Schema_Name?#'
ORDER BY 1, 2
IBM DB2 UDB SELECT DISTINCT TBCREATORNAME_SPACE, TBNAME TAB_NAME
FROM SYSIBM.SYSCOLUMNS
WHERE TBCREATOR ='#LOGIN_NAME#'
SELECT TBCREATOR NAME_SPACE,TBNAME TAB_NAME, NAMECOL_NAME, COLTYPE DATA_TYPE,LENGTH DATA_LEN, SCALEDATA_SCALE
FROM SYSIBM.SYSCOLUMNS
WHERETBCREATOR='#LOGIN_NAME#'
ORDER BY 1, 2
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 406/489
Warehouse Catalog SQL Advanced Reporting GuideE
376 Default Warehouse Catalog SQL © 2003 MicroStrategy, Inc.
Generic DBMS* Note : By default,SQL is not used toquery the catalog forthis RDBMS type. Ifyou do wish to useSQL, it must conformto the structure asoutlined in the SQLtemplate shown here.
SELECT Name SpaceNAME_SPACE, Table NameTAB_NAME, Column NameCOL_NAME, Data Type
DATA_TYPE, Data LengthDATA_LEN, Data ScaleDATA_SCALE
FROM …
WHERE TBNAME in(#TABLE_LIST#)
ORDER BY 1, 2
SELECT Name SpaceNAME_SPACE, Table NameTAB_NAME, Column NameCOL_NAME, Data Type
DATA_TYPE, Data LengthDATA_LEN, Data ScaleDATA_SCALE
FROM …
WHERE TBNAME in(#TABLE_LIST#)
ORDER BY 1, 2
Informix 7.x, 8.x, 9.x SELECT DISTINCT ownerNAME_SPACE, tabname TAB_NAME
FROM SYSTABLES
WHERE tabid >= 100 ANDtabtype IN ('T', 'V')
SELECT T.owner NAME_SPACE,T.tabname TAB_NAME,C.colname COL_NAME,C.coltype DATA_TYPE,
C.collength DATA_LENFROM SYSTABLES T, SYSCOLUMNSC
WHERE T.tabid = C.tabid
AND T.tabtype IN ('T', 'V','S')
ORDER BY 1, 2
Oracle 7.3.x, 8.0.xOracle 8i
SELECT DISTINCT OWNERNAME_SPACE, TABLE_NAMETAB_NAME
FROM ALL_TAB_COLUMNS
WHERE OWNER = '#LOGIN_NAME#'
SELECT OWNER NAME_SPACE,TABLE_NAME TAB_NAME,COLUMN_NAME COL_NAME,DATA_TYPE DATA_TYPE,
DATA_LENGTH DATA_LEN,DATA_PRECISION DATA_PREC,DATA_SCALE DATA_SCALE
FROM ALL_TAB_COLUMNS
WHERE OWNER = '#LOGIN_NAME#'
ORDER BY 1, 2
Red Brick 5.x, 6.x SELECT DISTINCT CREATORNAME_SPACE, NAME TAB_NAME
FROM RBW_TABLES
WHERE ID > 0 ANDCREATOR='#LOGIN_NAME#'
SELECT T.CREATOR NAME_SPACE,T.NAME TAB_NAME, C.NAMECOL_NAME, C.TYPE DATA_TYPE,C.LENGTH DATA_LEN,C.PRECISION DATA_PREC,C.SCALE DATA_SCALE
FROM RBW_TABLES T,RBW_COLUMNS C
WHERE T.ID = C.TID
AND T.ID > 0
ORDER BY 1, 2
RDBMS Default Catalog Table SQL Full Catalog SQL
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 407/489
Advanced Reporting Guide Warehouse Catalog SQL E
© 2003 MicroStrategy, Inc. Default Warehouse Catalog SQL 377
Microsoft SQL Server7.0
SELECT DISTINCT U.nameNAME_SPACE, T.name TAB_NAME
FROM sysobjects T, sysusers U
WHERE T.uid = U.uid
AND T.type IN ('U', 'V')
SELECT U.name NAME_SPACE,T.name TAB_NAME, C.nameCOL_NAME, C.type DATA_TYPE,C.length DATA_LEN, C.prec
DATA_PREC, C.scaleDATA_SCALE
FROM sysobjects T,syscolumns C, sysusers U
WHERE T.id = C.id and T.typein ('U', 'V')
AND T.uid = U.uid
ORDER BY 1, 2
Sybase AdaptiveServer 11.x, 12.x
SELECT DISTINCT U.nameNAME_SPACE, T.name TAB_NAME
FROM sysobjects T, sysusers U
WHERE T.uid = U.uid
AND T.type IN ('U', 'V')
SELECT U.name NAME_SPACE,T.name TAB_NAME, C.nameCOL_NAME, C.type DATA_TYPE,
C.length DATA_LEN, C.precDATA_PREC, C.scaleDATA_SCALE
FROM sysobjects T,syscolumns C, sysusers U
WHERE T.id = C.id and T.typein ('U', 'V')
AND T.uid = U.uid
ORDER BY 1, 2
Sybase IQ 12 SELECT DISTINCT U.nameNAME_SPACE, T.table_name
TAB_NAMEFROM systable T, sysusers U
WHERE T.creator = U.uid
AND T.table_type IN ('BASE','VIEW')
SELECT U.name NAME_SPACE,T.table_name TAB_NAME,
C.cname COL_NAME, C.coltypeDATA_TYPE, C.lengthDATA_LEN, C.syslengthDATA_SCALE
FROM systable T, syscolumnsC, sysusers U
WHERE T.table_name = C.tnameand T.table_type in ('BASE','VIEW')
AND T.creator = U.uid
ORDER BY 1, 2
RDBMS Default Catalog Table SQL Full Catalog SQL
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 408/489
Warehouse Catalog SQL Advanced Reporting GuideE
378 Default Warehouse Catalog SQL © 2003 MicroStrategy, Inc.
Tandem NonStop SQL SELECT DISTINCT U.nameNAME_SPACE, T.name TAB_NAME
FROM sysobjects T, sysusers U
WHERE T.uid = U.uid
AND T.type IN ('U', 'V')
SELECT U.name NAME_SPACE,T.name TAB_NAME, C.nameCOL_NAME, C.type DATA_TYPE,C.length DATA_LEN
FROM sysobjects T,syscolumns C, sysusers U
WHERE T.id = C.id and T.typein ('U', 'V')
AND T.uid = U.uid
ORDER BY 1, 2
NCR Teradata
*Note : requiresmanual replacementof template string#?Database_Name?#
SELECT DISTINCT DatabaseNameNAME_SPACE, TableNameTAB_NAME
FROM DBC.TABLES
WHERE DatabaseName ='#?DATABASE_NAME?#'
SELECT DatabaseNameNAME_SPACE, TableNameTAB_NAME, ColumnNameCOL_NAME, ColumnTypeDATA_TYPE, ColumnLength
DATA_LEN, DecimalTotalDigitsDATA_PREC,DecimalFractionalDigitsDATA_SCALE
FROM DBC.COLUMNS
WHERE DatabaseName ='#?DATABASE_NAME?#'
ORDER BY 1, 2
RDBMS Default Catalog Table SQL Full Catalog SQL
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 409/489
© 2003 MicroStrategy, Inc. 379
P ROJECT CREATION ASSISTANT
Introduction
You should already know how to create a simple project usingProject Builder, which is covered in the Basic Setup Guide .Project Builder is a streamlined tool to get you started quicklywith a simple project. It contains only a small subset ofMicroStrategy ’s functionality, allowing you to rapidly createuser hierarchies and simple metrics and reports. You can useProject Builder to efficiently create quick proof-of-concepttest projects with your own data. It is best suited for a basicsetup procedure, resulting in a simple yet completelyfunctional project.
While the Project Creation Assistant performs the same basicoperation —that is, creating a project —its audience isexperienced project creators who have planned all their facts,attributes, and relationships. The advantage of the ProjectCreation Assistant is its ability to create many schema objectsat once. Since you can efficiently add many tables anddevelop numerous attributes and facts, it is especially usefulfor large projects which contain many tables and schema
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 410/489
Project Creation Assistant Advanced Reporting GuideF
380 Before you begin © 2003 MicroStrategy, Inc.
objects. You can also create attributes with many-to-manyrelationships. Unlike Project Builder, which is targeted atnew users and a basic setup, you cannot create metrics orreports with the Project Creation Assistant. Instead, you canuse the Metric Editor and the Report Editor to createsophisticated and complicated metrics and reports.
Before you begin
Plan your project
You should plan your project before using the ProjectCreation Assistant. You should consider the following:
• the tables to use in the project
• the datatypes to use to identify facts
• the facts to include in the project
• the datatypes to use to identify attributes
• the attributes to create
• the description column name for each attribute
• any other attribute forms for each attribute
The additional attribute forms are not created throughthe Project Creation Assistant; you must add themthrough the Attribute Editor after you complete theProject Creation Assistant steps.
• the child attributes for each attribute
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 411/489
Advanced Reporting Guide Project Creation Assistant F
© 2003 MicroStrategy, Inc. Project creation 381
Create the metadata database
Before you access the Project Creation Assistant to generate aproject, you should create the metadata database. TheConfiguration Wizard helps you create the empty metadatashell in the metadata database. These empty metadata tableswill later be populated during the project creation step of theProject Creation Assistant. For more information on theConfiguration Wizard, see the Basic Setup Guide .
You can also create a direct, or two-tier, project source toconnect to the metadata database. However, setting up theproject source within the Project Creation Assistant is easier.For further details on project sources, refer to the Basic SetupGuide .
Project creationNow that you have planned your project and completed theprerequisites, you can use the Project Creation Assistant toguide you through building the project and populating themetadata based on the data structures present in the datawarehouse.
The steps of the Project Creation Assistant are:
1 Initialize/create the project.
2 Select tables from the Warehouse Catalog.
3 Create facts.
4 Create attributes.
You should complete all the steps in the Project
Creation Assistant at the same time. While you cansave an incomplete project definition, you cannotfinish creating it with the Project Creation Assistant.Instead, you must finish complete it using theappropriate interface, such as the Warehouse Catalog,Fact Creation Assistant, and Attribute Creation Assistant.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 412/489
Project Creation Assistant Advanced Reporting GuideF
382 Project creation © 2003 MicroStrategy, Inc.
To access the Project Creation Assistant
• From the Schema menu, choose Create New Project . TheProject Creation Assistant dialog box opens.
Initialize/create the project
The first step in project creation is to initialize the projectusing the New Project dialog box, which opens when youchoose the Create project step from the Project Creation Assistant menu.
Initializing the project means identifying the new projectwith a name and the metadata repository in which to createthe project —that is, the project source. If you have notalready set up a project source, you can create one in theProject Source Manager by clicking New in the Project Sourcesection.
To support anonymous authentication mode for guest usersfor this project, select Enable guest user account.
After you specify these initial settings, the shell of a project is
created in the metadata. This means that the folder structureand default connectivity settings are set up. This process cantake some time to complete.
If you are not authorized to create projects in theselected data source, the project will not be created.
Select tables from the Warehouse Catalog
This step in building a project determines the set ofwarehouse tables to be used, and therefore the set of dataavailable to be analyzed in the project. The WarehouseCatalog is accessed to allow you to select the database tablesto use in your new project. MicroStrategy schema objectssuch as attributes, facts, and tables are abstractions built ontop of tables and columns in the database.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 413/489
Advanced Reporting Guide Project Creation Assistant F
© 2003 MicroStrategy, Inc. Project creation 383
When you choose the Select tables step from the ProjectCreation Assistant menu, the Warehouse Database Instancedialog box opens. The database instance selected in thisdialog box determines which data warehouse is accessed. Ifyou did not previously set up a database instance, click Newto create one in the Database Instance Wizard. You can alsoedit an existing database instance with the DatabaseInstances dialog box. To access it, click Edit.
Once you set the database instance, the Warehouse Catalogdialog box opens. This screen lists all the tables in thedatabase to which you are connected through your databaseinstance and to which your database login has read privileges. You select the lookup, fact, and relationship tables to use inyour new project. You should also include all the tablesneeded to complete your project, including transformation
tables, aggregate tables, and partition mapping tables. You can add additional tables after exiting the ProjectCreation Assistant by using the Warehouse Catalog.For more information, see the Basic Setup Guide .
To control how the warehouse tables are accessed andprocessed, options are offered in three different categories,catalog, view, and schema. To access them, click Options inthe toolbar of the Warehouse Catalog dialog box.
Catalog
The Catalog options allow you to
• change the database instance to connect to a differentdata warehouse
• customize the Catalog Read Method , which affects howthe tables and columns are retrieved from the databasesystem catalog, with the following options:
– Settings allows you to directly edit the SQLstatements that are used to retrieve the list of availabletables from the Warehouse Catalog and the columnsfor the selected tables. The default SQL retrieves aDISTINCT list of tables and columns from all users. You could constrict the information returned, for
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 414/489
Project Creation Assistant Advanced Reporting GuideF
384 Project creation © 2003 MicroStrategy, Inc.
example, by specifying certain conditions and/or tableowners. For more information, see Appendix E,Warehouse Catalog SQL .
– You can choose whether to have the Project Creation Assistant count the number of rows for all tableswhen reading the database catalog.
– The final option is whether to ignore the currenttable name space when reading from the databasecatalog and update using new table name space.
• Switch the catalog read method from automatic tomanual, so that the database is queried only after ReadCatalog is selected. This allows you to control exactly howoften the Warehouse Catalog is read for performancereasons. If you have a large database, the query can take
some time. By default, the method is set to automatic topopulate the table list when the Warehouse Catalog isopened.
View
The View options allow you to
• Set the table prefix specifications , which determinewhether to display table prefixes in the table list. You canalso attach a prefix to all the tables added to the project.
• set whether to display the number of rows for each table
• set whether to display the name space of each table
Schema
The Schema options allow you to
• Select whether existing schema objects areautomatically mapped to new tables that are added tothe project. The default is yes.
• Select whether to automatically calculate the logicalsizes for any new tables added to the project. The defaultis yes.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 415/489
Advanced Reporting Guide Project Creation Assistant F
© 2003 MicroStrategy, Inc. Project creation 385
After you select the tables to be added to the project, the tabledefinitions are written to the metadata.This process can takesome time to complete.
Create facts
This step accesses the Fact Creation Wizard to help you createthe facts for your project. Facts relate numeric data valuesfrom the data warehouse to the MicroStrategy reportingenvironment. They allow you to access the data stored in thedata warehouse and they form the basis for metrics.
Fact creation rulesThe Fact Creation Wizard uses rules to help automate the factcreation process. These rules are accessed from the DefineRules button on the Introduction page of the wizard. The firstrule determines, by datatype, which columns are displayedwhen you are selecting columns to use in facts. The secondrule concerns how to create default fact names —whether toreplace underscores in the fact name with spaces andwhether the first letter is capitalized. You need to changethese rules if the naming conventions in your warehouse do
not conform to these defaults.
Fact column selection
Select the columns to be used as facts. You can rename anycolumn to make it more user-friendly by selecting it andpressing F2.
The wizard cannot handle heterogeneous columnnames. Select each fact object only once. You can usethe Fact Editor to add additional expressions, as wellas fact extensions, after you complete the ProjectCreation Wizard. For more information onheterogeneous column names, see the Basic SetupGuide or Chapter 7, Facts .
The selected fact definitions are written to the metadata.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 416/489
Project Creation Assistant Advanced Reporting GuideF
386 Project creation © 2003 MicroStrategy, Inc.
Create attributes
This step accesses the Attribute Creation Wizard to help youcreate the attributes for your project. Attributes are used togroup or aggregate fact data. An attribute acts like a columnheader, and the data that appears in the lookup table areelements. Elements define and make up the attribute.
Attribute creation rules
The Attribute Creation Wizard uses the rules listed below tohelp automate the attribute creation process. Change theserules if the naming or datatype conventions in yourwarehouse do not conform to these defaults. These rules are
accessed from the Define Rules button on the Introductionpage of the wizard.
• The column datatype rule determines, by datatype, whichcolumns are available to be attribute ID columns.
• The attribute name rule concerns how to create defaultattribute names —whether to replace underscores in theattribute name with spaces, remove the word ID from thename, and capitalize the first letter.
• The warehouse search rule sets naming conventions tohelp locate your warehouse objects. The defaults are IDfor identifier columns, DESC for description columns, andLOOKUP for lookup tables.
ID column selection
Select the columns to be used as attributes. Only thosecolumns with datatypes that match those chosen in the rulesappear here. To assist you, the columns that match the
identifier naming convention set in the warehouse searchrule are automatically highlighted. You can rename anyattribute to make it more user-friendly by selecting it andpressing F2.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 417/489
Advanced Reporting Guide Project Creation Assistant F
© 2003 MicroStrategy, Inc. Project creation 387
Ensure that all values in the ID column are unique andthat it does not contain NULL values. AlthoughDesktop allows it, a column that has NULL or repeatedvalues should never be used as the ID column for anattribute. Unexpected behavior and errors result.
Compound attributes can also be created in this step. Acompound attribute is an attribute where more than one IDcolumn is needed to uniquely identify the elements of thatattribute. For more information on compound attributes, seeChapter 9, Attributes .
Description column selection
For each attribute, you can select whether to use the ID or adifferent column for the description of the attribute. To helpyou, the column that follows the description namingconvention set in the warehouse search rule is automaticallyselected.
Other attribute forms need to be created through the Attribute Editor after you complete steps in the ProjectCreation Assistant. Refer to Chapter 9, Attributes , formore information about attribute forms.
Lookup table selection
Select the lookup table for each attribute. Lookup tables arethe physical representation of attributes; they provide theinformation for an attribute through data stored in their IDand description columns. To help you, the tables that followthe lookup naming convention set in the warehouse searchrule is automatically selected.
Compound attribute definition
If you created compound attributes, their descriptions andlookup tables are selected separately from other attributes.
Relationship definition
For each attribute, you specify the children and the type ofrelationship: one-to-one, one-to-many, or many-to-many.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 418/489
Project Creation Assistant Advanced Reporting GuideF
388 Additional schema configurations © 2003 MicroStrategy, Inc.
After you have completed these pages, the attributes arecreated.
Project completion You have now completed making a project with the ProjectCreation Assistant. You can continue to develop the project,using the editors as described in the next section, to addcomplexity and flexibility to the project.
Additional schema configurations You can configure additional schema-level settings toincrease the flexibility of the project you produced with theProject Creation Assistant. These settings include
• Attribute definitions —The Attribute Creation Wizardallows you to quickly develop multiple attributes at once. You can use the Attribute Editor to define or edit morecomplex attributes.
• Fact definitions —The Fact Editor allows you to designderived and implicit attributes, heterogeneous mappingsof warehouse columns, fact extensions, and factdegradations.
• User hierarchies —The Hierarchy Editor allows you tocreate user hierarchies, which facilitate access to attributeand element browsing and drilling.
• Advanced configurations —These objects includeaggregate tables, partitioning and partition mappings,and transformations. The tools used to create them arethe Warehouse Catalog, the Metadata Partition Mapping
Editor, the Warehouse Partition Mapping Editor, and theTransformation Editor.
All these schema-level objects are discussed in thismanual.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 419/489
© 2003 MicroStrategy, Inc. 389
ETL INFORMATION
Description
The extraction, transformation, and loading (ETL) processrepresents all of the steps necessary to move data fromdisparate source systems to an integrated data warehouse.
The data is first extracted, or retrieved, from the sourcesystems. It is then transformed before being loaded into thedata warehouse. Transformation procedures can includeconverting datatypes and column names, eliminating baddata, correcting typographical errors, filling in incompletedata, and so on. The third and final step is to load the datainto the warehouse.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 420/489
ETL Information Advanced Reporting GuideG
390 Report ETL information © 2003 MicroStrategy, Inc.
Report ETL informationETL information is available through a menu option. Thedata provided allows you to ascertain the origin and structure
of the OLTP database table columns used to create columnsin the warehouse tables from which attribute and metric datafor the report has been obtained.
The option, which is shown on the menu as ETL Information,displays the following information for a selected attribute ormetric on a report:
• a definition of the attribute
• a list of the tables used to define attribute elements ormetric facts
• a list of the columns included in attribute or metricdefinition
• a list of names for the mappings used in transforming thecolumns from the enterprise database to the warehousedatabase
• a list of the columns used as sources for the mapping
• the transformation expression used for each mapping
• the time at which source column data was last updatedBefore you can use ETL functionality, Informatica ’sMX2 API (version 1.2 or newer) must be installed onthe Intelligence Server host machine. Please consultyour System Administrator for details.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 421/489
© 2003 MicroStrategy, Inc. Formatting metric data 391
METRIC FORMATTING AND S YNTAX
Description
This appendix contains information on additional metricproperties. The first part describes formatting options in theMetric Editor. This includes number display codes, symbols,and colors. The second section documents how to createmetrics in the Command Manager.
Formatting metric dataThe information that follows addresses the formattingoptions available for data display on MicroStrategy 7 i reports.The tables contain format-related specifics for
• number display codes
• symbols
• colors
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 422/489
Metric Formatting and Syntax Advanced Reporting GuideH
392 Formatting metric data © 2003 MicroStrategy, Inc.
Report-formatting options described in this appendixare available as part of the Metric Editor. To accessthese options, select Tools/Formatting/Category from the Metric Editor menu bar.
Number display codes
Formatting codes are used to select formats for axis labels ona graph report and for data values of metrics in a grid report.The table that follows shows format codes for the varioustypes of available value displays, specifying differencesamong positive, negative, and decimal values.
NumberCategory Format Code Positive Negative Decimal
General General 3 -3 .3
Number 0 3 -3 0
0.00 3.00 -3.00 0.30
#,##0 3 -3 0
#,##0.00 3.00 -3.00 0.30
#,##0;(#,##0) 3 (3) 0
#,##0.00;(#,##0.00)
3.00 (3.00) 0.30
#,##0;[RED](#,##0)
3 (3)[in red] 0
#,##0.00;[RED](#,##0.00)
3.00 (3.00)[inred]
0.30
Currency $#,##0;($#,##0) $3 ($3) $0
$#,##0;[RED]($#,##0)
$3 ($3)[in red] $0
$#,##0.00;($#,#
#0)
$3.00 ($3.00) $0.30
$#,##0.00;[RED]($#,##0)
$3.00 ($3.00)[inred]
$0.30
Percent 0% 300% -300% 30%
0.0% 300.0% -300.0 30.0%
0.00 300.00% -300.00 30.00
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 423/489
Advanced Reporting Guide Metric Formatting and Syntax H
© 2003 MicroStrategy, Inc. Formatting metric data 393
Symbols and their functions
The following table shows the symbols used for displayformatting and the function associated with each.
Fraction #?/? 3 -3 2/7
#??/?? 3 -3 3/10
Scientific 0.00E+00 3.00E+00 -3.00E+00 3.00E-01
##0.0E+0 3.0E+0 -3.0E+0 3.0E-1
NumberCategory Format Code Positive Negative Decimal
Symbol Function
General Displays a number in general format.
0 Digit placeholder. Conditions are as follows:• If a number contains fewer digits than this
placeholder, the number is padded with zeros.• If a number contains more digits to the right of the
decimal point than this p laceholder, the decimalcomponent of the number is rounded off to fit thenumber of digits that this placeholder canaccommodate.
• If a number contains more digits to the left of thedecimal point than this p laceholder, the extra digitsare retained.
# Digit placeholder. The function is very similar to that of0 (see above), but there is no zero padding when thenumber contains fewer digits than this placeholder.
? Digital placeholder. The function is very similar to thatof 0 (see above), but padding uses spacing in lieu ofzeros for padding.
. (period) Decimal point. Determines the number of digitsdisplayed on either side of the decimal point.Conditions are as follows:
• If the format contains only #s to the left of thedecimal point, values less than one begin with adecimal point.
• If the format contains zeros to the left of the decimalpoint, values less than one begin with a zero.
% Displays a number as a percent value. The originalnumber is multiplied by 100 then a “%” is appended.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 424/489
Metric Formatting and Syntax Advanced Reporting GuideH
394 Formatting metric data © 2003 MicroStrategy, Inc.
, (comma) Thousands separator. Conditions are as follows:• If the format contains commas separated by
placeholders # or 0, the number is displayed with acomma for every three integral places.
• A comma following a # or 0 placeholder implies anincrement by a factor of 1000. For example, thenumber 10,000 would be represented as 10.
E- E+ e- e+ Displays a number in scientific notation. Conditions areas follows:
• If the format includes scientific notation symbols tothe left of a # or 0 placeholder, the number isdisplayed in scientific notation, with either E or e added.
• The number of placeholders (# or 0), either to theright or to the left of the decimal point, determinesthe value of the exponent.
• E- and e- place a “-” (minus) sign next to a negativeexponent.
• E+ and e+ place a “-” (minus) sign next to anegative exponent, and a “+” (plus) sign next to apositive exponent.
$ - + / ():space
Displays the character. To display a character not onthis list, either precede that character with a backslash(\) or enclose it in double quotes. Note that thebackslash is also used to format fractions.
\ Displays the character that follows. The backslashsymbol itself is not displayed.
“(text)” Displays enclosed text.
@ Text placeholder, where text replaces @.
* Repeats the character that follows across the width ofthe column. A format section can have only oneasterisk.
_(underscore)
Skips the width of the character that follows. Forexample, to align negative numbers surrounded byparentheses with positive numbers, enter _) for thepositive numbers to skip the width of each parenthesis.
Symbol Function
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 425/489
Advanced Reporting Guide Metric Formatting and Syntax H
© 2003 MicroStrategy, Inc. Command Manager metric syntax 395
Colors
Within the Metric Editor, colors are displayed as each colorname indicates. Available colors include
• black• blue
• cyan
• green
• magenta
• red
• white
• yellow
Command Manager metric syntaxIf you understand the various building blocks of metrics, youcan create a metric without using the Metric Editor. Instead,you work in the Command Manager.
The syntax of a metric is:
Function<parameter>(arguments){level}<filter>|transformation|
Each of these components is discussed in more detail below.
Operators and functions
An operator enables calculation by providing themathematical expression for a given metric definition.
Operators available through the Metric Editor provide
• arithmetic operations
• comparisons, including rank comparisons
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 426/489
Metric Formatting and Syntax Advanced Reporting GuideH
396 Command Manager metric syntax © 2003 MicroStrategy, Inc.
• logical functions
Closely associated with the operator, delimiters show thestructure of a metric definition by enclosing each metriccomponent within recognizable symbols when displayed.Delimiters provided by the Metric Editor include those for
• object type ( [ ] )
• level (dimensionality) ( { } )
• filter ( < > )
• transformations ( || )
Operators and delimiters are displayed in a metric definitionas follows:
METRICNAME (Fact) {Metric level }<Filter >|Transformation |
Level
The level of a metric determines how the MicroStrategyEngine selects and assembles information for calculation. Anunderstanding of the structure of metric levels is, therefore,necessary for effective metric definition. Essentially, metriclevels determine:
• filtering, which affects how the WHERE clause of a reportis to be modified
• grouping, which affects how the GROUP BY clause of areport is to be modified
The following applies to the contents of the level statement ina metric definition:
• The statement is enclosed in brackets ( { } ).
• Statement components are separated by commas.
If you are using a regional setting other than English,use the list separator that is defined in the regionalsettings of your machine, If you do not, errors canoccur when you edit an object.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 427/489
Advanced Reporting Guide Metric Formatting and Syntax H
© 2003 MicroStrategy, Inc. Command Manager metric syntax 397
• Statement components are associated with specialcharacters that determine grouping or filtering values.
• Modifiers that appear before an attribute name denotegrouping values.
• Modifiers that appear after an attribute name denotefiltering values.
• An attribute-grouping-filtering content combination isknown as a level unit.
The figure shows the order of element placement within thelevel statement of a metric definition.
In the context of metric levels, the tilde ( ~ ) indicatesthe level given by the report. If no other information ispresent in the level portion of a metric ’s definition, itsignifies that the metric is aggregated at the reportlevel.
Level filtering
When determining the calculations to be performed for agiven metric, you can change how the WHERE clause in theSQL statement affects certain attributes in a report. Levelfiltering modifies metric definitions to achieve this. The tableshows the options available when applying a filter to a metric.
Sum (Fact) { ~ +, Region+ }
level
prefix(grouping)
suffix(filtering)
attribute
Filter Symbol
Standard +
Absolute *
Ignore %
Undefined Empty
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 428/489
Metric Formatting and Syntax Advanced Reporting GuideH
398 Command Manager metric syntax © 2003 MicroStrategy, Inc.
Standard filtering
Standard filtering does not change the filter applied to thereport. For example, a metric is defined as:
Sum (Reg_Sls_Dlr) { ~ + }
To specify “Region ” as the aggregation level and leave theWHERE clause in the SQL statement intact, change themetric to the following:
Sum (Reg_Sls_Dlr) { ~ +, Region+}
Absolute filtering
Absolute filtering raises elements in the report filter to thelevel of the specified attribute. This implies the followingconditions:
• If the attribute in the metric filter is a parent of theattribute in the report filter, calculations are performedonly on elements to which the report filter applies.
• If the attribute in the metric filter is of the same level or achild of the level in the report filter, calculations occur asspecified by the report filter.
For example, a report contains a filter at the market level anduses this metric:Sum (Reg_Sls_Dlr) { ~ +, Region*}
Only regions having children included in the report filter areincluded in the calculation. If the report has “Region ” as itsfilter, the metric uses that filter without modification.
Ignore filtering
Ignore filtering is used when a given attribute is not includedin metric calculations. For example, a metric is defined as:
Sum (Reg_Sls_Dlr) { ~ +, Region%}
The report has a filter on “Market, ” which is a child of“Region, ” that filter would not be part of the calculation.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 429/489
Advanced Reporting Guide Metric Formatting and Syntax H
© 2003 MicroStrategy, Inc. Command Manager metric syntax 399
Undefined filtering
When undefined filtering is used for the metric filter, thefollowing applies:
• If the report includes an attribute in the same hierarchy asthat indicated by the metric filter, aggregation takes placeat the level of that attribute.
• If the report does not include other attributes in the samehierarchy as that indicated by the metric filter,aggregation defaults to the “ Absolute ” option.
For example, a metric is defined as:
Sum (Reg_Sls_Dlr) { ~ +, Region+, Market }
The “where ” clause in the SQL statement is affected by thevalue for “Region ” because “Market ” is undefined.
Level grouping
Within the level statement, grouping information determinesthe level at which the metric function aggregates data.Specifically, this level component allows you to select
• an aggregation level different from that specified by thereport filter
• either the first or last entry in a range of values
The table shows how these options are displayed in the levelstatement.
Grouping Symbol
Standard Empty
Beginning fact >|
Beginninglookup
>
Ending fact <|
Ending lookup <
Ignore !
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 430/489
Metric Formatting and Syntax Advanced Reporting GuideH
400 Command Manager metric syntax © 2003 MicroStrategy, Inc.
Standard grouping
When an attribute is part of the metric level, calculations areaggregated at that attribute ’s level by default, rather than atthe report level. For example, a metric is defined as:
Sum (Reg_Sls_Dlr) { ~ +, Region+}
“Region ” as part of the level statement implies that theaggregation occurs at this level, rather than at the report levelof “Store. ” The effect is equivalent to obtaining subtotals for“Region ” and applying the data to all rows. The figure showshow the information would be displayed.
Beginning fact and beginning lookup grouping
When grouping by beginning values, whether from a facttable or a lookup table, aggregation occurs at a lower levelthan that indicated. The value used for the report is the firstone found on the table. These options are only used withnon-aggregatable metrics or facts. An example uses thefollowing report.
Standard F ilter:
Region Market Store Regular Sales ($) reg std
Northeast Mid-Atlantic Baltimore 167,508.52 358,582.48
Philadelphia 191,073.96 358,582.48
Total 358,582.48
Total Total 358,582.48
S ou th C aro linas C harlo tte 223,349.41 1,139,921.49
Durham 235,918.44 1,139,921.49
Greenville 234,871.65 1,139,921.49
Total 694,139.50
Deep South Atlanta 229,725.75 1,139,921.49
Fayetteville 216,056.24 1,139,921.49
Total 445,781.99
Total Total 1,139,921.49
Total Total Total 1,498,503.97
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 431/489
Advanced Reporting Guide Metric Formatting and Syntax H
© 2003 MicroStrategy, Inc. Command Manager metric syntax 401
Applying the beginning fact grouping option, the metricdefinition reads:
Sum (Reg_Sls_Dlr) { ~ +, <|Store+}
The information resulting from this grouping is as follows.
Notice that to obtain this result:
• Information is first aggregated at the “Store ” level andgrouped by “Market. ” The table then contains all valuesfor each store in each market.
• Next, the MicroStrategy Engine searches for theminimum (Min) value to retrieve the first occurrence of“Store ” in each market.
Applying the beginning lookup grouping option calls for theuse of lookup-table information, so that the first value usedfor display is an attribute element, not a fact. The metric
definition in this case is:Sum (Reg_Sls_Dlr) { ~ +, < Store+}
Region M arket Store Regular Sales ($)
Northeast Mid-Atlantic Baltimore 167,508.52
Philadelphia 191,073.96
South Carolinas Charlotte 223,349.41
Durham 235,918.44
Greenville 234,871.65
Deep South Atlanta 229,725.75
Fayetteville 216,056.24
Region Market Regular Sales ($) store beg fact
Northeast Mid-Atlantic 348,582.48 167,508.52
South Carolinas 694139.50 223,349.41
Deep South 445,782.99 229,725.75
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 432/489
Metric Formatting and Syntax Advanced Reporting GuideH
402 Command Manager metric syntax © 2003 MicroStrategy, Inc.
Ending fact and ending lookup grouping
When grouping by ending fact table or ending lookup table,the procedure is the same as that used in the case of beginning fact and lookup. The only difference is that the
values selected for display represent the last occurrenceinstead of the first one. These options are only used withnon-aggregatable metrics or facts. Taking the same reportinformation as before but applying the ending fact groupingoption, the metric definition is:
Sum (Reg_Sls_Dlr) { ~ +, >|Store+}
The information resulting from this grouping appears asfollows.
Notice that to obtain this result:
• Information is first aggregated at the “Store ” level andgrouped by “Market. ” The table then contains all valuesfor each store in each market.
• Next, the MicroStrategy Engine searches for themaximum (Max) value to retrieve the last occurrence of“Store ” in each market for display.
Applying the end lookup grouping option calls for the use oflookup-table information, so that the last value used fordisplay is an attribute element, not a fact. The metric in thiscase is defined as:
Sum (Reg_Sls_Dlr) { ~ +, > Store+}
Region Market Regular Sales ($) store end fact
Northeast Mid-Atlantic 348,582.48 191,073.96
South Carolinas 694139.50 234,871.65
Deep South 445,782.99 216,056.24
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 433/489
Advanced Reporting Guide Metric Formatting and Syntax H
© 2003 MicroStrategy, Inc. Command Manager metric syntax 403
Ignore grouping
As in the case of filtering, this grouping option instructs theengine to omit the information in the aggregation. Using“Region ” as the attribute level and “Ignore ” as the value for
grouping, the metric is defined as:Sum (Reg_Sls_Dlr) { ~ +, !Region+}
Additional level capabilities
In addition to the filtering and grouping functions describedfor metric dimensionality, MicroStrategy 7 i also offers thefollowing options as advanced settings for metric definition:
• allow other users to add data to a metric level, whichindicates whether the metric definition accepts additionaldimensionality units
• add to the metric level attributes present in the reportfilter, which indicates that the filter defined for the reportis applied directly to metric calculations
Both of these capabilities are enabled by default for metricdefinition. To disable them, use the syntax in the followingexamples:
• Sum (Reg_Sls_Dlr) { ~+, Region+;-}
Disallows additions to metric-level data
• Sum (Reg_Sls_Dlr) { ~+, Region+;/}
Disallows direct application of report filters to metriccalculations
• Sum (Reg_Sls_Dlr) { ~+, Region+;- ;/}
Disallows both capabilities
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 434/489
Metric Formatting and Syntax Advanced Reporting GuideH
404 Command Manager metric syntax © 2003 MicroStrategy, Inc.
Pass- through functions
Pass-through expressions, also called Apply Functions,provide access to functionality that is not standard inMicroStrategy products but can be obtained through therelational database. When you include a pass-throughexpression in an attribute, fact, or transformation expression,the SQL Engine recognizes it as custom SQL and treats it as apass-through expression. The pass-through expression isthen sent to the relational database as written. For moreinformation, see Appendix B, Pass-through Expressions .
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 435/489
© 2003 MicroStrategy, Inc. 405
RELATIONSHIP F ILTERING S YNTAX
Description
This appendix contains information on creating relationshipfilters using the Advanced Qualification dialog box in theFilter Editor. You can also use the Set Qualification dialog box if you want to work with an interface rather thancommands. For information on using the Set Qualificationdialog box, see Set qualification: relationship filter inChapter 3, Filters .
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 436/489
Relationship Filtering Syntax Advanced Reporting GuideI
406 Advanced qualification syntax © 2003 MicroStrategy, Inc.
Advanced qualification syntaxIf you use the Advanced Qualification dialog box, you mustuse the following syntax:
< relation ; ( filter qualification )>{ list of output attributes }
where:
• The relation can be a fact, a table, or an empty filter. Factsand tables are relationships between attributes inFiltering Input and Output Level. Relationshipsdetermine which table is used during SQL generation.
If a relationship is left empty, the schema is used toselect the appropriate table.
• The filter qualification defines input filtering criteria. Itmay consist of an attribute qualification, a filterqualification, or a metric qualification, followed by acomma and an output level.
• The list of output attributes is a comma-separated list ofthe attributes to be filtered on. If your regional settingsare not set to English, the list separator must be whateveris defined in your regional settings. The output leveldictates the contents of the relationship filter output set.
It is easiest to simply drag an attribute from the ObjectBrowser into the list. If you manually enter theattribute, it must be in the format[attributename]@ID or[attributename]@DESC .
For example, if you are creating a report that shows all storesselling Nike shoes in the DC area, the relationship filtersyntax looks like this:
<[Fact Sales]; [Nike Shoes, Region]>
{Stores@ID}
where Fact Sales is the table name, Nike Shoes and Regionform the filter qualification, and Stores is the attribute.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 437/489
© 2003 MicroStrategy, Inc. 407
DESKTOP COMMANDS
Introduction
This appendix is a specification of the Desktop Commandsused in MicroStrategy products. Even though DesktopCommands can be invoked from the command line, thisdocument focuses on the Desktop Homepage usage anddescribes the commands from an HTML perspective.
The following topics are discussed:
• Background
• Why would you use Desktop Commands?
• Setting the Desktop homepage
• Viewing the Desktop commands
• Commands
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 438/489
Desktop Commands Advanced Reporting GuideJ
408 Background © 2003 MicroStrategy, Inc.
BackgroundDesktop Commands are a collection of methods thatMicroStrategy Desktop, as an application, supports. These
commands expose functionality such as executing a report,loading an editor, and so on. You can make full usage of thisfeature in the Desktop homepage.
Why would you use Desktop Commands?Desktop commands gives you the flexibility to create yourown project homepage and customize it according to your
needs and understanding.In HTML, Desktop commands are written using the anchorelement. Anchor elements typically contain a reference to auniform resource locator (URL). When an anchor is clicked,it performs an operation depending on the URL scheme. Forexample, a file transfer protocol (ftp) anchor starts a filetransfer operation; other schemes are http, gopher, and soon. To differentiate a Desktop command from other anchorswe use our own syntax. We call an anchor with this specialsyntax a Desktop anchor. Following is the HTML
specification of a Desktop anchor:<A hRef=”dss:// Command Parameters ”></A>
The example above describes the fundamental characteristicsof a Desktop anchor. However, any other HTML property can be used in the anchor.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 439/489
Advanced Reporting Guide Desktop Commands J
© 2003 MicroStrategy, Inc. Setting the Desktop homepage 409
Setting the Desktop homepageMicroStrategy Desktop is the first window displayed whenyou log on to MicroStrategy 7 i in the desktop environment; it
serves as the primary point of access to the editors, dialogs,and wizards that enable the use of MicroStrategy 7 i desktopinterface functions.
MicroStrategy Desktop can display the selected projectcontents in a designated HTML home page interface whichmay contain links to the reports, documents, shortcuts, andso on.
The Desktop homepage is displayed only when youselect the project within a project source and not forthe objects available within the selected project. Theobjects within the project are always displayed asfolders.
When you open MicroStrategy Desktop and log into a projectsource [Intelligence Server (3-tier) or project source Direct(2-tier) ] and then you select a project within the projectsource, you will see the HTML homepage which may displaylinks to the reports, folders, documents, description of theproject, and so on. To see an HTML page as shown in step 6of the following procedure, login as User in MicroStrategyTutorial.
MicroStrategy Desktop offers you to choose between projecthomepage and Folder List display. You can choose to enablehomepage functionality in Desktop Preferences and MyPreferences dialog boxes and can specify whether or not tosee a designated HTML file when opening a project. If youchoose not to see the HTML page, the Folder List appearsinstead. You can turn this option on by following these steps:
To set an HTML homepage
1 Log in to the MicroStrategy project source containing theproject for which you want to set an HTML homepage.
2 From the Tools menu select My Preferences option.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 440/489
Desktop Commands Advanced Reporting GuideJ
410 Setting the Desktop homepage © 2003 MicroStrategy, Inc.
3 In the My Preferences dialog box, select the Enableproject home page functionality check box .
4 Browse for and locate the HTML file in the HTML filepath box or use the default homepage location displayedin this box.
If you have created your own customized HTML pageto use in the project, locate the file using Browse button. Otherwise, the project will use the defaulthomepage designed by MicroStrategy.
5 Click OK.
6 Select the project within the project source. A projecthomepage will be displayed. For example, in theMicroStrategy Tutorial you will see the HTML homepagewhich looks like the following:
If you cannot see the HTML homepage even after you haveenabled the homepage option from the My Preferences dialog box, it is because the project homepage option is not enabledin the Desktop Preferences dialog box. To do this, complete
the following procedure.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 441/489
Advanced Reporting Guide Desktop Commands J
© 2003 MicroStrategy, Inc. Viewing the Desktop commands 411
To set Desktop preferences
1 From the Tools menu, select Desktop Preferences . TheDesktop Preferences dialog box opens.
2 In the dialog box, select the Enable project home pagefunctionality option.
3 Click OK.
To work with the homepage functionality, the Enable project home page functionality option shouldalways be enabled in both My Preferences andDesktop Preferences dialog boxes.
Viewing the Desktop commandsIn the homepage, Desktop commands exist embedded in thedocument HTML. When you view the source code of theHTML page, you can see the desktop commands.
To see where in the HTML the Desktop commands areembedded, right-click the HTML page and from the shortcutmenu, select View Source . The HTML code gets displayed inyour default text editor. Scroll through the code and look foranchor elements starting with the following:
<A hRef=”dss:// Command Parameters ”></A>
Desktop commands use unique object ID to execute thecommands.
Within a project, you can get an object ID by selectingan object, right-clicking it and then, from the shortcutmenu, select Properties . The ID is displayed in the
dialog box.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 442/489
Desktop Commands Advanced Reporting GuideJ
412 Commands © 2003 MicroStrategy, Inc.
CommandsDesktop supports the following commands:
• ChangeView : updates the Desktop view style
• Editor : loads a Desktop editor
• Execute : executes a report or document definition
• ExecuteDocument : executes a document definition
• ExecuteReport : executes a report definition
• Open : opens a connection to a project source or a sessionto a project
• Reset : closes a connection to a project source or a sessionto a project
• Shortcut: finds and selects a node in the folder list paneof the object browser
The description of each of these commands are in thefollowing sections.
ChangeViewThe ChangeView command shows or hides the shortcut andfolder list panes in the object browser.dss://ChangeView View
Parameters Description
View The view parameter indicates what operationshould be executed.The following operations are supported:
• ShowShortcutView• ShowFolderView• HideShortcutView• HideFolderView
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 443/489
Advanced Reporting Guide Desktop Commands J
© 2003 MicroStrategy, Inc. Commands 413
Remarks
The ChangeView command can take a list of operations in asingle command. For example, to show shortcuts and hidethe folder list use the command: ChangeView
ShowShortcutView\HideFolderView.
Example<A hRef="dss://changeview showshortcutview">ShowShortcuts</A>
<A hRef="dss://changeview showfolderview">Show Folders</A>
<A hRef="dss://changeview hideshortcutview">Hide Shortcuts</A>
<A hRef="dss://changeview hidefolderview">Hide Folders</A>
<A hRef="dss://changeview hidefolderview\showshortcutview">Hide Folders and Show Shortcuts</A>
<A hRef="dss://changeview showfolderview\hideshortcutview">Show Folders and Hide Shortcuts</A>
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 444/489
Desktop Commands Advanced Reporting GuideJ
414 Commands © 2003 MicroStrategy, Inc.
Editor
The Editor command loads a new instance of a Desktopeditor.dss://Editor EditorName
Remarks
The Editor command loads a new editor window in thecurrently selected project.
Example<A hRef="dss://editor search">Open Search Editor</A>
Execute
The Execute command loads a viewer for a certain object inmetadata. The command takes a list of object IDs and Types.The command supports report and document object types.dss://Execute ObjID1.ObjType1\ObjID2.ObjType2\…\ObjIDn.ObTypen
Parameters Description
EditorName Indicates the name of the editor to load. Thecommand supports the following editors:
• Search• ReportDefinition• DocumentDefinition• Prompt• Filter• Template• Metric
• CustomGroup• Consolidation• Attribute• Fact• Hierarchy• Transformation• Partition
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 445/489
Advanced Reporting Guide Desktop Commands J
© 2003 MicroStrategy, Inc. Commands 415
RemarksUse the Execute command when you want to execute a reportand a document using a single command.
Example<A hRef="dss://execute B5C67DFC11D60B5610008CB3D1CEE6A4.3\48CAD4644AB189F763E0EAA22BC0E6DC.55">Execute: {Profit Forecast 2001, Document (CustomerHierarchy)}</A>
ExecuteDocument
The ExecuteDocument command loads the document editor.The command can execute one or more documents.
The ExecuteDocument command executes thedocument only if the current project source is in serverconnection (3-tier).
dss://ExecuteDocument DocumentID1\DocumentID2\…\DocumentIDn
Parameters Description
ObjID The ID of the object to be executed. The ID canbe obtained using the Properties dialog in the
Desktop.ObjType The object type of the object to be executed. The
type is used from the EnumDSSObjectTypeenumeration in the MicroStrategy Objects typelibrary.The command supports the following two types:
• 3 —DSSTypeReportDefinition• 55 —DSSTypeDocumentDefinition
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 446/489
Desktop Commands Advanced Reporting GuideJ
416 Commands © 2003 MicroStrategy, Inc.
Remarks
The DocumentID parameter can be obtained in theProperties Dialog of the Desktop. The command finds thedocument in the project that is selected when the command isexecuted.
Example<A hRef="dss://executedocument 3D4DA91C4D20DA7532D4AB848C428031">Execute Document: {Document (My ElectronicsDashboard)}</A>
<A hRef="dss://executedocument 3D4DA91C4D20DA7532D4AB848C428031\0BD252404BB97A2167B085848A40A60B">Execute Document: {Document (My Electronics
Dashboard), Document (Product Hierarchy)}</A>
ExecuteReport
The ExecuteReport command runs a report and displays it ingrid view. The command can execute one or more reports.dss://ExecuteReport ReportID1\ReportID2\…\ReportIDn
Parameters Description
DocumentID The ID of the document definition object. Thecommand takes any number of documents to
execute.
Parameters Description
ReportID The ID of the report definition object. Thecommand takes any number of reports toexecute.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 447/489
Advanced Reporting Guide Desktop Commands J
© 2003 MicroStrategy, Inc. Commands 417
Remarks
The ReportID parameter can be obtained in the PropertiesDialog of the Desktop. The command finds the report in theproject that is selected when the command is executed.
The reports are executed using the settings (cache, displayview, and so on.) currently selected by the user.
Example<A hRef="dss://executereport BF294AA247895DD9354CA9B296D91D33">Execute Report: {Electronics Revenue vs. Forecast2001}</A>
<A hRef="dss://executereport BF294AA247895DD9354CA9B296D91D33\2C3DFFB411D6044FC0008C916B98494F">Execute Report: {Electronics Revenue vs. Forecast2001,Electronics Revenue By Region}</A>
Open
The Open command connects to a project source node in theobject browser. It can also take a project ID to open theproject node.dss://Open ProjectSourceName\ProjectID\UserLogin\UserP assword
Parameters Description
ProjectSourceName The name of the project source node in theobject browser control.
ProjectID Optional. ID (GUID) of the project object in theconfiguration metadata.
UserLogin Optional. Login string to use as default in thelogin window.
UserPassword Optional. Password string to use as default in thelogin window.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 448/489
Desktop Commands Advanced Reporting GuideJ
418 Commands © 2003 MicroStrategy, Inc.
Remarks
The Open command searches for the project source node byname. The search is case sensitive. After the project sourcenode is found it gets expanded. If the user is currently not
connected to the project source the command opens the loginwindow.
If the ProjectID parameter is sent, the command finds theproject node. You can obtain the project ID of a project usingthe Project Configuration dialog box in Desktop.
The UserLogin and UserPassword parameters set the defaultvalues of the login window when the project source node isexpanded. The login window is only displayed if the user isnot currently connected to the project source node.
Example<A hRef="dss://open MicroStrategy Tutorial">Open Microstrategy Tutorial</A>
<A hRef="dss://open MicroStrategy Tutorial\B19DEDCC11D4E0EFC000EB9495D0F44F">Open Tutorial Project</A>
<A hRef="dss://open MicroStrategy Tutorial\B19DEDCC11D4E0EFC000EB9495D0F44F\Administrator">Open Tutorial Project using Administrator login</A>
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 449/489
Advanced Reporting Guide Desktop Commands J
© 2003 MicroStrategy, Inc. Commands 419
Reset
The Reset command closes a session to a project or aconnection to a project source.dss://Reset ProjectSourceName\ProjectID
Remarks
If the ProjectID parameter is sent, the command closes thesession to the project. Otherwise, the command will close theconnection to the project source node.
Example<A hRef="dss://reset MicroStrategy Tutorial">Close connection to MicroStrategy Tutorial</A>
<A hRef="dss://reset MicroStrategy Tutorial\B19DEDCC11D4E0EFC000EB9495D0F44F">Close session to Tutorial Project</A>
Shortcut
The Shortcut command finds a folder node in the object browser. If the folder is found then it is selected and thecontents of the folder are displayed.dss://Shortcut FolderID
Parameters Description
ProjectSourceName The name of the project source node in the folderlist.
ProjectID Optional. ID (GUID) of the project object.
Parameters Description
FolderID The ID of the target folder. You can get the IDusing the Properties dialog box in the Desktop.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 450/489
Desktop Commands Advanced Reporting GuideJ
420 Commands © 2003 MicroStrategy, Inc.
Remarks
The Shortcut command searches for the folder ID in theproject that the user is currently browsing. To select a projectin the object browser use the Open command.
The folder ID parameter may specify an special folder nameinstead of a folder ID. The following special folders aresupported:
Example<A hRef="dss://shortcut A20C898211D60AE310008BB3D1CEE6A4">Financial Reports</A>
<A hRef="dss://shortcut profile_myreports">My Reports</A>
Profile_MyAnswers Public_Reports Schema_Subtotals
Profile_MyFavorites Public_Prompts Schema_Partition_Mappings
Profile_MyObjects Public_Searches Schema_Tables
Profile_MyReports Public_Metrics Schema_Hierarchies
Profile_Objects Public_Filters Schema_Functions
Public_Autostyles Schema_Objects Inbox
Public_Consolidations Schema_Attributes Data_Explorer
Public_Custom_Groups Schema_Facts Server_Admin
Public_Objects Public_Templates Schema_Transformations
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 451/489
© 2003 MicroStrategy, Inc. 421
FORMATTING DEFAULT VALUES
Introduction
An autostyle is a collection of all the formatting layers,allowing you to format different grid units on different reportsections. Not every grid unit must be configured to create anautostyle, so any grid unit can have formatting properties setto default. Recall that formats are applied in a particularorder, as described in Order of layers in Chapter 2, Reports .When the lowest layer is set to default, the properties aresupplied by the guiprops.pds file. This file is saved in theDesktop directory.
This appendix provides the default values for all theformatting properties. Each tab of the Format dialog box islisted below, with the default values for each property on thattab.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 452/489
Formatting Default Values Advanced Reporting GuideK
422 © 2003 MicroStrategy, Inc.
Number
The default values for the Number tab are:
• Category —general
• Decimal places —zero
• Use thousand separator —yes
• Negative numbers —no special consideration, meaningthat neither a red font nor parentheses are used
• Currency symbol —value determined by locale settings
• Currency position —value determined by locale settings
• Format —the number ’s data type determines how thevalue is formatted; for example, a date is formatteddifferently than a time
Alignment
The default values for the alignment properties are:
• horizontal alignment —right
• vertical alignment —top
• text wrapping —no
Font
The default font values are:
• Name —value determined by localization settings
• Script —western
• Bold—no
• Italic —no
• Size—10
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 453/489
Advanced Reporting Guide Formatting Default Values K
© 2003 MicroStrategy, Inc. 423
• Strikeout —no
• Underline —no
• Color — black
Border
The values for borders are:
• Top border —yes
• Bottom border —no
• Left border —yes
• Right border —no
• Top border color — black
• Bottom border color — black
• Left border color — black
• Right border color — black
PatternsThe pattern defaults are:
• Fill color —white
• Pattern color — blue
• Pattern style — blank
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 454/489
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 455/489
© 2003 MicroStrategy, Inc. aggregate function 425
GLOSSARY
aggregate function A numeric function that acts on a column of data and
produces a single result. Examples include SUM, COUNT,MAX, MIN, and AVG.
aggregate table A fact table that stores data that has been aggregated alongone or more dimensions.
See pre-aggregation .
aggregation The combining of numeric data at a specific attribute level.The most common function is sum, which creates an additivetotal.
See also pre-aggregation .
allocation An optional aspect of a fact extension that allows distributionof values according to a user-defined calculation expression.
Compare degradation .
application-levelpartition
In application-level partitioning, the application rather thanthe database server manages the partition tables.MicroStrategy supports two methods of application-levelpartitioning: metadata partition mapping and warehousepartition mapping.
Compare database-level partition .
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 456/489
Glossary Advanced Reporting Guide
426 application object © 2003 MicroStrategy, Inc.
application object MicroStrategy object used to provide analysis of and insightinto relevant data. Application objects are developed inMicroStrategy Desktop and they are the building blocks forreports and documents. Application objects include theseobject types: report, document, template, filter, metric,custom group, consolidation, prompt.
atomic The lowest level of granularity. Cannot be decomposed intosmaller parts.
attribute A data level defined by the system architect and associatedwith one or more columns in a data warehouse lookup table. Attributes include data classifications like Region, Order,Customer, Age, Item, City, and Year. They provide a means
for aggregating and filtering at a given level.See also:
• attribute element
• attribute form
• child attribute
• constant attribute
• derived attribute
• parent attribute
attribute element A value of any of the attribute forms of an attribute. Forexample, New York and Dallas are elements of the attributeCity; January, February, and March are elements of theattribute Month.
attribute form One of several columns associated with an attribute that aredifferent aspects of the same thing. ID, Name, Last Name,Long Description, and Abbreviation could be forms of theattribute Customer. Every attribute supports its owncollection of forms.
attribute relationship See relationship .
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 457/489
Advanced Reporting Guide Glossary
© 2003 MicroStrategy, Inc. attribute role 427
attribute role A database column that is used to define more than oneattribute. For example, Billing City and Shipping City are twoattributes that have the same table and columns defined as alookup table.
banding A method of organizing values according to a set ofdescriptive or meaningful data ranges called buckets. Forexample, customers in the age ranges of 10 – 20, 21 – 30, and31– 40, where each set of ages is a band. Banding is also usedfor display purposes, where every other row is a differentcolor and the two colors alternate.
Compare consolidation .
base table A fact table that stores data at the lowest level ofdimensionality.
cache A special data store holding recently accessed information forquick future access. This is normally done for frequentlyrequested reports, whose execution is faster because theyneed not run against the database. Results from the datawarehouse are stored separately and can be used by new jobrequests that require the same data. In the MicroStrategyenvironment, when a user runs a report for the first time, the
job is submitted to the database for processing. However, ifthe results of that report are cached, the results can bereturned immediately without having to wait for the databaseto process the job the next time the report is run.
child attribute The lower-level attribute in an attribute relationship.
See also:
• parent attribute
• relationship
compound attribute An attribute that has more than one key (ID) form.
compound key In a relational database, a primary key consisting of morethan one database column.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 458/489
Glossary Advanced Reporting Guide
428 compound metric © 2003 MicroStrategy, Inc.
compound metric A metric that cannot have a level placed on the entire metric,although it can be set separately on each of the components.
compression ratio The average number of child records combined to calculateone parent record. For example, the compression of ratio between monthly data and yearly data is 12:1. This is used todetermine where aggregate tables would have the greatestimpact. The larger the compression ratio between twoattributes, the more you stand to gain by creating anaggregate table that pre-calculates the higher-level data.
configuration object A MicroStrategy object appearing in the system layer andusable across multiple projects. Configuration objects includethese object types: users, database instances, database login
IDs, schedules.
consolidation An object that can be placed on a template and is made up ofan ordered collection of elements called consolidationelements. Each element is a grouping of attribute elementsthat accommodates inter-row arithmetic operations.
Compare custom group .
consolidation element A line item in a consolidation based on attribute elements.For example, Year=1996 / Year=1997.
constant attribute See implicit attribute .
custom group An object that can be placed on a template and is made up ofan ordered collection of elements called custom groupelements. Each element contains its own set of filteringqualifications.
data definition Report execution steps that establish how the data is accessedand manipulated in the data warehouse.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 459/489
Advanced Reporting Guide Glossary
© 2003 MicroStrategy, Inc. Data Explorer 429
Data Explorer A portion of the interface used to browse through datacontained in the warehouse. Users can navigate throughhierarchies of attributes that are defined by the administratorto find the data they need.
database-level partition In database-level partitioning (sometimes called server-levelpartitioning), the database server rather than MicroStrategymanages the partitioned tables. The original table is notphysically broken into smaller tables. Instead, the databaseserver logically partitions the table according to parametersspecified by the database administrator. You do not need totake any action in MicroStrategy to support the partitioning.Since only the logical table is displayed to the end user, thepartitioning is transparent to MicroStrategy.
Compare application-level partitioning .
data mart 1) A database, usually smaller than a data warehouse,designed to help managers make strategic decisions abouttheir business by focusing on a specific subject ordepartment.
2) A database instance used to store result sets saved to datamart tables.
data mart report A special kind of report that saves its report data in adatabase rather than returning those results to the user. Datamart reports either create a new table in the database to storethe report data or append the report data into an existingtable.
data mart table A relational table that is used to store the report data from adata mart report.
data warehouse 1) A database, typically very large, containing the historicaldata of an enterprise. Used for decision support or businessintelligence, it organizes data and allows coordinated updatesand loads.
2) A copy of transaction data specifically structured for query,reporting, and analysis.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 460/489
Glossary Advanced Reporting Guide
430 degradation © 2003 MicroStrategy, Inc.
degradation A type of fact extension in which values at one level ofaggregation are reported at a second, lower attribute level.
Compare allocation .
derived attribute An attribute calculated from a mathematical operation oncolumns in a warehouse table. For example, Age can becalculated from the expression [Current Date – Birth Date].
See also:
• attribute
• implicit attribute
derived metric A metric based on data already available on the report. It iscalculated on the Intelligence Server, not in the database. Usea derived metric to perform column math, that is,calculations on other metrics, on report data after it has beenreturned from the database.
dimensionality See level .
document 1) A compound report displaying multiple grids and graphs.
2) The MicroStrategy object that supports such a report.
drill A method of obtaining supplementary information after areport has been executed. The new data is retrieved byrequerying the Intelligent Cube or database at a differentattribute or fact level.
See also:
• page-by• pivot
• sort
• subtotal
• surf
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 461/489
Advanced Reporting Guide Glossary
© 2003 MicroStrategy, Inc. dynamic aggregation 431
dynamic aggregation Rollup of metric values that occurs when an attribute ismoved from the report grid to the Report Objects. Wheneverthe attributes in the Report Objects are not the same as theattributes on the grid, dynamic aggregation has occurred.Dynamic aggregation happens on-the-fly, in memory.
dynamic relationship When the relationship between elements of parent and childattributes changes. These changes often occur because oforganizational restructuring; geographical realignment; orthe addition, reclassification, or discontinuation of items orservices. For example, a store may decide to reclassify thedepartment to which items belong.
entry level The lowest level set of attributes at which a fact is available
for analysis.
extraction,transformation, and
loading (ETL)
1) The process used to populate a data warehouse fromdisparate existing database systems.
2) Third-party software used to facilitate such a process.
fact 1) A measurement value, often numeric and typicallyaggregatable, stored in a data warehouse.
2) A schema object representing a column in a datawarehouse table and containing basic or aggregatednumbers —usually prices, or sales in dollars, or inventoryquantities in counts.
See also metric .
fact table A database table containing numeric data that can beaggregated along one or more dimensions. Fact tables can
contain atomic or summarized data.
Compare:
• aggregate table
• base table
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 462/489
Glossary Advanced Reporting Guide
432 filter © 2003 MicroStrategy, Inc.
filter A MicroStrategy object that specifies a set of criteria used tolimit the data returned in a report. Specifically, it limits thereturned values of an attribute in the result set to a specifiedrange. It is normally implemented in the SQL WHEREclause. Examples include “1997”, “ All weekdays in May ”,“Stores in the Northeast ”.
formatting layer The part of a report that allows you to control how a reportlooks. The basic formatting layers are zones, which are therows and headers of a report, and grid units, which are theattribute values. Other formatting layers, such as thresholdsand subtotals, can be thought of as extensions of these two basic types.
formatting zone Determines what formatting is applied to any data or objectlocated in the zone. When an object on a report is movedfrom one formatting zone to another (as a result of pivoting,for example), the formatting of the object changes based onthe new zone.
grid unit The individual attributes, metrics, consolidations, andcustom groups that can be placed on a report grid.
hierarchy A set of attributes defining a meaningful path for element browsing or drilling. The order of the attributes istypically —though not always —defined such that a higherattribute has a one-to-many relationship with its childattributes.
implicit attribute An attribute that does not physically exist in the database because it is created at the application level. Such an attributehas its expression defined as a constant value, thoughnothing is saved in a column. For example, you may wish to
create columns in the database with a value of 1 for every rowto get around COUNT limitations. You don not have toactually create the column, though, because in the AttributeEditor, you can just enter a “1” in the expression to create acount. Implicit attributes are useful in analyzing and
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 463/489
Advanced Reporting Guide Glossary
© 2003 MicroStrategy, Inc. Intelligent Cube 433
retrieving information. When analyzing data, you can useconstant attributes to create a COUNT to keep track of thenumber of rows returned. You can use constant attributeswhen building metrics, where you can sum the columnholding the constant to create a COUNT. Any constant isacceptable.
Compare derived attribute .
Intelligent Cube A copy of the report data saved in memory and used formanipulation of the view definition. This division allowsmultiple reports with different views to share a common datadefinition.
joint children Joint child relationships are another type of many-to-manyrelationship where one attribute has a many-to-manyrelationship to two otherwise unrelated attributes. Theserelationships can be modeled and conceptualized liketraditional attributes, but like facts, they exist at theintersection of multiple attribute levels.For example,consider the relationship between three attributes:promotion, item, and quarter. In this case, promotion has amany-to-many relationship to both item and quarter. Anexample of a promotion might be a “Red Sale ” where all reditems are on sale. A business might run this promotion
around Valentine's Day (Q1) and again at Christmas time(Q4).
key form One of a set of attribute forms required for uniqueidentification of an element in an attribute. Also called the IDor ID form.
See also attribute form .
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 464/489
Glossary Advanced Reporting Guide
434 level © 2003 MicroStrategy, Inc.
level 1) In a data warehouse, facts are said to be stored at aparticular level defined by the attribute IDs present in the facttable. For example, if a fact table has a Date column, anItem_ID column, and a fact column, that fact is stored at theDate/Item level.
2) With regard to metric calculation, the level is the level ofcalculation for the metric. For example, a metric on a reportwith Year and Store attributes would be calculated at the Year/Store level.
See also level of aggregation .
level of aggregation The point in an attribute hierarchy where aggregation isperformed. For example, in the geographical
State--City--Store hierarchy there are three possible levels ofaggregation.
locked hierarchy A hierarchy that has at least one attribute that may not be browsed by end users. Application Designers typically lockhierarchies if there are so many attribute elements thatelement browsing is not usable.
many-to-many An attribute relationship in which multiple elements of a
parent attribute can relate to multiple elements of a childattribute, and vice versa.
See also:
• one-to-one
• one-to-many
• many-to-one
• relationship
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 465/489
Advanced Reporting Guide Glossary
© 2003 MicroStrategy, Inc. many-to-one 435
many-to-one An attribute relationship in which (1) multiple elements of aparent attribute relate to only one element of a childattribute, and (2) every element of the child attribute canrelate to multiple elements of the parent.
See also:
• one-to-one
• one-to-many
• many-to-many
• relationship
metadata A repository whose data associates the tables and columns ofa data warehouse with user-defined attributes and facts toenable the mapping of the business view, terms, and needs tothe underlying database structure. Metadata can reside onthe same server as the data warehouse or on a differentdatabase server. It can even be held in a different RDBMS.
metric 1) A business calculation defined by an expression built withfunctions, facts, attributes, or other metrics. For example:sum(dollar_sales) or [Sales] - [Cost]
2) The MicroStrategy object that contains the metricdefinition.
See also fact .
MOLAP Multidimensional online analytical processing.
multidimensionalcache
Copy of the report data saved in memory. This cache is usedfor manipulation of the view definition. Also called an
Intelligent Cube.
nonaggregatablemetric
A metric that is not additive along all dimensions. Forexample, “Stock On Hand at End of Week ” is not additiveacross time: the stock on hand at the end of the week is notthe sum of the stock on hand at end of each day in the week.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 466/489
Glossary Advanced Reporting Guide
436 one-to-many © 2003 MicroStrategy, Inc.
one-to-many An attribute relationship in which every element of a parentattribute can relate to multiple elements of a child attribute,while every element of the child attribute relates to only oneelement of the parent. The one-to-many attributerelationship is the most common in data models.
See also:
• one-to-one
• many-to-many
• many-to-one
• relationship
one-to-one An attribute relationship in which every element of theparent attribute relates to exactly one element of the childattribute, and vice versa.
See also:
• one-to-many
• many-to-one
• many-to-many
• relationship
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 467/489
Advanced Reporting Guide Glossary
© 2003 MicroStrategy, Inc. page-by 437
page-by Segmenting data in a grid report by placing availableattributes, consolidations, and metrics on a third axis calledthe Page axis. Since a grid is two-dimensional, only a slice ofthe cube can be seen at any one time. The slice ischaracterized by the choice of elements on the Page axis. Byvarying the selection of elements, the user can page throughthe cube.
See also:
• drill
• pivot
• sort
• subtotal
• surf
parent attribute The higher-level attribute in an attribute relationship withone or more children.
See also:
• child attribute
• relationship
partial relationship An attribute relationship in which elements of one attributerelate to elements of a second attribute, while the opposite isnot necessarily true.
See also:
• relationship
• one-to-many
• many-to-one• many-to-many
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 468/489
Glossary Advanced Reporting Guide
438 partition © 2003 MicroStrategy, Inc.
partition A relational database table broken down into smallercomponent tables. This can be done at the database level ar atthe application level.
See also:
• application-level partition
• database-level partition
partition base table A warehouse table that contains one part of a larger set ofdata. Partition tables are usually divided along logical lines,such as time or geography. Also referred to as a PBT.
See also partition mapping .
partition mapping The division of large logical tables into smaller physical tables based on a definable data level, such as month or department.Partitions minimize the number of tables and records withina table that must be read to satisfy queries issued against thewarehouse. By distributing usage across multiple tables,partitions improve the speed and efficiency of databasequeries.
partition mapping table A warehouse table that contains information used to identifythe partitioned base tables as part of a logical whole. Alsoreferred to as a PMT.
See also:
• partition base table
• partition mapping
physical warehouse
schema
A detailed graphic representation of your business data as it
is stored in the data warehouse. It organizes the logical datamodel in a method that make sense from a databaseperspective.
See also schema .
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 469/489
Advanced Reporting Guide Glossary
© 2003 MicroStrategy, Inc. pivot 439
pivot To reconfigure data on a grid report by placing report objects(attributes, metrics, consolidations) on different axes. Also,to reconfigure a grid report by interchanging row and columnheaders, and hence the associated data. Subset of cross-tab.
See also:
• drill
• page-by
• sort
• subtotal
• surf
pre-aggregation Aggregation, or the calculation of numeric data at a specificattribute level, that is completed before reports are run, withthe results stored in an aggregate table.
See also:
• aggregate table
• aggregation
prompt 1) MicroStrategy object in the report definition that isincomplete by design. The user is asked during the resolutionphase of report execution to provide an answer thatcompletes the information. A typical example with a filter ischoosing a specific attribute on which to qualify.
2) In general, a window requesting user input, as in “typelogin ID and password at the prompt. ”
quality relationship The relationship between a parent attribute and two or more
“ joint child ” attributes. The parent attribute is referred to as a“quality ” because its definition is complete only with theintersection of its joint children.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 470/489
Glossary Advanced Reporting Guide
440 relationship © 2003 MicroStrategy, Inc.
relationship An association specifying the nature of the connection between one attribute (the parent) and one or more otherattributes (the children). For example, City is a child attributeof State.
See also:
• parent attribute
• child attribute
• partial relationship
• quality relationship
• one-to-one
• one-to-many
• many-to-one
• many-to-many
report The central focus of any decision support investigation, areport allows users to query for data, analyze that data, andthen present it in a visually pleasing manner.
See also:
• filter
• template
report creation The process of building reports from existing, predesignedreports in MicroStrategy Desktop or in MicroStrategy Web.
report design The process of building reports from basic reportcomponents using the Report Editor in MicroStrategy
Desktop or MicroStrategy Web.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 471/489
Advanced Reporting Guide Glossary
© 2003 MicroStrategy, Inc. schema 441
schema 1) The set of tables in a data warehouse associated with alogical data model. The attribute and fact columns in thosetables are considered part of the schema itself.
2) The layout or structure of a database system. In relationaldatabases, the schema defines the tables, the fields in eachtable, and the relationships between fields and tables.
schema object MicroStrategy object created, usually by a project designer,that relates the information in the logical data model andphysical warehouse schema to the MicroStrategyenvironment. These objects are developed in MicroStrategy Architect, which can be accessed from MicroStrategyDesktop. Schema objects directly reflect the warehousestructure and include attributes, facts, functions, hierarchies,
operators, partition mappings, tables, and transformations.
shadow metric A metric that represents the attribute to be included in apredictive model. It allows an attribute to be used as apredictor.
shortcut metric A metric based on metrics already included in a report. Theyprovide a quick way to add new metrics to that report.Shortcut metrics belong to one of these types:
percent-to-total metrics, transformation metrics, rankmetrics, and running sum metrics.
simple metric A type of metric that can stand alone or be used as a building block for compound metrics. Simple metrics always containat least one aggregate function, such as sum or average,applied to a fact, attribute, or another metric. The entiremetric can only contain one level.
smart metric A property of a compound metric that allows you to changethe default evaluation order. Smart metrics calculatesubtotals on the individual elements of the compound metric.For example, a smart metric uses the formulaSum(Metric1)/Sum(Metric2) rather thanSum(Metric1/Metric2) when calculating subtotals on areport.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 472/489
Glossary Advanced Reporting Guide
442 sort © 2003 MicroStrategy, Inc.
sort Arranging data according to some characteristic of the dataitself (alphabetical descending, numeric ascending, and soforth).
See also:
• drill
• page-by
• pivot
• subtotal
• surf
source system Any system or file that captures or holds data of interest.
subtotal A totaling operation performed for a portion of a result set.
See also:
• drill
• page-by
• pivot
• sort
• surf
surf To add filters, attributes, attribute elements, metrics, andfunctions to existing analysis objects.
See also:
• drill
• page-by
• pivot
• sort
• subtotal
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 473/489
Advanced Reporting Guide Glossary
© 2003 MicroStrategy, Inc. system hierarchy 443
system hierarchy The superset hierarchy containing all attributes in a project.Unlike a browse hierarchy, it is not explicitly created but isautomatically deduced by the MicroStrategy platform fromall information available to it.
Compare user hierarchy .
table size The estimated size of a database table in terms of number ofrows.
template The data definition portion of the template consists of thegroup of objects (attribute, metrics, custom groups, and soon) that defines the columns of data to be included in theresult set. The layout and format of these objects are defined
within the template's view definition.
threshold Used to create conditional formatting for metric values. Forexample, if revenue is greater than $200, format that cell tohave a blue background with bold type.
transformation A schema object that encapsulates a business rule used tocompare results of different time periods. Transformationsare used in the definition of a metric to alter the behavior of
that metric.
transformation metric An otherwise simple metric that takes the properties of thetransformation applied to it. For example, a metric calculatestotal sales. Add a transformation for last year and the metricnow calculates last year ’s total sales.
user hierarchy Named sets of attributes and their relationships, arranged inspecific sequences for a logical business organization. They
are user-defined and do not need to follow the logical model.
Compare system hierarchy .
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 474/489
Glossary Advanced Reporting Guide
444 view definition © 2003 MicroStrategy, Inc.
view definition Report execution steps which represent how the data isviewed and manipulated in the Intelligence Server. The viewdefinition determines how the final report data set generatedin the data definition steps is manipulated.
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 475/489
© 2003 MicroStrategy, Inc. 445
INDEX
A across a level subtotals 54add-in function. See custom function.add-in. See custom function.advanced qualification
custom expression 125 joint element list 126
advanced subtotalacross a level 54
by position 55group by 55 Aerial perspective 260aggregate function defined on 302aggregate table defined on 298
advantages 296 base table 298compression ratio 302effectiveness 302
integrate into project 303logical table size 303parent-child relationship 301query frequency 300
aggregate-aware 303aggregation defined on 297
degree of 299
dense 299dynamic 41, 160, 297metric 159sparse 299
Alerter. See threshold.alias
attribute column 250fact column 218, 222metric column 170report 17table 359, 361
alignment formatting defaults 422all metric format 84allocation expression 229analytical processing 3application object defined on 5application, data mart 282application-level partition defined on 306apply function 125, 336, 404 ApplyAgg 340 ApplyComparison 341 ApplyLogic 343 ApplyOLAP 341 ApplyRelative 341 ApplySimple 339
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 476/489
Index Advanced Reporting Guide
446 © 2003 MicroStrategy, Inc.
associationdrill map 277level 278remove 279
atomic defined on 298attribute defined on 242
Attribute Editor 246 browse form 253child 8column alias 250component. See report display form
and browse form.compound 254compound key 254create in Project Creation
Assistant 386derived attribute 248derived expression 248display 253element defined on 243expression 242form defined on 245form expression 247
form group 252heterogeneous mapping 249implicit, attribute
constant 248 joint child relationship 355many-to-many relationship 347multiple counting in relationship 349parent 8properties 242, 243
qualification 115relationship defined on 8, 242, 252,
346report display form 253role 358SQL 250system hierarchy 252
virtual (consolidation) 193attribute component. See report display
form and browse form. Attribute Creation Wizard 386 Attribute Editor 246, 258attribute filter, hierarchy 264attribute form display 253attribute qualification defined on 309
attribute-to-attributequalification 116
dynamic date 118merge 121
attribute role defined on 358automatic recognition 359, 360
explicit table alias 359, 361automatic attribute role recognition 359autostyle defined on 86
default formats 421deploy 86find and replace 110
averagemoving 177running 177
axis format 84
B banding defined on 182
document 238format 84formatting defaults 424points 183
qualification 182size 182
baseformula 138table defined on 298URL 239
border
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 477/489
Advanced Reporting Guide Index
© 2003 MicroStrategy, Inc. 447
formatting defaults 423report 85
break by 120 browse
attribute 266form 253user hierarchy 266
by position subtotals 55
Ccache defined on 95
Intelligent Cube 33report 35, 95
report cache 95report view 34, 95
Catalog options in Project Creation Assistant 383
category. See hierarchy.child attribute defined on 8choose from all attributes in a hierarchy
prompt 209choose from an attribute element list
prompt 210class. See hierarchy.column alias
attribute 250fact 218, 222metric 170
column subtotal format 84comparison operator 367compound attribute defined on 254
in Project Creation Assistant 387compound key defined on 254compound metric defined on 132
count 176definition 155evaluation order 158moving average 177
moving sum 177n-tile 177rank 176running average 177running sum 177smart metric 156
compression ratio defined on 302condition 132condition. See filter.conditionality
embedding options 153metric 151
conditionality (metric)advanced options 153
configuration object defined on 6Configuration Wizard 381consolidation defined on 192
element 194element from different levels 196element from unrelated attributes 196elements of the same attribute 195evaluation order 197import element 197row level math 193SQL query 199virtual attribute 193
consolidation element defined on 194from different levels 196from the same attribute 195from unrelated attributes 196import 197
constant attribute 248count 176create
attribute in Project Creation Assistant 386
fact in Project Creation Assistant 385project 382
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 478/489
Index Advanced Reporting Guide
448 © 2003 MicroStrategy, Inc.
project with Project Creation Assistant 379
cross product join 229cross-dimensional attribute. See joint child
relationship.
custom expression 125custom function 137custom group defined on 180
banding qualification 182data mart tables 285element 184element header 185hierarchical display 185Keep Group Structure option 189
sorting 188sorting by item metric values 189SQL query 190
Custom Group Editorcreate custom group 180header display options 185
custom subtotals 60
Ddata definition defined on 31
report cache 35Data Explorer defined on 259data mart defined on 281
application 282custom group 285report defined on 281SQL statements 285
table defined on 282 , 283terminology 281usage 282 VLDB property 284
data model 345data provider. See project source.data slice 308
data warehouse defined on 3database instance 383date, dynamic date qualification 118default drill path 276Default Warehouse Catalog SQL 375degradation defined on 228dense aggregation 299deployment
Object Templates directory 94Public Objects directory 94report 87, 94Shared Reports 94
derivedattribute defined on 248fact 221metric defined on 171
design view 15, 16, 18Desktop
Analyst 88, 90anchor 408command 408Designer 89, 90
detail. See fact.dimension. See hierarchy.dimensionality defined on 139dimensionality. See level.disallow 230display format symbol 393document defined on 233
banding 238layout 234report characteristics 238stylesheet 236view 237XML 234XSL 236
Document Editor 237drill defined on 270
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 479/489
Advanced Reporting Guide Index
© 2003 MicroStrategy, Inc. 449
filter 271hierarchy 268map. See drill map.path. See drill path.
drill map 269, 270association 277association level 278default 277default drill path 276drill path type 272filter properties 273grid unit level 278priority 276project 279project level 278report level 278set name 273template level 278
drill map association 277level 278remove 279
Drill mode. See page-by.drill path 270
default 276properties 273type 272
dynamic aggregation defined on 41 , 45,48, 160, 297
function 50dynamic date 118dynamic relationship defined on 301
Eelement
attribute element 243consolidation 194
embeddedfilter 93
metric 171template 93
embedding options 153empty object template 104entity. See hierarchy.entry level defined on 218entry point 265ETL Information option 390ETL process. See extraction, transforma-
tion, and loading process.evaluation order
consolidation 197default 109of compound metric 158report 106specified 109
ExecuteReport 416explicit table alias 359, 361export 17expression map 220extensible markup language. See XML.extensible stylesheet language. See XSL.extraction, transformation, and loading
(ETL) process defined on 2, 389
Ffact defined on 217
allocation expression 229column alias 222create in Project Creation
Assistant 385cross product join 229degradation defined on 228derived 221disallow 230expression 220extension 223Fact Creation Wizard 231
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 480/489
Index Advanced Reporting Guide
450 © 2003 MicroStrategy, Inc.
fact definition 218, 219Fact Editor 231fact entry level 218fact relation 226fact table 218heterogeneous fact column 222implicit 221level extension 219, 223overview 6table relation 225
Fact Creation Wizard 231, 385Fact Editor 231fact expression 220fact table defined on 218filter defined on 113
attribute qualification 115attribute-to-attribute
qualification 116 break by 120comparison operator 367custom expression 125drilling and 271dynamic date 118embedded 93 joint element list 126logical operator 364merge attribute qualification 121metric 151metric and report interaction 153metric qualification 119operator 364pattern operator 370rank and percent operators 369relationship filter 123report 19report and metric interaction 153shortcut 97shortcut to a filter 93
static date 118view 35
filter definition prompt 208, 209filter operator 364filtered hierarchy 264find and replace 110
autostyle 110Report Data Options 111
find. See find and replace.First (function) 178first function
example 64flag 355font formatting defaults 422form
attribute form 245group 252
formatall metric 84autostyle 86axis 84 banding 84column subtotal 84default values 421grid unit 77, 79, 84layer 77metric 79metric color 395metric display 391metric object level 83number display 392report 77report border 85report metric 84row subtotal 84threshold 80, 85zone 77, 78
formatting layer defined on 77
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 481/489
Advanced Reporting Guide Index
© 2003 MicroStrategy, Inc. 451
order of layers 81formatting zone defined on 78formula
base 138 join type 164
formula. See compound metric.fully-qualified URL 238function
add-in. See custom function.custom 137First 178Last 178OLAP 177plug-in 137syntax 336user-defined. See custom function.
Ggraph view 15grid unit defined on 79
format 77, 79, 84subtotal format 80
grid view 15group by subtotals 55
Hheterogeneous mapping
attribute 249heterogeneous partition mapping 307hierarchical sort 73
hierarchy defined on 257 Attribute Editor 258attribute filter 264 browse 266 browse attribute 266display 262drill 268
entry point 265filtered 264Hierarchy Editor 259, 260, 268Hierarchy Viewer 260limited 263locked 263organization 261Project Creation Assistant 258structure 262system hierarchy 258user hierarchy 259
Hierarchy Editor 259, 260, 268Hierarchy Viewer 260homogenous partition mapping 308, 309HTML document 234
Iimplicit fact 221initialize project 382inner join 162integer constant in metric 166Intelligent Cube defined on 33, 95
international support xxiv
J join
formula 164inner 162metric 161outer 162
report 161type 164, 167 joint child relationship 355 joint children defined on 253 joint element list 126
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 482/489
Index Advanced Reporting Guide
452 © 2003 MicroStrategy, Inc.
K key performance indicator. See fact.
LLast (function) 178level defined on 139
advanced metric options 148derived metric 171extension 223filtering 145, 397grouping 140prompt 214target 140unit 397
level filteringabsolute 398ignore 398standard 398undefined 399
level grouping 399 beginning value 400ending value 402ignore 403standard 400
limited hierarchy 263linked filter. See shortcut to a filter.linked template. See shortcut to a tem-
plate.locked hierarchy defined on 263logical data model 4, 345logical operator
exclusion 366, 367functional description 364intersection 366union 365
Logical Table Editor 304logical table size 303
Mmany-to-many relationship defined on 9,
347mapping type 292
member attribute 291member expression 291member table 292merge attribute qualifications 121merge header cells 424metadata defined on 5metadata database 381metadata partition mapping
attribute qualification 309
data slice 308overview 307versus warehouse partition
mapping 310metric defined on 132
absolute filter 398advanced options for
conditionality 153advanced options for level 148aggregation 159apply function 404attribute level 140 base formula 138 beginning value grouping 400column alias 170compound 132condition 132condition embedding options 153conditionality 151conditionality advanced options 153definition of compound 155definition of simple 135delimiter 395derived 38derived and level 171
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 483/489
Advanced Reporting Guide Index
© 2003 MicroStrategy, Inc. 453
difference between simple andcompound 134
dimensionality. See level.dynamic aggregation 160embedded 171ending value grouping 402evaluation order of compound 158filtering level 145format 79, 83, 84formula 137formula join type 164function plug-in 137grouping level 140ignore filter 398ignore grouping 400, 403in view filter 42 join 161, 164 join default 162 join type 164, 167level 171level (dimensionality) 132, 139, 396,
403level filtering 397
level grouping 399level unit 397nonaggregatable defined on 140operator 395overview 10pass-through expression 404percent-to-total 172qualification 47, 119rank 175shortcut 72, 170, 172simple 132smart 70, 156sort hierarchically 73standard filter 398standard grouping 400
subtotal 159, 160subtotal dimensionality 168target level 140transformation 132, 155, 170, 174,
289type 132undefined filter 399 VLDB property 165
metric and view filter 45metric formatting 84metric object level format 83metric qualification 47
and dynamic aggregation 48 break by 120definition 119merge attribute qualification 121output level 119overview 26
metric set qualification 119Microcube. See caching and Intelligent
Cube.MOLAP defined on 296moving
average 177sum 177
multiple-key sort 73
NNarrowcast Server, URLs for 238nonaggregatable metric defined on 140non-group function
moving average 177moving sum 177n-tile 177overview 176rank 176running average 177running sum 177
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 484/489
Index Advanced Reporting Guide
454 © 2003 MicroStrategy, Inc.
n-tile 177null check 167null checking for Analytical Engine 168number
display codes 392formatting defaults 422
Oobject prompt 211object reuse 95object template 103
empty 104Object Templates directory 94
object. See attribute.OLAP function 177one-to-many relationship defined on 8one-to-one relationship defined on 8operator
comparison 367filter 364logical 364pattern 370
rank and percent 369outer join 162outline mode 17output level 119, 123, 182
Ppage-by 16parent attribute defined on 8
parent-child relationship 301dynamic 301overview 346static 301
partition base table defined on 306 , 310partition mapping defined on 305
application-level 306
attribute qualification 309data slice 308heterogeneous 307homogenous 308, 309metadata 307, 310partition base table 310server-level 306table defined on 309types 306warehouse 309, 310
pass-through expression 125, 336, 404pattern formatting defaults 423pattern operator 370PBT. See partition base table.percent-to-total metric 172performance indicator. See fact.physical warehouse schema defined on 4pivot 16Plug-In Wizard 137PMT. See partition mapping table.pre-aggregation defined on 297
aggregate table 298 base table 298compression ratio 302integrate aggregate table 303logical table size 303parent-child relationship 301query frequency 300
privilege 90Desktop Analyst 88, 90Desktop Designer 89, 90Web Analyst 88, 90Web Professional 88, 90Web Reporter 88, 90
project creation 382Project Creation Assistant 258, 379, 381project source 381, 382prompt defined on 205
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 485/489
Advanced Reporting Guide Index
© 2003 MicroStrategy, Inc. 455
choose from all attributes in ahierarchy 209
choose from an attribute elementlist 210
filter definition 208, 209
level 214object 211properties 207qualify on a metric 210qualify on an attribute 209report 91save options 214search 207search object 211
types of 208value 213
prompt type filter definition 209Public Objects directory 94
Qqualification
attribute 115
attribute-to-attribute 116 banding 182metric 119metric set 119set relationship filter 123
qualify attribute prompt 209
qualify on a metric prompt 210quality. See joint child relationship.
query frequency 300
R rank 176rank and percent operators 369rank metric 175
RDBMS platformIBM DB2 AS/400 375IBM DB2 OS/390 375IBM DB2 UDB 375Informix 376Microsoft SQL Server 377NCR Teradata 378Oracle 376Red Brick 376Sybase Adaptive Server 377Sybase IQ 12 377Tandem NonStop SQL 378
RDBMS server-level partitioning 306relational database management
system 336relationship
dynamic 301many-to-many defined on 9, 347one-to-many defined on 8one-to-one defined on 8static 301
relationship filter 123relationship filter output level 123relationship set qualification 123relative URL 238replace. See find and replace.report defined on 13
advanced sort 73aggregation, dynamic 41alias 17all metric format 84autostyle 86autostyle defaults 421axis format 84 banding format 84cache 95column subtotal format 84custom subtotal 60
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 486/489
Index Advanced Reporting Guide
456 © 2003 MicroStrategy, Inc.
data definition 31default evaluation order 109deployment 87, 94derived metric 38design view 15, 16, 18dynamic aggregation 41, 43, 45, 48embedded filter 93embedded metric 171embedded template 93ETL information 390evaluation order 106execution 31, 49export 17filter 19filters vs. limits 22format 77format layer order 81formatting default values 421formatting layers 77graph view 15grid unit format 77, 79, 84grid view 15hierarchical sort 73Intelligent Cube 33interactive editing 16 join 161layout. See report view and view defini-
tion.metric 42, 45, 47metric object level format 83metric qualification 26, 48
overview 47multiple-key sort 73object reuse 95Object Templates directory 94outline mode 17overview 10page-by 16
pivot 16privilege 90prompted 91Public Objects directory 94reduce SQL passes 30report as filter 30report border format 85report cache 35, 95report limit 20report metric format 84Report Objects 10, 16, 92report view 34, 95row subtotal format 84save prompted report 214Shared Reports 94shortcut metric 72shortcut to a filter 93, 97shortcut to a template 93, 98shortcut to report 30smart subtotal 70sort 16, 73sort, advanced 73sort, hierarchical 73sort, multiple-key 73specified evaluation order 109SQL optimization 30SQL view 15stoplight 17subtotal 54, 60subtotal format 80template 98Template Dependency Validator 101threshold 17threshold format 80, 85total 54view definition 31view filter 16, 35, 42, 43, 45, 47, 48zone format 77, 78
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 487/489
Advanced Reporting Guide Index
© 2003 MicroStrategy, Inc. 457
report as filter 30report border format 85report creation defined on 15Report Data Options
drill 271evaluation order 109, 198find and replace 111metric join type 161report limit 20
report design defined on 15report display form 253Report Editor evaluation order 198reuse objects 95row subtotal format 84running average 177running sum 177
Sschema object defined on 5Schema options in Project Creation
Assistant 384scope of analysis. See Intelligent Cube.
search for dependents 95search object 211segmentation 177server-level partitioning 306set qualification
metric qualification 119relationship filter 123
set qualification output level 119, 123Shared Reports 94
shortcutto a filter 93, 97to a report 30
shortcut metric defined on 172overview 72, 170percent-to-total 172rank 175
transformation 174transformation metric 170
shortcut to a template 93, 98Template Dependency Validator 101
simple metric defined on 132 base formula 138condition 132conditionality 151definition 135dimensionality. See level.formula 137level 132, 139transformation 132, 155
smart metric 70, defined on 156smart subtotal 70sort 73
advanced 73hierarchical 73multiple-key 73report 16
sortingcustom group 188
source system defined on 2sparse aggregation 299SQL
for data mart tables 285pass, reduce in report 30view 15
static relationship defined on 301stoplight 17stylesheet 236subtotal defined on 160
advanced 54custom 60dimensional 63dimensionality aware 168format 80, 84metric 159
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 488/489
Index Advanced Reporting Guide
458 © 2003 MicroStrategy, Inc.
metric dimensionality 168nested function 63overview 54smart 70user-defined 63using metrics in formula 63
sumaverage 177moving 177
summary table defined on 298support
international xxivsystem hierarchy defined on 258
Ttable
alias 359data mart 283fact table 218relation 225size defined on 303warehouse tables in Project Creation
Assistant 382table alias 361technical support xxvtemplate 98, 104
embedded 93empty object 104object 103shortcut 98shortcut to a template 93
Template Dependency Validator 101text fact. See joint child relationship.threshold defined on 80
format 80, 85overview 17
totalformat 80
overview 54, 159user-defined subtotal 63
transaction processing 2transformation 132, defined on 288
and reports 155components 291mapping type 292member attribute 291member expression 291member table 292
transformation metric defined on 155 ,170, 174, 175, 289
UURL 238usage, data mart 282user defined object. See fact expression.user hierarchy defined on 259
browse 266 browse attribute 266display 262drill 268
entry point 265filtered 264limited 263locked 263structure 262
user-defined function. See custom func-tion.
user-defined subtotal 63example 64
V value prompt 213variable. See compound metric.variance percentage 175variance, transformation metric 175
7/23/2019 Micro Strategy Advanced Reporting
http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 489/489
Advanced Reporting Guide Index
view definition defined on 31Intelligent Cube 33report view 34
view filter 16, 35, 42, 45, 47, 48 View options in Project Creation
Assistant 384virtual attribute (consolidation) 193 VLDB property
data mart 284hierarchy 165integer constant in metric 166metric join type 167null check 167null checking for Analytical
Engine 168overview 165subtotal dimensionality aware 168zero check 167
Zzero check 167zone
format 77, 78
zone formattingsubtotal 80