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