【发布时间】:2014-08-18 08:47:09
【问题描述】:
我对 MDX 还很陌生,我在聚合我的一项度量时遇到了一些问题。
在我的 DSV 中,我有一个“事件”表。我们跟踪运行这些事件的代理,并且由于运行单个事件可能涉及多个代理,因此我将其拆分为一个单独的“代理”表,中间有一个桥接表:
我想跟踪所谓的“覆盖率”,即特定周内举办的活动数量以及举办活动的每个代理。因此,如果一周举办了 3 场活动,其中一场活动由两名特工举办,则覆盖范围为 4。
当我去分析多维数据集时,拖动开始周和我的事件计数,我注意到这是不对的 - 它只考虑单个事件而不考虑代理的数量。拖动 Agents 解决了这个问题,但我仍然希望看到一个整体数字,而不必拖动 Agents。
所以我创建了一个这样的计算成员:
CREATE MEMBER CURRENTCUBE.[Measures].[Visit Coverage]
AS
IIF([Agents].[Agent].currentmember.parent IS NULL,
SUM([Agents].[Agent].[Agent], [Measures].[Events Count]),
[Measures].[Events Count]);
因此,基本上,如果选择了所有代理(父级为空),则汇总每个代理的所有事件计数,否则,如果我按代理进行分析,则只给我每个代理的事件。这很好用……如果我想按一个特定的代理进行过滤,它也可以工作,但是如果我尝试按多个(但少于所有)代理进行过滤,就会失败,给我一个空值。
我完全不知道如何解决这个问题,有人可以帮我吗?
克里斯
【问题讨论】:
标签: sql ssas mdx olap olap-cube