SSAS - 类别维度 - 未知成员

Posted

技术标签:

【中文标题】SSAS - 类别维度 - 未知成员【英文标题】:SSAS - Category Dimension - Unknown Member 【发布时间】:2012-08-29 17:05:42 【问题描述】:

我在正确设置维度时遇到问题。基本上我有一个事实表,其中包含有关事件的详细信息。每个事件都可以分类,但在不同的级别。我有一个包含所有类别、子类别的类别维度。类别分为三个级别。有些类别有子类别,而有些则没有。

当我浏览维度时,我会得到每个项目的向下钻取,但向下钻取有时最终会显示空白项目(蓝色圆圈,无文本)。

所以我想我有一个类别维度,其中包含不同粒度的类别。

我一直在玩弄 NULL 处理和 UnknownMember 的设置,但并没有真正完全理解它是如何影响事物的。

也许有人可以就这个问题给我一些提示或建议。

我使用的是 SQL Server 2012

谢谢

【问题讨论】:

【参考方案1】:

是的,这是一个参差不齐的等级制度。最简单的解决方案是,如果一个节点为空,则将它的父键/标题复制到它。

【讨论】:

好的所以我想我正在取得一些进展......我用命名查询表替换了 DSV 中的类别表,以用父节点值替换 NULL。我将 MDX 兼容模式设置为 2,并将层次结构中子级的 HideMemberIf 属性设置为 ParentName。现在,当我使用内置浏览器选项卡浏览维度时,层次结构显示正确。但是当我创建报告时,如果隐藏了任何成员,则不会显示整个层次结构。因此,仅显示具有整个层次结构深度的数据的行。其余部分未显示。 如果您没有隐藏从其父级复制的级别,因为它们为空,用户会抱怨/感到困惑吗?也许如果您使用 N/A 作为标题而不是父名称(但保留父名称的键 - 某些报告工具需要在整个层次结构中完全唯一,而不仅仅是在一个级别)。【参考方案2】:

你应该调查Ragged Hierarchieshttp://msdn.microsoft.com/en-us/library/ms365406.aspx。 HideMemberIf 属性的层次结构中的给定级别有多个选项。

【讨论】:

我将 MDX 兼容模式设置为 2,并将层次结构中子级别的 HideMemberIf 属性更改为各种选项。不幸的是,它没有隐藏空白值,而是根本不显示那些没有完整 3 级深度层次结构的整个层次结构。仅下降一层或两层的项目不会显示。我会继续研究,但如果这里有人有想法,请告诉我。谢谢。

以上是关于SSAS - 类别维度 - 未知成员的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SSAS 多维中显示实际上没有值的维度成员?

BI之SSAS完整实战教程7 -- 设计维度细化维度中 :浏览维度,细化维度

SSAS优化要点-转载

使用维度计算的度量

SSAS 2012 使用维度值过滤其他维度表

SSAS 2012 - 维度建模