Definindo a granularidade da dimensão dentro de um grupo de medidas
Os usuários podem dimensionar dados de fatos em diferentes granularidades ou especificidades para diversas finalidades. Por exemplo, dados de vendas de revendedores ou pela Internet podem ser gravados diariamente, enquanto que informações sobre cotas de vendas podem ser registradas apenas mensal ou trimestralmente. Nesses cenários, os usuários terão uma dimensão de tempo com granulação ou nível de detalhes diferente para cada uma dessas tabelas de fatos diferentes. Embora você possa definir uma nova dimensão de banco de dados como uma dimensão de tempo com essa granularidade diferente, há uma maneira mais fácil com o Analysis Services.
Por padrão, no Analysis Services, quando uma dimensão é usada dentro de um grupo de medidas, a granularidade dos dados dentro dessa dimensão é baseada no atributo chave da dimensão. Por exemplo, quando uma dimensão de tempo é incluída em um grupo de medidas e a granulação padrão da dimensão de tempo é diária, a granulação padrão dessa dimensão dentro do grupo de medidas é diária. Isso é apropriado em diversas ocasiões, como para os grupos de medidas Vendas pela Internet e Vendas do Revendedor deste tutorial. Porém, quando tal dimensão é incluída em outros tipos de grupos de medidas, como em um grupo de cotas de vendas ou de medidas de orçamento, uma granulação mensal ou trimestral é geralmente mais apropriada.
Para especificar uma granulação diferente do padrão para uma dimensão de cubo, você modifica o atributo de granularidade da dimensão do cubo da granularidade usada em determinado grupo de medidas na guia Uso da Dimensão do Designer de Cubo. Ao alterar a granulação de uma dimensão dentro de um determinado grupo de medidas para um atributo diferente do atributo de chave daquela dimensão, você deve assegurar que todos os demais atributos do grupo de medidas estejam direta ou indiretamente relacionados ao novo atributo de granularidade. Para isso, você deve especificar relações de atributos entre todos os demais atributos e o atributo que é especificado como atributo de granularidade no grupo de medidas. Nesse caso, você define relações de atributos adicionais em vez de mover relações de atributos. O atributo que é especificado como o atributo de granularidade torna-se efetivamente o atributo de chave dentro do grupo de medidas para os demais atributos da dimensão. Se você não especificar relações de atributo adequadamente, o Analysis Services não poderá agregar valores corretamente, como você verá nas tarefas neste tópico.
Para obter mais informações, consulte Relações de dimensãoe Definir uma relação regular e as propriedades da relação regular.
Nas tarefas deste tópico, você adicionará um grupo de medidas Cotas de Vendas e definirá a granularidade da dimensão Data nesse grupo de medidas como mensal. Em seguida, você define relações de atributo entre o atributo month e outros atributos de dimensão para garantir que o Analysis Services agrega valores corretamente.
Adicionando tabelas e definindo o grupo de medidas Sales Quotas
Mude para a exibição da fonte de dados Adventure Works DW 2012 .
Clique com o botão direito do mouse em qualquer lugar no painel Organizador de Diagramas , clique em Novo Diagrama e nomeie o diagrama
Sales Quotas
.Arraste as tabelas Funcionário, Território de Vendas e
Date
tabelas do painel Tabelas até o painel Diagrama .Adicione a tabela FactSalesQuota ao painel Diagrama clicando com o botão direito do mouse em qualquer lugar do painel Diagrama e selecionando Adicionar/Remover Tabelas.
Observe que a tabela SalesTerritory é vinculada à tabela FactSalesQuota pela tabela Funcionário .
Examine as colunas da tabela FactSalesQuota e explore os dados dessa tabela.
Observe que a granulação dos dados dentro dessa tabela é trimestral, que é o nível mais baixo de detalhes na tabela FactSalesQuota.
No modo de exibição da fonte de dados Designer, altere a propriedade FriendlyName da tabela FactSalesQuota para
SalesQuotas
.Alterne para o cubo tutorial do Analysis Services e clique na guia Estrutura do Cubo .
Clique com o botão direito do mouse em qualquer lugar no painel Medidas , clique em Novo Grupo de Medidas, clique
SalesQuotas
na caixa de diálogo Novo Grupo de Medidas e clique em OK.O
Sales Quotas
grupo de medidas aparece no painel Medidas . No painel Dimensões , observe que uma novaDate
dimensão de cubo também é definida, com base na dimensão doDate
banco de dados. Uma nova dimensão de cubo relacionada ao tempo é definida porque o Analysis Services não sabe quais das dimensões de cubo relacionadas ao tempo existentes devem estar relacionadas à coluna DateKey na tabela de fatos FactSalesQuota que está por trás do grupo de medidas Cotas de Vendas. Você alterará isso depois em outra tarefa neste tópico.Expanda o
Sales Quotas
grupo de medidas.No painel Medidas , selecione Cota do Valor de Vendase defina o valor da propriedade FormatString como Moeda na janela Propriedades.
Selecione a medida Contagem de Cotas de Vendas e digite
#,#
como o valor da propriedade FormatString no janela Propriedades.Exclua a medida Trimestre do Calendário do
Sales Quotas
grupo de medidas.O Analysis Services detectou a coluna que está subjacente à medida trimestre de calendário como uma coluna que contém medidas. Entretanto, essa coluna e a coluna Trimestre Calendário contêm os valores que você utilizará para vincular o grupo de medidas Cotas de Vendas à dimensão Data posteriormente neste tópico.
No painel Medidas , clique com o botão direito do mouse no
Sales Quotas
grupo de medidas e clique em Nova Medida.A caixa de diálogo Nova Medida é exibida. Essa caixa contém as colunas de origem disponíveis para uma medida com o tipo de uso Soma.
Na caixa de diálogo Nova Medida , selecione Contagem distinta na lista Uso , verifique se
SalesQuotas
está selecionado na lista Tabela de origem , selecione EmployeeKey na lista Coluna de origem e clique em OK.Observe que a medida é criada em um novo grupo de medidas chamado Cotas de Vendas 1. Medidas de contagem distintas em SQL Server são criadas em seus próprios grupos de medidas para maximizar o desempenho de processamento.
Altere o valor da propriedade Name para a medida Contagem distinta de chave de funcionário para
Sales Person Count
e digite#,#
como o valor da propriedade FormatString .
Navegando pelas medidas do grupo de medidas Sales Quota por data
No menu Compilar , clique em Implantar Tutorial do Analysis Services.
Quando a implantação for concluída com êxito, clique na guia Navegador no Cubo Designer do cubo tutorial do Analysis Services e clique no botão Reconectar.
Clique no atalho do Excel e em Habilitar.
Na Lista de Campos de Tabela Dinâmica, expanda o
Sales Quotas
grupo de medidas e arraste a medida Cota de Valor de Vendas para a área Valores.Expanda a dimensão Sales Territory e arraste a hierarquia Sales Territories definida pelo usuário para Rótulos de Linha.
Observe que a dimensão do cubo Sales Territory não está relacionada, direta ou indiretamente, à tabela Fact Sales Quota, como mostra a imagem a seguir:
Na próxima série de etapas deste tópico, você definirá uma relação de dimensão de referência entre essa dimensão e essa tabela de fatos.
Mova a hierarquia de usuário Sales Territories da área Rótulos de Linhas para a área Rótulos de Coluna.
Na lista Campos da Tabela Dinâmica, selecione a hierarquia Sales Territories definida pelo usuário e clique na seta para baixo à direita.
No filtro, clique na caixa de seleção Selecionar Tudo para desmarcar todas as seleções e escolha somente América do Norte.
Na Lista de Campos de Tabela Dinâmica, expanda
Date
.Arraste a hierarquia de usuário Date.Fiscal Date até Rótulos de Linha
Na Tabela Dinâmica, clique na seta para baixo ao lado de Rótulos de Linha. Desmarque todos os anos, com exceção de FY 2008.
Observe que somente o membro de julho de 2007 do nível Mês é exibido, em vez dos membros de julho de 2007, agosto de 2007 e setembro de 2007 do nível Mês , e que apenas o membro de julho de 2007 do
Date
nível aparece, em vez de todos os 31 dias. Esse comportamento ocorre porque a granularidade dos dados na tabela de fatos está no nível do trimestre e a granularidade daDate
dimensão é o nível diário. Você alterará esse comportamento na próxima tarefa deste tópico.Observe também que o valor Cota do Valor de Vendas para os níveis mensal e diário é o mesmo valor do nível trimestral, US$ 13.733.000,00. Isso acontece porque o menor nível de dados no grupo de medidas Cotas de Vendas é o trimestral. Você alterará esse comportamento na Lição 6.
A imagem a seguir mostra os valores de Cota do Valor de Vendas.
valores de cota de valor de
Definindo propriedades de uso de dimensão para o grupo de medidas Sales Quotas
Abra o Designer de Dimensão na dimensão Funcionário , clique com o botão direito do mouse em SalesTerritoryKey no painel Exibição da Fonte de Dados e clique em Novo Atributo da Coluna.
No painel Atributos , selecione SalesTerritoryKeye defina a propriedade AttributeHierarchyVisible como False na janela Propriedades, a propriedade AttributeHierarchyOptimizedState como NotOptimizede a propriedade AttributeHierarchyOrdered como False.
Esse atributo é necessário para vincular a dimensão Território de Vendas aos
Sales Quotas
grupos de medidas e Cotas de Vendas 1 como uma dimensão referenciada.No Cube Designer para o cubo tutorial do Analysis Services, clique na guia Uso da Dimensão e examine o uso da dimensão dentro dos
Sales Quotas
grupos de medidas e Cotas de Vendas 1.Observe que as dimensões Funcionário e
Date
cubo estão vinculadas aos grupos de medidas Cotas de Vendas e Cotas de Vendas 1 por meio de relações regulares. Observe também que a dimensão do cubo Região de Vendas não está vinculada a nenhum desses grupos de medidas.Clique na célula na interseção da dimensão Território de Vendas e do
Sales Quotas
grupo de medidas e clique no botão Procurar (...). A caixa de diálogo Definir Relação é aberta.Na lista Selecionar tipo de relação , selecione Referenciada.
Na lista Dimensão intermediária , selecione Funcionário.
Na lista Atributo de dimensão de referência , selecione Região de Vendas.
Na lista Atributo de dimensão intermediária , selecione Chave de Região de Vendas. (A coluna de chave do atributo Região de Vendas é a coluna SalesTerritoryKey.)
Verifique se a caixa de seleção Materializar está marcada.
Clique em OK.
Clique na célula na interseção da dimensão Território de Vendas e do grupo de medidas Cotas de Vendas 1 e clique no botão Procurar (...). A caixa de diálogo Definir Relação é aberta.
Na lista Selecionar tipo de relação , selecione Referenciada.
Na lista Dimensão intermediária , selecione Funcionário.
Na lista Atributo de dimensão de referência , selecione Região de Vendas.
Na lista Atributo de dimensão intermediária , selecione Chave de Região de Vendas. (A coluna de chave do atributo Região de Vendas é a coluna SalesTerritoryKey.)
Verifique se a caixa de seleção Materializar está marcada.
Clique em OK.
Exclua a dimensão do
Date
cubo.Em vez de ter quatro dimensões de cubo relacionadas ao tempo, você usará a dimensão do cubo Data do
Sales Quotas
Pedido no grupo de medidas como a data em que as cotas de vendas serão dimensionadas. Você também usará essa dimensão do cubo como a dimensão de data primária no cubo.Na lista Dimensões , renomeie a dimensão do cubo Data do Pedido como
Date
.Renomear a dimensão do cubo Data da Ordem para
Date
torna mais fácil para os usuários entenderem sua função como a dimensão de data primária neste cubo.Clique no botão Procurar (...) na célula na interseção do
Sales Quotas
grupo de medidas e daDate
dimensão.Na caixa de diálogo Definir Relação , selecione Regular na lista Selecionar tipo de relação .
Na lista Atributo de granularidade , selecione Calendar Quarter.
Observe que um aviso é exibido para notificá-lo de que devido à seleção de um atributo não chave como atributo de granularidade, é necessário certificar-se de que todos os outros atributos estejam, direta ou indiretamente, relacionados ao atributo de granularidade especificando-os como propriedades de membros.
Na área Relação da caixa de diálogo Definir Relação , vincule as colunas de dimensão CalendarYear e CalendarQuarter da tabela subjacente à dimensão do cubo Date às colunas CalendarYear e CalendarQuarter na tabela subjacente ao grupo de medidas Sales Quota e clique em OK.
Observação
Calendar Quarter é definido como atributo de granularidade para a dimensão do cubo Data no grupo de medidas Sales Quotas mas o atributo Date continua a ser o atributo de granularidade dos grupos de medidas Internet Sales e Reseller Sales.
Repita as quatro etapas anteriores para o grupo de medidas Sales Quotas 1 .
Definindo relações de atributo entre o atributo Calendar Quarter e outros atributos de dimensão na dimensão Date
Alterne para Dimensão Designer para a
Date
dimensão e clique na guia Relações de Atributo.Observe que, embora o Ano Civil esteja vinculado ao Trimestre Civil por meio do atributo Semestre calendário , os atributos do calendário fiscal são vinculados apenas um ao outro; eles não estão vinculados ao atributo Calendar Quarter e, portanto, não serão agregados corretamente no
Sales Quotas
grupo de medidas.No diagrama, clique com o botão direito do mouse no atributo Trimestre Calendário e selecione Nova Relação de Atributo.
Na caixa de diálogo Criar Relação de Atributo , o Atributo de Origem é Trimestre Calendário. Defina o Atributo Relacionado como Trimestre Fiscal.
Clique em OK.
Observe que uma mensagem de aviso aparece informando que a
Date
dimensão contém uma ou mais relações de atributo redundantes que podem impedir que os dados sejam agregados quando um atributo não chave é usado como um atributo de granularidade.Exclua a relação de atributo entre os atributos Month Name e Fiscal Quarter .
No menu Arquivo , clique em Salvar Tudo.
Navegando pelas medidas do grupo de medidas Sales Quota por data
No menu Compilar , clique em Implantar Tutorial do Analysis Services.
Quando a implantação for concluída com êxito, clique na guia Navegador no Cubo Designer para o cubo tutorial do Analysis Services e clique em Reconectar.
Clique no atalho do Excel e em Habilitar.
Arraste a medida Sales Amount Quota até a área Valores.
Arraste a hierarquia de usuário Regiões de Vendas até os Rótulos de Coluna e filtre por América do Norte.
Arraste a hierarquia de usuário Date.FiscalDate até os Rótulos de Linha; clique na seta para baixo próxima a Rótulos de Linha na Tabela Dinâmica e desmarque todas as caixas de seleção que não sejam FY 2008para exibir somente o ano fiscal de 2008.
Clique em OK.
Expanda FY 2008, H1 FY 2008e Q1 FY 2008.
A imagem a seguir mostra uma Tabela Dinâmica para o cubo tutorial do Analysis Services, com o grupo de medidas Cota de Vendas dimensionado corretamente.
Observe também que todos os membros do nível trimestre fiscal contêm o mesmo valor que o nível trimestral. Usando Q1 FY 2008 como exemplo, a cota de US$ 9.180.000,00 para Q1 FY 2008 também é o valor de cada um de seus membros. Isso acontece porque a granulação dos dados na tabela de fatos é trimestral e a granulação da dimensão Date também é trimestral. Na Lição 6, você aprenderá a alocar a quantia trimestral proporcionalmente a cada mês.
Grupo de
Próxima lição
Lição 6: Como definir cálculos
Consulte Também
Relações de dimensão
Definir uma relação regular e as propriedades da relação regular
Trabalhar com diagramas em um Designer de exibição da fonte de dados (Analysis Services)