Compartilhar via


Sobre subdimensões no Data Warehouse

 

Publicado: julho de 2016

Aplicável a: System Center 2012 SP1 - Service Manager, System Center 2012 R2 Service Manager, System Center 2012 - Service Manager

Uma subdimensão no data warehouse do System Center 2012 - Service Manager é, essencialmente, uma lista que pode agrupar logicamente um conjunto de valores. As tabelas a seguir mostram dois exemplos que exibem um agrupamento lógico de valores que denotam Prioridade e Sistemas Operacionais Windows.

Prioridade
Baixo
Médio
Alta
Sistemas Operacionais Windows
Windows XP
Windows Vista
Windows 7

Uma subdimensão é útil de duas maneiras:

  • Você pode usar valores discretos de uma subdimensão como um menu suspenso para um parâmetro de relatório quando cria e exibe relatórios no Service Manager Console.

  • Você pode usar valores de subdimensão para agrupar dados em relatórios para análise avançada.

As subdimensões no data warehouse podem direcionar uma ou mais propriedades de classe e consolidá-las em um único conjunto de valores discretos. Essas propriedades só podem ser um tipo de dados String ou ManagementPackEnumeration. Quando eles se baseiam em uma enumeração, as subdimensões também preservam a hierarquia. O Service Manager não oferece suporte a uma subdimensão definida em um tipo de dados diferente de String ou ManagementPackEnumeration.

Embora o benefício de definir uma subdimensão em uma enumeração seja evidente, uma vantagem de definir uma subdimensão em uma coluna de cadeia de caracteres é que a infraestrutura do data warehouse combina os valores distintos de uma propriedade do espaço da instância com uma pequena lista. Em seguida, você pode usar a lista em uma lista suspensa fácil de usar em um relatório. Um bom exemplo de uma subdimensão baseada em cadeia de caracteres é a propriedade Manufacturer na classe Computador, que é modelada como uma cadeia de caracteres no banco de dados do Service Manager. Ao definir uma subdimensão nessa propriedade, o Service Manager fornece o recurso para selecionar um valor da lista suspensa, em vez de procurar entre os fabricantes de quem você adquiriu seus computadores.

Para exibir um exemplo de como uma subdimensão é usada em um relatório no cabeçalho do parâmetro, abra o Service Manager Console, navegue para Relatórios, Gerenciamento de Atividades e execute o relatório Distribuição de Atividade. Em seguida, examine a lista Status para ver os valores da subdimensão. Você pode ver como a subdimensão foi modelada no pacote de gerenciamento no exemplo a seguir. Observe a classe System.WorkItem.Activity, que é definida no pacote de gerenciamento System.Workitem.Activity.Library:

<ClassType ID="System.WorkItem.Activity" Accessibility="Public" Base="WorkItem!System.WorkItem" Hosted="false" Abstract="true">   
< Property ID="SequenceId" Type="int" />     
<Property ID="Notes" Type="richtext" MaxLength="4000" />     
<Property ID="Status" Type="enum" EnumType="ActivityStatusEnum" />     
<Property ID="Priority" Type="enum" EnumType="ActivityPriorityEnum" />     
<Property ID="Area" Type="enum" EnumType="ActivityAreaEnum" />    
<Property ID="Stage" Type="enum" EnumType="ActivityStageEnum" />                      
</ClassType>  

Em seguida, você pode desejar definir uma subdimensão com base na propriedade de enumeração Status. O exemplo a seguir mostra como você pode definir uma subdimensão em um pacote de gerenciamento de sua escolha:

<Outrigger ID="ActivityStatus" Accessibility="Public">   
<Attribute ID="Status" PropertyPath="$Context/Property[Type='CoreActivity!System.WorkItem.Activity']/Status$" />     
</Outrigger>  

Como descrito anteriormente, você, o autor do pacote de gerenciamento, pode definir uma subdimensão em uma ou mais propriedades de classe. Cada propriedade de classe é modelada por um atributo correspondente na subdimensão. Este é um exemplo de visualização da subdimensão baseada na enumeração. Neste exemplo, o Status da Atividade é baseado em ActivityStatusEnum:

<EnumerationTypes>   
<EnumerationValue ID="ActivityStatusEnum" Accessibility="Public" />   
<EnumerationValue ID="ActivityStatusEnum.Ready" Parent="ActivityStatusEnum" Accessibility="Public" Ordinal="5.0" />   
<EnumerationValue ID="ActivityStatusEnum.Active" Parent="ActivityStatusEnum" Accessibility="Public" Ordinal="10.0" />    
<EnumerationValue ID="ActivityStatusEnum.OnHold" Parent="ActivityStatusEnum" Accessibility="Public" Ordinal="15.0" />   
<EnumerationValue ID="ActivityStatusEnum.Completed" Parent="ActivityStatusEnum" Accessibility="Public" Ordinal="20.0" />   
<EnumerationValue ID="ActivityStatusEnum.Failed" Parent="ActivityStatusEnum" Accessibility="Public" Ordinal="25.0" />   
<EnumerationValue ID="ActivityStatusEnum.Cancelled" Parent="ActivityStatusEnum" Accessibility="Public" Ordinal="30.0" />   
<EnumerationValue ID="ActivityStatusEnum.Rerun" Parent="ActivityStatusEnum" Accessibility="Public" Ordinal="35.0" />     
...   
</EnumerationTypes>  

Cada um dos valores é incluído no conjunto de valores discretos da subdimensão. A tabela a seguir lista a ID de coluna e o ActivityStatusValue da subdimensão ActivityStatus, que contém todos os valores de enumeração de ActivityStatusEnum.

ID ActivityStatusValue
ActivityStatusEnum.Completed Concluído
ActivityStatusEnum Status da Atividade
ActivityStatusEnum.Active Em Andamento
ActivityStatusEnum.OnHold Em Espera
ActivityStatusEnum.Rerun Novamente Executada
ActivityStatusEnum.Failed Falha
ActivityStatusEnum.Ready Pendente
ActivityStatusEnum.Cancelled Cancelada

Na tabela anterior, a coluna de ID da subdimensão contém todas as IDs de EnumerationValue do tipo de enumeração ActivityStatus. O ActivityStatusValue é o nome para exibição amigável real que aparece nos menus suspensos de relatório.

O exemplo a seguir fornece mais detalhes sobre como construir e modelar uma subdimensão. Novamente, a subdimensão ActivityStatus é usada como um exemplo:

<Outrigger ID="ActivityStatus" Accessibility="Public">  
<Attribute ID="Status" PropertyPath="$Context/Property[Type='CoreActivity!System.WorkItem.Activity']/Status$" />     
</Outrigger>  

A tabela a seguir descreve os atributos para a marca <Outrigger>.

Atributo Descrição
ID Um identificador exclusivo para o elemento de subdimensão. Isso também é o nome da tabela da subdimensão no data warehouse e no data mart.
Acessibilidade Esse elemento deve sempre ser definido como Public.

Cada marca pai <Outrigger> contém uma ou mais marcas de subelemento <Attribute>. A tabela a seguir descreve os atributos referentes a essa marca.

Atributo Descrição
ID Um identificador exclusivo para cada atributo de subdimensão
PropertyPath A sintaxe PropertyPath, que deve identificar exclusivamente a classe e o atributo para o qual o atributo de subdimensão está direcionando.

Consulte também

Personalizando o Data Warehouse