我有一个业务需求,即为了保密而隐藏低数字。
我一直在尝试使用隐藏的度量和计算来做到这一点。隐藏的度量名为“Encounters_Count”,我用于计算的 MDX 是:
CREATE MEMBER CURRENTCUBE.[Measures].[Number of Encounters]
AS IIF( [Measures].[Encounters_Count] <= 5, "<hidden>", [Measures].[Encounters_Count] ),
FORMAT_STRING = "#,##0", NON_EMPTY_BEHAVIOR = { [Encounters_Count] }, VISIBLE = 1;
除了在某些情况下可以从组总数中计算出隐藏的数字之外,这是可行的。
我尝试使用 IsLeaf() 编写递归计算,通过应用不同的规则从总数中排除“<hidden>”结果,具体取决于它是父级还是子级,但我无法弄清楚如何正确执行此操作。
这就是我一直在尝试做的事情:
...
IIF( IsLeaf( [Measures].[Encounters_Count] ),
IIF( [Measures].[Encounters_Count] <= 5, "<hidden>", [Measures].[Encounters_Count] ),
SUM( IIF( [Measures].[Number of Encounters] <> "<hidden>", [Measures].[Number of Encounters], NULL ) )
),
...
编辑:这是我要避免的屏幕截图,在这种情况下,您可以计算出 <hidden> 数字是 4。总计最好显示 31,163,因为这是可见的总数数字。