SSAS - можно ли добавить атрибут к существующему измерению с повторной развертыванием всего куба
-
29-09-2019 - |
Вопрос
У меня есть измерение Entity
сразу Key
и Value
атрибуты. Нам нужно добавить новый атрибут, 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>
Какие-либо предложения?
Решение
Я сомневаюсь, что есть способ сделать это.
При изменении модели измерения вы также изменяете кубики, которые используют это размерность. Без перераспределения всего куба MetAdata Manager не знает об изменениях в кубе.
Такая же ситуация возникает при изменении измерений в заявках в режиме онлайн-подходящих кубиков, пострадавших, поэтому они должны быть развернуты снова.
Другие советы
«Напомним, что хранение режима RoLAP означает, что данные источника не скопированы в пункт назначения SSAS. Другая характеристика хранения раздела RoLAP - это то, что агрегаты записываются обратно к реляционным столам в исходной схеме».
«Чтобы установить измерение в качестве измерения ROLAP, откройте редактор измерений в ставках, а в окне« Свойства »для этого измерения изменяйте свойство« Свойство »из MOLAP по умолчанию для ROLAP»
«Хотя это требует предприятия ССАС»