【问题标题】:Attribute relationship from Hierarchy in SSAS 2012SSAS 2012 中层次结构的属性关系
【发布时间】:2014-08-19 16:01:50
【问题描述】:

在尝试使用 SSAS 创建和配置 Dimension 时,我遇到了一个被误解的问题。问题是:我的名为 Author 的维度有三个属性(AuthorKey、AuthorID、AuthorState),其中 AuthorKey 是我的维度的主键。

使用 Visual Studio 2013,我创建了一个用户层次结构,例如:

Hierarchy name: AuthorByState
 + AuthorState
 + AuthorKey
   - AuthorID
   - AuthorState

当我切换到属性关系选项卡时,我看到了一个自动生成的关系,例如:

AuthorKey(AuthorID) --> AuthorState

我的问题是:我知道 SSAS 会自动将维度中的每个属性与维度键相关联,但为什么 AuthorID 属性位于 AuthorKey 属性的“内部”,而不是像 AuthorState 那样通常位于“外部”?属性关系是什么意思?

感谢您的任何解释,并为我的英语不好感到抱歉!

【问题讨论】:

  • 我会用不同的方式来表达这个问题。 第二个屏幕截图显示了一个已创建两个属性关系的场景:Author->AuthorId 和 Author->AuthorState。为什么 SSAS 以不同的方式显示这两种关系? 我什至查看了 XML 定义,但我看不出任何关于属性关系定义方式的真正不同之处。

标签: ssas relationship business-intelligence olap dimension


【解决方案1】:

当您构建用户定义的层次结构(您称为 AuthorsByState 的东西)时,这会导致“属性关系”选项卡图呈现不同的方式。基本上,出现在用户定义层次结构中的任何属性都有自己的气泡。如果您要构建第二个包含 AuthorId 的用户定义层次结构,那么 AuthorId 将在“属性关系”选项卡图表中拥有自己的气泡。

【讨论】:

    【解决方案2】:

    问题

    层次结构中的属性定义不正确。

    症状

    当你定义一个层次结构时,不相关的属性会被拖进来

    解决方案

    如果您的维度有一个键(“自然键” - 仅供商业使用的键) - 那么应该将其定义为您的键(它明确表示“作者”是您的键,我不知道该字段代表什么)。 如果您的维度有两个键,一个自然键和一个代理键。自然键是具有业务意义的键(因为每个作者都有一个 id),代理键是我们分配的键(一个身份 int 或其他)。 将代理键放入维度中。将其定义为键,并选择“可见属性”作为名称/自然键。一旦你这样做了,层次结构就不会在该部分内拖动不必要的属性。

    注释:如果作者密钥是您的替代密钥,作者 ID 是您的自然密钥,您可以隐藏作者密钥;改为在 Properties->NameColumn

    显示作者 ID

    请注意 Microsoft 在以下帖子中使用“日期键”: https://www.mssqltips.com/sqlservertip/3414/sql-server-analysis-services-attribute-relationships/ 没有它,层次结构就不会被设置。

    【讨论】:

    • 我看到即使定义了层次结构和属性关系,也会发生这种嵌套。实际上,在定义属性关系之前,它不会显示嵌套。有时属性关系用一个断开的箭头显示,有时嵌套在 OP 的第二个屏幕截图中。 Author->AuthorID(nested) 表明已经存在属性关系。
    • 您需要“AuthorId”作为属性吗?您有“作者”,因此您可以选择键,然后选择 DisplayField。您将密钥定义为作者,但密钥实际上应该是 AuthorID,不是吗?
    • 由于右侧的 DSV 同时显示了 AuthorKey 和 AuthorID,我假设 AuthorID 是源系统 OLTP ID,而 AuthorKey(在 Dimension 中命名为 Author)是 OLAP Key。可以省略 AuthorID,但这并不能回答为什么某些关系以不同方式表示的问题。据我所知,它通常使用“叶子”关系来实现这一点,在这种关系中,孩子不再与属性相关,但有时它甚至决定将它们分开。
    • 我不这么认为。如果它是作者密钥(名为作者)作为密钥,那么它将按应有的方式处理。
    • "按应有的方式处理事情" 问题不在于多维数据集处理,或修复任何未正确处理的内容。问题是为什么这种关系以不同的方式表示。我将引用 OP“为什么 AuthorID 属性在 AuthorKey 属性的“内部”而不是像 AuthorState 那样通常在“外部”?这意味着属性关系是什么?”
    猜你喜欢
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 2011-04-23
    • 2013-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    相关资源
    最近更新 更多