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 Vendas pela Internet e Vendas do Revendedor 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 Definindo uma relação regular e propriedades de 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ê 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 Cotas de Vendas
Para adicionar tabelas e definir o grupo de medidas Cotas de Vendas
Alterne para o Designer de Exibição da Fonte de Dados para a exibição da fonte de dados Adventure Works DW.
Clique com o botão direito do mouse em qualquer lugar do painel Organizador de Diagramas, clique em Novo Diagrama e, em seguida, especifique Cotas de Vendas como o nome do novo diagrama. Para obter mais informações, consulte Trabalhando com diagramas em uma exibição da fonte de dados (Analysis Services).
Arraste as tabelas Employee, Sales Territory e Date do painel Tabelas para o painel Diagrama.
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.
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.
No Designer de Exibição da Fonte de Dados, altere a propriedade FriendlyName da tabela FactSalesQuota para SalesQuotas.
Alterne para o Designer de Cubo para o cubo do Tutorial do Analysis Services e depois clique na guia Estrutura do Cubo.
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 Cotas de Vendas é exibido no painel Medidas. No painel Dimensões, observe que uma nova dimensão do cubo Data também está definida com base na dimensão do banco de dados Data. 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 Cotas de Vendas. Você alterará isso depois em outra tarefa neste tópico.
Expanda o grupo de medidas Cotas de Vendas.
No painel Medidas, selecione Cota do Valor de Vendas e depois defina o valor da propriedade FormatString como Moeda na janela Propriedades.
Selecione a medida Conta das Quotas de Vendas e depois digite #,# como o valor da propriedade FormatString na janela Propriedades.
Exclua a medida Trimestre Calendário do grupo de medidas Cotas de Vendas.
O Analysis Services detectou que a coluna subjacente à medida Trimestre Calendário 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 grupo de medidas Cotas de Vendas 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.
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 Cotas de Vendas 1. Medidas de contas distintas no SQL Server são criadas em seus próprios grupos de medidas para maximizar o desempenho de processamento.
Altere o valor da propriedade Nome da medida Conta Distinta da Chave de Funcionário para Conta do Vendedor; em seguida, digite #,# como o valor da propriedade FormatString.
Navegando pelas medidas do grupo de medidas Cotas de Vendas pela Data
Para navegar pelas medidas no grupo de medidas Cotas de Vendas pela data
No menu Compilar, clique em Implantar Tutorial do Analysis Services.
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.
Desmarque todas as hierarquias e medidas do painel Dados e depois desmarque o membro de dimensão do painel Filtro.
Expanda o grupo de medidas Cotas de Vendas no painel de metadados e depois adicione a medida Cota do Valor de Vendas à área de dados.
Adicione a hierarquia definida pelo usuário Regiões de Vendas da dimensão Região de Vendas à área de coluna.
Observe que a dimensão do cubo Região de Vendas não está relacionada, direta ou indiretamente, à tabela Fact Sales Quota, como mostra a imagem a seguir:
Na próxima tarefa deste tópico, você definirá uma relação de dimensão referenciada entre essa dimensão e essa tabela de fatos.
No painel Dados, clique na seta para baixo ao lado de Grupo de Região de Vendas e desmarque todas as caixas de seleção exceto a caixa para América do Norte. Dessa maneira, todos os membros de dimensão que são exibidos em Grupo da Região de Vendas serão alterados para América do Norte.
No painel de metadados, expanda Data.
Adicione a hierarquia de usuário Date.Fiscal Date à área de linha; depois clique na seta para baixo próxima a Ano Fiscal no painel Dados e desmarque todas as caixas de seleção exceto FY 2004 para exibir somente o ano fiscal de 2004.
No painel Dados, expanda FY 2004, H1 FY 2004, Q1 FY 2004 e depois expanda Julho 2003.
Observe que somente o membro Julho 2003 do nível Mês é exibido em vez dos membros Julho 2003, Agosto 2003 e Setembro 2003 do nível Mês, e somente o membro 1 de julho de 2003 do nível Data é 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 Data é diária. 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, $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 para Cota do Valor de Vendas.
Definindo propriedades de uso de dimensão para o grupo de medidas Cotas de Vendas
Para definir propriedades de uso de dimensão para o grupo de medidas Cotas de Vendas
Abra o Designer de Dimensão da dimensão Funcionário, 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.
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 Região de Vendas aos grupos de medidas Cotas de Vendas e Cotas de Vendas 1 como uma dimensão referenciada.
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 Cotas de Vendas e Cotas de Vendas 1.
Observe que as dimensões do cubo Funcionário e Data são vinculadas aos grupos de medidas Cotas de Vendas e Cotas de Vendas 1 através 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 de interseção da dimensão Região de Vendas e do grupo de medidas Cotas de Vendas e depois clique no botão de navegação (…). A caixa de diálogo Definir Relação é exibida.
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 de interseção da dimensão Região de Vendas e do grupo de medidas Cotas de Vendas 1 e depois clique no botão de navegação (…). A caixa de diálogo Definir Relação é exibida.
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 cubo Data.
Em vez de ter quatro dimensões do cubo relacionadas ao tempo, você usará a dimensão do cubo Data do Pedido no grupo de medidas Cotas de Vendas 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.
Na lista Dimensões, renomeie a dimensão do cubo Data do Pedido para Data.
Renomear a dimensão do cubo Data do Pedido para Data faz com que os usuários entendam mais facilmente que essa é a dimensão de data primária desse cubo.
Clique no botão procurar (…) na célula de intersecção do grupo de medidas Cotas de Vendas e da dimensão Data.
Na caixa de diálogo Definir Relação, selecione Regular na lista Selecionar tipo de relação.
Na lista Atributo de granularidade, selecione Trimestre Calendário.
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 adjacente à dimensão do cubo Data às colunas CalendarYear e CalendarQuarter na tabela adjacente ao grupo de medidas Cotas de Vendas; depois, clique em OK.
Observação O Trimestre Calendário é definido como atributo de granularidade para a dimensão do cubo Data no grupo de medidas Cotas de Vendas, mas o atributo Data continua a ser o atributo de granularidade dos grupos de medidas Vendas pela Internet e Vendas do Revendedor.
Repita as quatro etapas anteriores para o grupo de medidas Cotas de Vendas 1.
Definindo relações de atributo entre o atributo Trimestre Calendário e outros atributos de dimensão na dimensão Data
Para definir relações de atributo entre o atributo Trimestre Calendário e outros atributos de dimensão na dimensão Data
Alterne para o Designer de Dimensão para a dimensão Data e então clique na guia Relações de Atributo.
Observe que apesar de Ano Calendário estar vinculado a Trimestre Calendário através do atributo Semestre Calendário, os atributos do calendário fiscal estão vinculados somente uns aos outros; eles não estão vinculados ao atributo Trimestre Calendário e, portanto, não agregarão corretamente no grupo de medidas Cotas de Vendas.
No diagrama, clique com o botão direito do mouse no atributo Trimestre Calendário e depois 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 um aviso é exibido indicando que a dimensão Data 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 Nome do Mês e Trimestre Fiscal.
No menu Arquivo, clique em Salvar Tudo.
Navegando pelas medidas do grupo de medidas Cotas de Vendas pela Data
Para navegar pelas medidas no grupo de medidas Cotas de Vendas pela data
No menu Compilar, clique em Implantar Tutorial do Analysis Services.
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.
Observe que a medida Cota do Valor de Vendas é dimensionada corretamente por Região de Vendas porque a dimensão Região de Vendas está definida agora como dimensão referenciada.
Adicione a hierarquia de usuário Date.FiscalDate à área de linha a partir da dimensão do cubo Data; depois, clique na seta para baixo próxima a Ano Fiscal e desmarque todas as caixas de seleção exceto AF 2004 para exibir somente o ano fiscal de 2004.
Clique em OK.
Expanda FY 2004, H1 FY 2004 e por fim Q1 FY 2004.
Observe que as medidas no grupo de medidas Cotas de Vendas são dimensionadas corretamente. Observe também que todos os membros do nível trimestre fiscal exibidos contêm o valor do nível trimestral. Isso acontece porque a granulação dos dados na tabela de fatos é trimestral e a granulação da dimensão Data também é trimestral. Na Lição 6, você aprenderá a alocar a quantia trimestral proporcionalmente a cada mês.
A imagem a seguir mostra o Designer de Cubo para o cubo do Tutorial do Analysis Services com o grupo de medidas Cotas de Vendas dimensionado corretamente.
Consulte também