【问题标题】:SSAS - Is it possible to add an attribute to an existing dimension w/o redeploying the entire cubeSSAS - 是否可以在不重新部署整个多维数据集的情况下将属性添加到现有维度
【发布时间】:2010-11-30 18:48:48
【问题描述】:

我有一个维度Entity,只有Key 和Value 属性。我们需要添加一个新属性IsSpecial,默认成员为[False]。

当我尝试运行 xmla 时,出现以下错误:

元数据管理器中的错误。这 ID 为“X”的多维数据集,名称 'Y' 被无效 事务中的操作。

这是用于更改维度的 XMLA 片段

<Dimension>
    <ID>Dim Entity</ID>
    <Name>Entity</Name>
    <UnknownMemberName>Unknown</UnknownMemberName>
    <Attributes>
        <Attribute>
            <ID>Dim Entity</ID>
            <Name>Entity</Name>
            <Usage>Key</Usage>
            <EstimatedCount>119</EstimatedCount>
            <KeyColumns>
                <KeyColumn>
                    <DataType>Integer</DataType>
                    <Source xsi:type="ColumnBinding">
                        <TableID>shared_DimEntity</TableID>
                        <ColumnID>EntityKey</ColumnID>
                    </Source>
                </KeyColumn>
            </KeyColumns>
            <NameColumn>
                <DataType>WChar</DataType>
                <DataSize>32</DataSize>
                <Source xsi:type="ColumnBinding">
                    <TableID>shared_DimEntity</TableID>
                    <ColumnID>EntityValue</ColumnID>
                </Source>
            </NameColumn>
            <AttributeRelationships>
                <AttributeRelationship>
                    <AttributeID>IsSpecial</AttributeID>
                    <Name>IsSpecial</Name>
                </AttributeRelationship>
            </AttributeRelationships>
        </Attribute>
        <Attribute>
            <ID>IsSpecial</ID>
            <Name>IsSpecial</Name>
            <KeyColumns>
                <KeyColumn>
                    <DataType>Boolean</DataType>
                    <Source xsi:type="ColumnBinding">
                        <TableID>shared_DimEntity</TableID>
                        <ColumnID>IsShadowTracking</ColumnID>
                    </Source>
                </KeyColumn>
            </KeyColumns>
            <NameColumn>
                <DataType>WChar</DataType>
                <Source xsi:type="ColumnBinding">
                    <TableID>shared_DimEntity</TableID>
                    <ColumnID>IsShadowTracking</ColumnID>
                </Source>
            </NameColumn>
            <DefaultMember>[Entity].[IsSpecial].[False]</DefaultMember>
        </Attribute>
    </Attributes>
    <Hierarchies>
        <Hierarchy>
            <ID>Hierarchy</ID>
            <Name>Hierarchy</Name>
            <Levels>
                <Level>
                    <ID>IsSpecial</ID>
                    <Name>IsSpecial</Name>
                    <SourceAttributeID>IsSpecial</SourceAttributeID>
                </Level>
            </Levels>
        </Hierarchy>
    </Hierarchies>
</Dimension>

有什么建议吗?

【问题讨论】:

    标签: ssas olap business-intelligence xmla


    【解决方案1】:

    我怀疑有办法做到这一点。
    更改维度模型时,您还可以修改使用该维度的多维数据集。如果不重新部署整个多维数据集,元数据管理器就不会知道多维数据集的变化。

    在线更改 BIDS 中的维度时也会出现同样的情况 - 相应的多维数据集受到影响,因此需要再次部署它们。

    【讨论】:

      【解决方案2】:

      "回想一下,ROLAP 分区模式存储意味着源数据不是 复制到 SSAS 目标。 ROLAP 分区存储的另一个特点是 聚合被写回到源模式中的关系表中。”

      “要将维度设置为 ROLAP 维度,请在 BIDS 中打开维度编辑器,然后在该维度的“属性”窗口中将 StorageMode 属性从默认的 MOLAP 更改为 ROLAP”

      “虽然这需要 SSAS 企业版”

      【讨论】:

      • 这与问题无关
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多