MDX SSAS OLAP-基于尺寸选择的开关属性

问题描述 投票:0回答:1

我有一个事实表(文档粒度),其中包含3个数量度量和其他数量度量,这3个数量度量不是以相同的货币显示,而是与可视化类型有关。

报表可以具有三种类型的可视化形式:文档视图,公司视图,公司组视图。

如果通过文档视图查看,则应根据文档查看各种货币(GBP,EUR,CAN,USA,AUD等)。

如果您通过公司视图查看,则应该看到与公司关联的货币(即公司1为欧元,公司2为美元,等等。]

公司集团始终为欧元。

实施例:

事实表

╔═══════════════════════════════════════════════════════════════════════════╗
║                               Fact Document                               ║
╠════════════╦═════════════╦══════════════╦═════════════╦═══════════════════╣
║ Company ID ║   Doc ID    ║ Mtr Document ║ Mtr Company ║ Mtr Company Group ║
╠════════════╬═════════════╬══════════════╬═════════════╬═══════════════════╣
║ 1          ║ 101         ║          100 ║          90 ║                95 ║
╠════════════╬═════════════╬══════════════╬═════════════╬═══════════════════╣
║ 2          ║ 102         ║          250 ║         150 ║               120 ║
╠════════════╬═════════════╬══════════════╬═════════════╬═══════════════════╣
║ 3          ║ 103         ║          400 ║         200 ║               170 ║
╚════════════╩═════════════╩══════════════╩═════════════╩═══════════════════╝

暗淡文件

╔════════════════════════════════════════════════════════════════════════╗
║                              Dim Document                              ║
╠════════╦═══════════════════╦══════════════════╦════════════════════════╣
║ Doc ID ║ Document Currency ║ Company Currency ║ Company Group Currency ║
╠════════╬═══════════════════╬══════════════════╬════════════════════════╣
║ 101    ║               USD ║              GBP ║                    EUR ║
╠════════╬═══════════════════╬══════════════════╬════════════════════════╣
║ 102    ║               CAN ║              USD ║                    EUR ║
╠════════╬═══════════════════╬══════════════════╬════════════════════════╣
║ 103    ║               AUD ║              USD ║                    EUR ║
╚════════╩═══════════════════╩══════════════════╩════════════════════════╝

昏暗的可视化类型(手动和静态尺寸不变)

╔═══════════════════════╦═════════════════════════╗
║ Visualization type ID ║ Visualization type Name ║
╠═══════════════════════╬═════════════════════════╣
║                     1 ║ Document view           ║
║                     2 ║ Company view            ║
║                     3 ║ Company Group view      ║
╚═══════════════════════╩═════════════════════════╝

点心货币

╔══════════╗
║ Currency ║
╠══════════╣
║ EUR      ║
║ USD      ║
║ GBP      ║
║ CAN      ║
╚══════════╝

我想选择可视化类型并动态选择正确的度量(您已完成)。

但是我也想动态选择与该度量相关的货币。所以我想将一个维度链接到另一个维度,因此我只能拥有一个货币属性,而我不想拥有3个不同的货币属性。

期望的输出:

选择文档视图

╔═════════╦════════╦══════════╗
║ Doc Id  ║ Amount ║ Currency ║
╠═════════╬════════╬══════════╣
║     101 ║    100 ║ USD      ║
║     102 ║    250 ║ CAN      ║
║     103 ║    450 ║ AUD      ║
╚═════════╩════════╩══════════╝

选择公司视图

╔═════════╦════════╦══════════╗
║ Doc Id  ║ Amount ║ Currency ║
╠═════════╬════════╬══════════╣
║     101 ║     90 ║ GPB      ║
║     102 ║    150 ║ USD      ║
║     103 ║    200 ║ USD      ║
╚═════════╩════════╩══════════╝

选择的公司组视图

╔═════════╦════════╦══════════╗
║ Doc Id  ║ Amount ║ Currency ║
╠═════════╬════════╬══════════╣
║     101 ║     95 ║ EUR      ║
║     102 ║    120 ║ EUR      ║
║     103 ║    170 ║ EUR      ║
╚═════════╩════════╩══════════╝

可以这样做吗?

祝一切顺利,谢谢!

里卡多·卡斯特罗

ssas mdx olap
1个回答
0
投票

您可以基于所需的转换来创建一组标准的计算指标,并根据维度使用SCOPE语句根据所选视图将指标的定义调整为不同的计算。

https://docs.microsoft.com/en-us/analysis-services/multidimensional-models/mdx/managing-scope-and-context-mdx

© www.soinside.com 2019 - 2024. All rights reserved.