我们在SSAS中有一个非常稀疏的多维数据集。 MOLP存储中多维数据集的大小仅为50M字节。编写自己的MDX查询时,可以使用NON EMPTY / NONEMPTY来抑制/过滤掉空结果。但我们有一个第三方工具(Cognos Analysis Studio),供我们的业务用户针对多维数据集运行即席分析。首先,用户使用Cognos Analysis Studio拖动维度和度量,初始结果会显示空结果。然后用户尝试抑制空结果。需要很长时间才能得出非空结果。
由于MDX是由Cognos生成的,因此我们无法控制如何针对多维数据集生成MDX。我们使用此多维数据集的用户只对非空结果感兴趣。我们想知道SSAS多维数据集中是否存在行为控制以始终返回非空结果。
问题:
我们如何设置(或实现)多维数据集范围的行为以始终抑制空结果?
答案 0 :(得分:1)
我认为您正在寻找的功能称为“零抑制”。点击“设置”,“抑制”, “零和空单元”。这会更改默认值,该默认值仅会抑制空单元格而不会填充用零填充的单元格。或者,单击报告中的列。单击顶部的“Zero Suppression”图标。任何用零填充的行都将消失。
你可以谷歌“零抑制认知”来获得更多解释。
答案 1 :(得分:0)
我不知道Cognos Analysis Studio是否允许使用集合。如果是这样,请尝试在MdxScript中针对默认多维数据集度量创建维度属性non empty。然后使用此设置代替原始维度属性 例如
CREATE CURRENTCUBE.[Set1] as NonEmpty([Dim1].[Atr1].allmembers, [Measures].DefaultMember);