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. Apesar de ser possível definir uma nova dimensão de banco de dados como uma dimensão de tempo com essa granulação diferente, há uma forma mais fácil de fazer isso com o Analysis Services.

Por padrão no Analysis Services, quando uma dimensão é usada dentro de um grupo de medidas, a granulação dos dados dentro daquela dimensão tem como base o atributo de 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 Internet Sales e Reseller Sales neste 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 do cubo, você pode modificar o atributo de granularidade da dimensão do cubo para a granularidade usada dentro de um 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. Caso as relações de atributo não sejam especificadas apropriadamente, o Analysis Services não conseguirá agregar os valores corretamente, conforme será mostrado nas tarefas deste tópico.

Para obter mais informações, consulte Relações de dimensão e Definir uma relação regular e propriedades de relação regular.

Nas tarefas deste tópico, você adicionará um grupo de medidas Sales Quotas e definirá a granularidade da dimensão Date nesse grupo de medidas como mensal. Em seguida, você definirá relações de atributos entre o atributo mensal e outros atributos de dimensão para assegurar que o Analysis Services agregue valores corretamente.

Adicionando tabelas e definindo o grupo de medidas Sales Quotas

  1. Alterne para a exibição da fonte de dados Adventure Works DW 2012.

  2. Clique com o botão direito do mouse em qualquer lugar do painel Organizador de Diagramas, clique em Novo Diagrama e, em seguida, dê um nome para o diagrama Sales Quotas.

  3. Arraste as tabelas Employee, Sales Territory e Date do painel Tabelas para o painel Diagrama.

  4. Acrescente 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 Employee.

  5. Revise as colunas da tabela FactSalesQuota e então explore os dados nessa tabela.

    Observe que a granulação dos dados dentro dessa tabela é trimestral, que é o nível mais baixo de detalhes na tabela FactSalesQuota.

  6. No Designer de Exibição da Fonte de Dados, altere a propriedade FriendlyName da tabela FactSalesQuota para SalesQuotas.

  7. Alterne para o cubo Tutorial do Analysis Services e depois clique na guia Estrutura do Cubo.

  8. Clique com o botão direito do mouse em qualquer lugar do painel Medidas, clique em Novo Grupo de Medidas, em SalesQuotas na caixa de diálogo Novo Grupo de Medidas e, em seguida, clique em OK.

    O grupo de medidas Sales Quotas é exibido no painel Medidas. No painel Dimensões, observe que uma nova dimensão do cubo Date também está definida com base na dimensão do banco de dados Date. Uma nova dimensão do cubo relacionada ao tempo é definida porque o Analysis Services não sabe quais dimensões do cubo relacionadas ao tempo existentes devem ser relacionadas à coluna DateKey da tabela de fatos FactSalesQuota subjacente ao grupo de medidas Sales Quotas. Você alterará isso depois em outra tarefa neste tópico.

  9. Expanda o grupo de medidas Sales Quotas.

  10. No painel Medidas, selecione Sales Amount Quota e depois defina o valor da propriedade FormatString como Currency na janela Propriedades.

  11. Selecione a medida Sales Quotas Count e depois digite #,# como o valor da propriedade FormatString na janela Propriedades.

  12. Exclua a medida Calendar Quarter do grupo de medidas Sales Quotas.

    O Analysis Services detectou que a coluna subjacente à medida Calendar Quarter contém medidas. Entretanto, essa coluna e a coluna CalendarYear contêm os valores que você utilizará para vincular o grupo de medidas Sales Quotas à dimensão Date, mais adiante neste tópico.

  13. No painel Medidas, clique com o botão direito do mouse no grupo de medidas Sales Quotas e depois clique em Nova Medida. Para obter mais informações, consulte Definindo medidas.

    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.

  14. Na caixa de diálogo Nova Medida, selecione Conta distinta na lista Uso, verifique se SalesQuotas está selecionado na lista Tabela de origem, selecione EmployeeKey na lista Coluna de origem e depois clique em OK.

    Observe que a medida é criada em um novo grupo de medidas chamado Sales Quotas 1. Medidas de contas distintas no SQL Server são criadas em seus próprios grupos de medidas para maximizar o desempenho de processamento.

  15. Altere o valor da propriedade Nome da medida Employee Key Distinct Count para Sales Person Count; em seguida, digite #,# como o valor da propriedade FormatString.

  1. No menu Compilar, clique em Implantar Tutorial do Analysis Services.

  2. Quando a implantação finalizar com êxito, clique na guia Navegador do Designer de Cubo para o cubo do Tutorial do Analysis Services e depois clique no botão Reconectar.

  3. Clique no atalho do Excel e clique em Habilitar.

  4. Na Lista de Campos da Tabela Dinâmica, expanda o grupo de medidas Sales Quotas e arraste a medida Sales Amount Quota para a área de Valores.

  5. Expanda a dimensão Sales Territory e arraste a hierarquia Sales Territory 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:

    Dimensão de cubo Região de Vendas

    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.

  6. Mova a hierarquia de usuário Sales Territories da área de Rótulos de Linhas para a área de Rótulos de Coluna.

  7. Na lista de Campos da Tabela Dinâmica, selecione a hierarquia Sales Territories definida pelo usuário e clique na seta para baixo à direita.

    A hierarquia Região de Vendas na lista de campos

  8. No filtro, clique na caixa de seleção Selecionar Tudo para desmarcar todas as seleções e, em seguida, escolha somente North America.

    Painel de filtros para seleção de América do Norte

  9. Na Lista de Campos da Tabela Dinâmica, expanda Date.

  10. Arraste a hierarquia de usuário Date.Fiscal Date para os Rótulos de Linha

  11. 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 July 2007 do nível Month é exibido em vez dos membros July, 2007, August, 2007 e September, 2007 do nível Month, e somente o membro July 1, 2007 do nível Date é exibido em vez de todos os 31 dias. Isso acontece porque a granulação dos dados na tabela de fatos é trimestral e a granulação da dimensão Date é diária. Você alterará esse comportamento na próxima tarefa deste tópico.

    Observe também que o valor Sales Amount Quota para os níveis mensal e diário é o mesmo valor do nível trimestral, $13.733.000,00. Isso acontece porque o menor nível de dados no grupo de medidas Sales Quotas é o trimestral. Você alterará esse comportamento na Lição 6.

    A imagem a seguir mostra os valores para Sales Amount Quota.

    Valores para a cota de vendas

Definindo propriedades de uso de dimensão para o grupo de medidas Sales Quotas

  1. Abra o Designer de Dimensão da dimensão Employee, clique com o botão direito do mouse em SalesTerritoryKey no painel Exibição da Fonte de Dados e depois clique em Novo Atributo da Coluna.

  2. No painel Atributos, selecione SalesTerritoryKey e depois defina a propriedade AttributeHierarchyVisible como False na janela Propriedades, a propriedade AttributeHierarchyOptimizedState como NotOptimized e a propriedade AttributeHierarchyOrdered como False.

    Esse atributo é necessário para vincular a dimensão Sales Territory aos grupos de medidas Sales Quotas e Sales Quotas 1 como uma dimensão referenciada.

  3. No Designer de Cubo para o cubo do Tutorial do Analysis Services, clique na guia Uso da Dimensão e depois revise o uso da dimensão dentro dos grupos de medidas Sales Quotas e Sales Quotas 1.

    Observe que as dimensões do cubo Employee e Date são vinculadas aos grupos de medidas Sales Quotas e Sales Quotas 1 através de relações regulares. Observe também que a dimensão do cubo Sales Territory não está vinculada a nenhum desses grupos de medidas.

  4. Clique na célula de interseção da dimensão Sales Territory e do grupo de medidas Sales Quotas e depois clique no botão de navegação (). A caixa de diálogo Definir Relação é exibida.

  5. Na lista Selecionar tipo de relação, selecione Referenciada.

  6. Na lista Dimensão intermediária, selecione Employee.

  7. Na lista Atributo de dimensão de referência, selecione Sales Territory Region.

  8. Na lista Atributo de dimensão intermediária, selecione Sales Territory Key. (A coluna de chave do atributo Sales Territory Region é a coluna SalesTerritoryKey.)

  9. Verifique se a caixa de seleção Materializar está marcada.

  10. Clique em OK.

  11. Clique na célula de interseção da dimensão Sales Territory e do grupo de medidas Sales Quotas 1 e depois clique no botão de navegação (). A caixa de diálogo Definir Relação é exibida.

  12. Na lista Selecionar tipo de relação, selecione Referenciada.

  13. Na lista Dimensão intermediária, selecione Employee.

  14. Na lista Atributo de dimensão de referência, selecione Sales Territory Region.

  15. Na lista Atributo de dimensão intermediária, selecione Sales Territory Key. (A coluna de chave do atributo Sales Territory Region é a coluna SalesTerritoryKey.)

  16. Verifique se a caixa de seleção Materializar está marcada.

  17. Clique em OK.

  18. Exclua a dimensão do cubo Date.

    Em vez de ter quatro dimensões do cubo relacionadas ao tempo, você usará a dimensão do cubo Order Date no grupo de medidas Sales Quotas como a data na qual 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.

  19. Na lista Dimensões, renomeie a dimensão do cubo Order Date para Date.

    Renomear a dimensão do cubo Order Date para Date faz com que os usuários entendam mais facilmente que essa é a dimensão de data primária desse cubo.

  20. Clique no botão procurar () na célula de intersecção do grupo de medidas Sales Quotas e da dimensão Date.

  21. Na caixa de diálogo Definir Relação, selecione Regular na lista Selecionar tipo de relação.

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

  23. Na área Relação da caixa de diálogo Definir Relação, vincule as colunas de dimensão CalendarYear e CalendarQuarter da tabela adjacente à dimensão do cubo Date às colunas CalendarYear e CalendarQuarter na tabela adjacente ao grupo de medidas Sales Quota; depois, clique em OK.

    ObservaçãoObservaçã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.

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

  1. Alterne para o Designer de Dimensão para a dimensão Date e clique na guia Relações de Atributo.

    Observe que apesar de Calendar Year estar vinculado a Calendar Quarter através do atributo Calendar Semester, os atributos do calendário fiscal estão vinculados somente uns aos outros; eles não estão vinculados ao atributo Calendar Quarter e, portanto, não agregarão corretamente no grupo de medidas Sales Quotas.

  2. No diagrama, clique com o botão direito do mouse no atributo Calendar Quarter e depois selecione Nova Relação de Atributo.

  3. Na caixa de diálogo Criar Relação de Atributo, o Atributo de Origem é Calendar Quarter. Defina o Atributo Relacionado como Fiscal Quarter.

  4. Clique em OK.

    Observe que um aviso é exibido indicando que a dimensão Date 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.

  5. Exclua a relação de atributo entre os atributos Month Name e Fiscal Quarter.

  6. No menu Arquivo, clique em Salvar Tudo.

  1. No menu Compilar, clique em Implantar Tutorial do Analysis Services.

  2. Quando a implantação finalizar com êxito, clique na guia Navegador do Designer de Cubo para o cubo do Tutorial do Analysis Services e depois clique no botão Reconectar.

  3. Clique no atalho do Excel e clique em Habilitar.

  4. Arraste a medida Sales Amount Quota para a área de Valores.

  5. Arraste a hierarquia de usuário Sales Territories para os Rótulos de Coluna e, em seguida, filtre por North America.

  6. Arraste a hierarquia de usuário Date.FiscalDate para os Rótulos de Linha; depois clique na seta para baixo próxima a Rótulos de Linha na Tabela Dinâmica e desmarque todas as caixas de seleção além de FY 2008 para exibir somente o ano fiscal de 2008.

  7. Clique em OK.

  8. Expanda FY 2008, H1 FY 2008 e por fim Q1 FY 2008.

    A imagem a seguir mostra uma Tabela Dinâmica para o cubo do Tutorial do Analysis Services com o grupo de medidas Sales Quota 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 para 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 medidas Cota de Vendas dimensionado corretamente

Próxima lição

Lição 6: Definindo os cálculos

Consulte também

Conceitos

Relações de dimensão

Definir uma relação regular e propriedades de relação regular

Trabalhar com diagramas em um Designer de exibição da fonte de dados (Analysis Services)