SSAS - 是否可以在不重新部署整个多维数据集的情况下向现有维度添加属性

时间:2010-11-30 18:48:48

标签: ssas olap business-intelligence xmla

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

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

  

元数据管理器中的错误。该   名称为“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>

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:-1)

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

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

“虽然这需要SSAS的Enterprise Ed”