假设我有一个具有两个不同的不同计数度量的多维数据集,称它们为Measure1
和Measure2
。这两个度量都包含一个共同的维度 ,Dimension1
这两个度量都计算了该维度。
我需要做的是Dimension1
Measure1
Measure2
在根据需要对每个度量进行适当过滤之后,返回存在于和中的不同成员计数。
我可以分别定义 MDX 查询Measure1
并Measure2
获得不同的计数,但我需要能够“重叠”结果以避免重复计算两个集合中存在的成员。
注意:在实际场景中,涉及的度量不止2个,所有MDX查询都会动态构造(用户定义包含哪些度量和维度条件)。
这可以在 SSAS/MDX 中完成吗?如果没有,是否有其他 Microsoft 工具/功能可以?系统的最低要求是 SQL Server 2008 R2 标准版。
老实说,我不知道从哪里开始。谷歌没有出现这样的结果(我看到了一些涉及单个度量的篮子分析内容,但我不确定是否或如何将其应用于我的场景)。无论如何,我都不是 SSAS/MDX/BI 专家。
我能想到两种选择:
- 使用
DRILLTHROUGH
单个 MDX 查询和(基本上)COUNT DISTINCT
结果。 - 在数据仓库源数据库上使用 T-SQL。(可能难以有效地考虑所有情况。)
我们确实需要能够钻取,所以无论如何我可能都必须实施解决方案#1,但最好有一种更有效的方法来获取计数,因为需要更频繁地进行计数.