2010-11-30 43 views
1

J'ai une dimension Entity avec juste Key et Value attributs. Nous devons ajouter un nouvel attribut, IsSpecial avec un membre par défaut de [False].SSAS - Est-il possible d'ajouter un attribut à une dimension existante sans redéployer le cube entier

Lorsque je tente de lancer le XMLA, je reçois l'erreur suivante:

Errors in the metadata manager. The cube with the ID of 'X', Name of 'Y' was invalidated by operations in the transaction.

Voici un fragment du XMLA utilisé pour modifier la dimension

<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> 

Toutes les suggestions?

Répondre

2

Je doute qu'il existe un moyen de le faire.
Lors de la modification du modèle de cote, vous modifiez également les cubes qui utilisent cette dimension. Sans redéployer le cube entier, le gestionnaire de métadonnées ne connaît pas les changements dans le cube. La même situation se produit lors du changement de dimension dans BIDS on-line - les cubes appropriés sont affectés et doivent donc être redéployés.

-1

« Rappelons que le stockage ROLAP partition de mode signifie que les données de la source ne sont pas copiée vers la destination SSAS. Une autre caractéristique de stockage de partition ROLAP est que agrégations sont réécrites dans des tables relationnelles dans le schéma de la source ».

« Pour définir une dimension en tant que dimension ROLAP, ouvrez l'éditeur de dimension dans BIDS, et dans la fenêtre Propriétés de cette dimension modifiez la propriété StorageMode du MOLAP par défaut ROLAP »

« bien que cela nécessite l'entreprise Ed de SSAS "

+0

cela ne concerne pas la question –