489
7/23/2019 Micro Strategy Advanced Reporting http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 1/489

Micro Strategy Advanced Reporting

  • Upload
    kukakop

  • View
    230

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 1/489

Page 2: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 2/489

Page 3: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 3/489

Page 4: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 4/489

Page 5: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 5/489

Page 6: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 6/489

Page 7: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 7/489

Page 8: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 8/489

Page 9: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 9/489

Page 10: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 10/489

Page 11: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 11/489

Page 12: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 12/489

Page 13: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 13/489

Page 14: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 14/489

Page 15: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 15/489

Page 16: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 16/489

Page 17: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 17/489

Page 18: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 18/489

Page 19: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 19/489

Page 20: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 20/489

Page 21: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 21/489

Page 22: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 22/489

Page 23: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 23/489

Page 24: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 24/489

Page 25: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 25/489

Page 26: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 26/489

Page 27: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 27/489

Page 28: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 28/489

Page 29: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 29/489

Page 30: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 30/489

Page 31: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 31/489

Page 32: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 32/489

Page 33: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 33/489

Page 34: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 34/489

Page 35: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 35/489

Page 36: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 36/489

Page 37: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 37/489

Page 38: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 38/489

Page 39: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 39/489

Page 40: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 40/489

Page 41: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 41/489

Page 42: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 42/489

Page 43: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 43/489

Page 44: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 44/489

Page 45: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 45/489

Page 46: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 46/489

Page 47: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 47/489

Page 48: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 48/489

Page 49: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 49/489

Page 50: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 50/489

Page 51: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 51/489

Page 52: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 52/489

Page 53: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 53/489

Page 54: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 54/489

Page 55: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 55/489

Page 56: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 56/489

Page 57: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 57/489

Page 58: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 58/489

Page 59: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 59/489

Page 60: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 60/489

Page 61: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 61/489

Page 62: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 62/489

Page 63: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 63/489

Page 64: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 64/489

Page 65: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 65/489

Page 66: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 66/489

Page 67: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 67/489

Page 68: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 68/489

Page 69: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 69/489

Page 70: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 70/489

Page 71: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 71/489

Page 72: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 72/489

Page 73: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 73/489

Page 74: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 74/489

Page 75: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 75/489

Page 76: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 76/489

Page 77: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 77/489

Page 78: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 78/489

Page 79: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 79/489

Page 80: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 80/489

Page 81: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 81/489

Page 82: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 82/489

Page 83: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 83/489

Page 84: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 84/489

Page 85: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 85/489

Page 86: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 86/489

Page 87: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 87/489

Page 88: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 88/489

Page 89: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 89/489

Page 90: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 90/489

Page 91: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 91/489

Page 92: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 92/489

Page 93: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 93/489

Page 94: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 94/489

Page 95: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 95/489

Page 96: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 96/489

Page 97: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 97/489

Page 98: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 98/489

Page 99: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 99/489

Page 100: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 100/489

Page 101: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 101/489

Page 102: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 102/489

Page 103: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 103/489

Page 104: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 104/489

Page 105: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 105/489

Page 106: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 106/489

Page 107: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 107/489

Page 108: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 108/489

Page 109: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 109/489

Page 110: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 110/489

Page 111: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 111/489

Page 112: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 112/489

Page 113: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 113/489

Page 114: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 114/489

Page 115: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 115/489

Page 116: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 116/489

Page 117: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 117/489

Page 118: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 118/489

Page 119: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 119/489

Page 120: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 120/489

Page 121: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 121/489

Page 122: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 122/489

Page 123: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 123/489

Page 124: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 124/489

Page 125: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 125/489

Page 126: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 126/489

Page 127: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 127/489

Page 128: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 128/489

Page 129: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 129/489

Page 130: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 130/489

Page 131: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 131/489

Page 132: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 132/489

Page 133: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 133/489

Page 134: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 134/489

Page 135: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 135/489

Page 136: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 136/489

Page 137: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 137/489

Page 138: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 138/489

Page 139: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 139/489

Page 140: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 140/489

Page 141: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 141/489

Page 142: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 142/489

Page 143: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 143/489

Page 144: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 144/489

Page 145: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 145/489

Page 146: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 146/489

Page 147: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 147/489

Page 148: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 148/489

Page 149: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 149/489

Page 150: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 150/489

Page 151: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 151/489

Page 152: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 152/489

Page 153: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 153/489

Page 154: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 154/489

Page 155: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 155/489

Page 156: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 156/489

Page 157: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 157/489

Page 158: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 158/489

Page 159: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 159/489

Page 160: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 160/489

Page 161: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 161/489

Page 162: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 162/489

Page 163: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 163/489

Page 164: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 164/489

Page 165: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 165/489

Page 166: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 166/489

Page 167: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 167/489

Page 168: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 168/489

Page 169: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 169/489

Page 170: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 170/489

Page 171: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 171/489

Page 172: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 172/489

Page 173: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 173/489

Page 174: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 174/489

Page 175: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 175/489

Page 176: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 176/489

Page 177: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 177/489

Page 178: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 178/489

Page 179: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 179/489

Page 180: Micro Strategy Advanced Reporting

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.

Page 181: Micro Strategy Advanced Reporting

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.

Page 182: Micro Strategy Advanced Reporting

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:

Page 183: Micro Strategy Advanced Reporting

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

Page 184: Micro Strategy Advanced Reporting

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.

Page 185: Micro Strategy Advanced Reporting

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.

Page 186: Micro Strategy Advanced Reporting

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%

Page 187: Micro Strategy Advanced Reporting

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%

Page 188: Micro Strategy Advanced Reporting

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

Page 189: Micro Strategy Advanced Reporting

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

Page 190: Micro Strategy Advanced Reporting

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.

Page 191: Micro Strategy Advanced Reporting

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.

Page 192: Micro Strategy Advanced Reporting

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

Page 193: Micro Strategy Advanced Reporting

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

Page 194: Micro Strategy Advanced Reporting

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.

Page 195: Micro Strategy Advanced Reporting

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)

Page 196: Micro Strategy Advanced Reporting

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.

Page 197: Micro Strategy Advanced Reporting

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.

Page 198: Micro Strategy Advanced Reporting

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)

Page 199: Micro Strategy Advanced Reporting

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

Page 200: Micro Strategy Advanced Reporting

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.

Page 201: Micro Strategy Advanced Reporting

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.

Page 202: Micro Strategy Advanced Reporting

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.

Page 203: Micro Strategy Advanced Reporting

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

Page 204: Micro Strategy Advanced Reporting

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.

Page 205: Micro Strategy Advanced Reporting

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)

Page 206: Micro Strategy Advanced Reporting

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.

Page 207: Micro Strategy Advanced Reporting

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.

Page 208: Micro Strategy Advanced Reporting

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 .

Page 209: Micro Strategy Advanced Reporting

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.

Page 210: Micro Strategy Advanced Reporting

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

Page 211: Micro Strategy Advanced Reporting

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

Page 212: Micro Strategy Advanced Reporting

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.

Page 213: Micro Strategy Advanced Reporting

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

Page 214: Micro Strategy Advanced Reporting

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)

Page 215: Micro Strategy Advanced Reporting

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.

Page 216: Micro Strategy Advanced Reporting

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

Page 217: Micro Strategy Advanced Reporting

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

Page 218: Micro Strategy Advanced Reporting

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:

Page 219: Micro Strategy Advanced Reporting

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:

Page 220: Micro Strategy Advanced Reporting

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.

Page 221: Micro Strategy Advanced Reporting

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.

Page 222: Micro Strategy Advanced Reporting

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

Page 223: Micro Strategy Advanced Reporting

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.

Page 224: Micro Strategy Advanced Reporting

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

Page 225: Micro Strategy Advanced Reporting

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

Page 226: Micro Strategy Advanced Reporting

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]

Page 227: Micro Strategy Advanced Reporting

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.

Page 228: Micro Strategy Advanced Reporting

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.

Page 229: Micro Strategy Advanced Reporting

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]

Page 230: Micro Strategy Advanced Reporting

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.

Page 231: Micro Strategy Advanced Reporting

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

Page 232: Micro Strategy Advanced Reporting

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.

Page 233: Micro Strategy Advanced Reporting

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.

Page 234: Micro Strategy Advanced Reporting

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.

Page 235: Micro Strategy Advanced Reporting

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.

Page 236: Micro Strategy Advanced Reporting

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.

Page 237: Micro Strategy Advanced Reporting

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.

Page 238: Micro Strategy Advanced Reporting

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 .

Page 239: Micro Strategy Advanced Reporting

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

Page 240: Micro Strategy Advanced Reporting

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

Page 241: Micro Strategy Advanced Reporting

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.

Page 242: Micro Strategy Advanced Reporting

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

Page 243: Micro Strategy Advanced Reporting

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.

Page 244: Micro Strategy Advanced Reporting

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 .

Page 245: Micro Strategy Advanced Reporting

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.

Page 246: Micro Strategy Advanced Reporting

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.

Page 247: Micro Strategy Advanced Reporting

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.

Page 248: Micro Strategy Advanced Reporting

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

Page 249: Micro Strategy Advanced Reporting

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

Page 250: Micro Strategy Advanced Reporting

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

Page 251: Micro Strategy Advanced Reporting

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

Page 252: Micro Strategy Advanced Reporting

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

Page 253: Micro Strategy Advanced Reporting

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

Page 254: Micro Strategy Advanced Reporting

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

Page 255: Micro Strategy Advanced Reporting

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

Page 256: Micro Strategy Advanced Reporting

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.

Page 257: Micro Strategy Advanced Reporting

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

Page 258: Micro Strategy Advanced Reporting

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

Page 259: Micro Strategy Advanced Reporting

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

Page 260: Micro Strategy Advanced Reporting

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

Page 261: Micro Strategy Advanced Reporting

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

Page 262: Micro Strategy Advanced Reporting

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.

Page 263: Micro Strategy Advanced Reporting

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.

Page 264: Micro Strategy Advanced Reporting

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

Page 265: Micro Strategy Advanced Reporting

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.

Page 266: Micro Strategy Advanced Reporting

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.

Page 267: Micro Strategy Advanced Reporting

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.

Page 268: Micro Strategy Advanced Reporting

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 .

Page 269: Micro Strategy Advanced Reporting

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>

Page 270: Micro Strategy Advanced Reporting

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.

Page 271: Micro Strategy Advanced Reporting

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.

Page 272: Micro Strategy Advanced Reporting

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

Page 273: Micro Strategy Advanced Reporting

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

Page 274: Micro Strategy Advanced Reporting

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

Page 275: Micro Strategy Advanced Reporting

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

Page 276: Micro Strategy Advanced Reporting

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

Page 277: Micro Strategy Advanced Reporting

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

Page 278: Micro Strategy Advanced Reporting

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.

Page 279: Micro Strategy Advanced Reporting

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.

Page 280: Micro Strategy Advanced Reporting

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.

Page 281: Micro Strategy Advanced Reporting

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.

Page 282: Micro Strategy Advanced Reporting

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)

Page 283: Micro Strategy Advanced Reporting

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.

Page 284: Micro Strategy Advanced Reporting

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.

Page 285: Micro Strategy Advanced Reporting

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.

Page 286: Micro Strategy Advanced Reporting

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.

Page 287: Micro Strategy Advanced Reporting

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.

Page 288: Micro Strategy Advanced Reporting

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.

Page 289: Micro Strategy Advanced Reporting

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.

Page 290: Micro Strategy Advanced Reporting

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.

Page 291: Micro Strategy Advanced Reporting

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

Page 292: Micro Strategy Advanced Reporting

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

Page 293: Micro Strategy Advanced Reporting

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.

Page 294: Micro Strategy Advanced Reporting

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.

Page 295: Micro Strategy Advanced Reporting

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.

Page 296: Micro Strategy Advanced Reporting

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

Page 297: Micro Strategy Advanced Reporting

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

Page 298: Micro Strategy Advanced Reporting

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 .

Page 299: Micro Strategy Advanced Reporting

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.

Page 300: Micro Strategy Advanced Reporting

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.

Page 301: Micro Strategy Advanced Reporting

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.

Page 302: Micro Strategy Advanced Reporting

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.

Page 303: Micro Strategy Advanced Reporting

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.

Page 304: Micro Strategy Advanced Reporting

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:

Page 305: Micro Strategy Advanced Reporting

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

Page 306: Micro Strategy Advanced Reporting

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

Page 307: Micro Strategy Advanced Reporting

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.

Page 308: Micro Strategy Advanced Reporting

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

Page 309: Micro Strategy Advanced Reporting

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.

Page 310: Micro Strategy Advanced Reporting

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.

Page 311: Micro Strategy Advanced Reporting

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

Page 312: Micro Strategy Advanced Reporting

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.

Page 313: Micro Strategy Advanced Reporting

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.

Page 314: Micro Strategy Advanced Reporting

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

Page 315: Micro Strategy Advanced Reporting

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

Page 316: Micro Strategy Advanced Reporting

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

Page 317: Micro Strategy Advanced Reporting

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.

Page 318: Micro Strategy Advanced Reporting

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.

Page 319: Micro Strategy Advanced Reporting

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.

Page 320: Micro Strategy Advanced Reporting

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

Page 321: Micro Strategy Advanced Reporting

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

Page 322: Micro Strategy Advanced Reporting

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.

Page 323: Micro Strategy Advanced Reporting

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.

Page 324: Micro Strategy Advanced Reporting

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.

Page 325: Micro Strategy Advanced Reporting

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

Page 326: Micro Strategy Advanced Reporting

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

Page 327: Micro Strategy Advanced Reporting

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

Page 328: Micro Strategy Advanced Reporting

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

Page 329: Micro Strategy Advanced Reporting

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.

Page 330: Micro Strategy Advanced Reporting

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

Page 331: Micro Strategy Advanced Reporting

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.

Page 332: Micro Strategy Advanced Reporting

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 .

Page 333: Micro Strategy Advanced Reporting

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

Page 334: Micro Strategy Advanced Reporting

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.

Page 335: Micro Strategy Advanced Reporting

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.

Page 336: Micro Strategy Advanced Reporting

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.

Page 337: Micro Strategy Advanced Reporting

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.

Page 338: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 338/489

Page 339: Micro Strategy Advanced Reporting

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.

Page 340: Micro Strategy Advanced Reporting

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.

Page 341: Micro Strategy Advanced Reporting

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.

Page 342: Micro Strategy Advanced Reporting

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

Page 343: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 343/489

Page 344: Micro Strategy Advanced Reporting

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

Page 345: Micro Strategy Advanced Reporting

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.

Page 346: Micro Strategy Advanced Reporting

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

Page 347: Micro Strategy Advanced Reporting

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

Page 348: Micro Strategy Advanced Reporting

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

Page 349: Micro Strategy Advanced Reporting

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

Page 350: Micro Strategy Advanced Reporting

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

Page 351: Micro Strategy Advanced Reporting

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.

Page 352: Micro Strategy Advanced Reporting

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

Page 353: Micro Strategy Advanced Reporting

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

Page 354: Micro Strategy Advanced Reporting

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.

Page 355: Micro Strategy Advanced Reporting

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

Page 356: Micro Strategy Advanced Reporting

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

Page 357: Micro Strategy Advanced Reporting

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

Page 358: Micro Strategy Advanced Reporting

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

Page 359: Micro Strategy Advanced Reporting

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

Page 360: Micro Strategy Advanced Reporting

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

Page 361: Micro Strategy Advanced Reporting

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

Page 362: Micro Strategy Advanced Reporting

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

Page 363: Micro Strategy Advanced Reporting

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.

Page 364: Micro Strategy Advanced Reporting

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.

Page 365: Micro Strategy Advanced Reporting

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.

Page 366: Micro Strategy Advanced Reporting

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)

Page 367: Micro Strategy Advanced Reporting

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.

Page 368: Micro Strategy Advanced Reporting

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) …

Page 369: Micro Strategy Advanced Reporting

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

Page 370: Micro Strategy Advanced Reporting

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])

Page 371: Micro Strategy Advanced Reporting

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)

Page 372: Micro Strategy Advanced Reporting

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)

Page 373: Micro Strategy Advanced Reporting

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)

Page 374: Micro Strategy Advanced Reporting

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.

Page 375: Micro Strategy Advanced Reporting

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.

Page 376: Micro Strategy Advanced Reporting

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 .

Page 377: Micro Strategy Advanced Reporting

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?

Page 378: Micro Strategy Advanced Reporting

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

Page 379: Micro Strategy Advanced Reporting

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.

Page 380: Micro Strategy Advanced Reporting

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.

Page 381: Micro Strategy Advanced Reporting

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.

Page 382: Micro Strategy Advanced Reporting

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.

Page 383: Micro Strategy Advanced Reporting

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

Page 384: Micro Strategy Advanced Reporting

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

Page 385: Micro Strategy Advanced Reporting

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.

Page 386: Micro Strategy Advanced Reporting

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

Page 387: Micro Strategy Advanced Reporting

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

Page 388: Micro Strategy Advanced Reporting

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

Page 389: Micro Strategy Advanced Reporting

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.

Page 390: Micro Strategy Advanced Reporting

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)

Page 391: Micro Strategy Advanced Reporting

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

Page 392: Micro Strategy Advanced Reporting

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.

Page 393: Micro Strategy Advanced Reporting

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.

Page 394: Micro Strategy Advanced Reporting

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.

Page 395: Micro Strategy Advanced Reporting

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)

Page 396: Micro Strategy Advanced Reporting

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)

Page 397: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 397/489

Page 398: Micro Strategy Advanced Reporting

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.

Page 399: Micro Strategy Advanced Reporting

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.

Page 400: Micro Strategy Advanced Reporting

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.

Page 401: Micro Strategy Advanced Reporting

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.

Page 402: Micro Strategy Advanced Reporting

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.

Page 403: Micro Strategy Advanced Reporting

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#'"

Page 404: Micro Strategy Advanced Reporting

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

Page 405: Micro Strategy Advanced Reporting

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

Page 406: Micro Strategy Advanced Reporting

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

Page 407: Micro Strategy Advanced Reporting

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

Page 408: Micro Strategy Advanced Reporting

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

Page 409: Micro Strategy Advanced Reporting

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

Page 410: Micro Strategy Advanced Reporting

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

Page 411: Micro Strategy Advanced Reporting

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.

Page 412: Micro Strategy Advanced Reporting

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.

Page 413: Micro Strategy Advanced Reporting

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

Page 414: Micro Strategy Advanced Reporting

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.

Page 415: Micro Strategy Advanced Reporting

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.

Page 416: Micro Strategy Advanced Reporting

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.

Page 417: Micro Strategy Advanced Reporting

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.

Page 418: Micro Strategy Advanced Reporting

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.

Page 419: Micro Strategy Advanced Reporting

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.

Page 420: Micro Strategy Advanced Reporting

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.

Page 421: Micro Strategy Advanced Reporting

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

Page 422: Micro Strategy Advanced Reporting

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

Page 423: Micro Strategy Advanced Reporting

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.

Page 424: Micro Strategy Advanced Reporting

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

Page 425: Micro Strategy Advanced Reporting

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

Page 426: Micro Strategy Advanced Reporting

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.

Page 427: Micro Strategy Advanced Reporting

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

Page 428: Micro Strategy Advanced Reporting

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.

Page 429: Micro Strategy Advanced Reporting

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 !

Page 430: Micro Strategy Advanced Reporting

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

Page 431: Micro Strategy Advanced Reporting

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

Page 432: Micro Strategy Advanced Reporting

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

Page 433: Micro Strategy Advanced Reporting

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

Page 434: Micro Strategy Advanced Reporting

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 .

Page 435: Micro Strategy Advanced Reporting

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 .

Page 436: Micro Strategy Advanced Reporting

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.

Page 437: Micro Strategy Advanced Reporting

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

Page 438: Micro Strategy Advanced Reporting

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.

Page 439: Micro Strategy Advanced Reporting

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.

Page 440: Micro Strategy Advanced Reporting

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.

Page 441: Micro Strategy Advanced Reporting

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.

Page 442: Micro Strategy Advanced Reporting

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

Page 443: Micro Strategy Advanced Reporting

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>

Page 444: Micro Strategy Advanced Reporting

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

Page 445: Micro Strategy Advanced Reporting

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

Page 446: Micro Strategy Advanced Reporting

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.

Page 447: Micro Strategy Advanced Reporting

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.

Page 448: Micro Strategy Advanced Reporting

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>

Page 449: Micro Strategy Advanced Reporting

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.

Page 450: Micro Strategy Advanced Reporting

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

Page 451: Micro Strategy Advanced Reporting

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.

Page 452: Micro Strategy Advanced Reporting

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

Page 453: Micro Strategy Advanced Reporting

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

Page 454: Micro Strategy Advanced Reporting

7/23/2019 Micro Strategy Advanced Reporting

http://slidepdf.com/reader/full/micro-strategy-advanced-reporting 454/489

Page 455: Micro Strategy Advanced Reporting

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 .

Page 456: Micro Strategy Advanced Reporting

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 .

Page 457: Micro Strategy Advanced Reporting

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.

Page 458: Micro Strategy Advanced Reporting

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.

Page 459: Micro Strategy Advanced Reporting

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.

Page 460: Micro Strategy Advanced Reporting

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

Page 461: Micro Strategy Advanced Reporting

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

Page 462: Micro Strategy Advanced Reporting

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

Page 463: Micro Strategy Advanced Reporting

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 .

Page 464: Micro Strategy Advanced Reporting

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

Page 465: Micro Strategy Advanced Reporting

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.

Page 466: Micro Strategy Advanced Reporting

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

Page 467: Micro Strategy Advanced Reporting

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

Page 468: Micro Strategy Advanced Reporting

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 .

Page 469: Micro Strategy Advanced Reporting

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.

Page 470: Micro Strategy Advanced Reporting

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.

Page 471: Micro Strategy Advanced Reporting

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.

Page 472: Micro Strategy Advanced Reporting

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

Page 473: Micro Strategy Advanced Reporting

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 .

Page 474: Micro Strategy Advanced Reporting

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.

Page 475: Micro Strategy Advanced Reporting

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

Page 476: Micro Strategy Advanced Reporting

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

Page 477: Micro Strategy Advanced Reporting

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

Page 478: Micro Strategy Advanced Reporting

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

Page 479: Micro Strategy Advanced Reporting

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

Page 480: Micro Strategy Advanced Reporting

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

Page 481: Micro Strategy Advanced Reporting

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

Page 482: Micro Strategy Advanced Reporting

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

Page 483: Micro Strategy Advanced Reporting

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

Page 484: Micro Strategy Advanced Reporting

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

Page 485: Micro Strategy Advanced Reporting

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

Page 486: Micro Strategy Advanced Reporting

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

Page 487: Micro Strategy Advanced Reporting

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

Page 488: Micro Strategy Advanced Reporting

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

Page 489: Micro Strategy Advanced Reporting

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