Partilhar via


Criar medidas e grupos de medidas em modelos multidimensionais

Uma medida é uma agregação de valores de dados numéricos, como soma, contagem, mínimo, máximo, média ou uma expressão MDX personalizada que você cria. Um grupo de medidas é um contêiner para uma ou mais medidas. Todas as medidas existem em um grupo de medidas, mesmo que haja apenas uma medida. Um cubo deve ter pelo menos uma medida e um grupo de medidas.

Este tópico inclui as seções a seguir:

Abordagens para criar medidas

As medidas podem ser um elemento estático do cubo, criado em tempo de design, sempre presente sempre que o cubo é acessado. Mas você também pode definir uma medida como um membro calculado usando um MDX para fornecer um valor calculado para uma medida com base em outras medidas no cubo. Um membro calculado pode ter um escopo definido para uma sessão ou usuário.

Para criar uma medida ou um grupo de medidas, use uma destas abordagens:

Assistente de Cubo Execute o Assistente de Cubo no SSDT (SQL Server Data Tools) para criar um cubo.

No Gerenciador de Soluções, clique com o botão direito do mouse em Cubos e escolha Novo Cubo. Consulte Modelagem Multidimensional (Tutorial do Adventure Works) se você precisar de ajuda com essas etapas.

Quando você cria um cubo com base em tabelas de um data warehouse existente, as definições para as medidas e o grupo de medidas se materializam como parte do processo de criação do cubo. No assistente, você escolherá quais fatos e tabelas de fatos usar como base para os objetos de medidas e grupos de medidas em seu cubo.
Caixa de diálogo Nova Medida Supondo que o cubo já exista no SSDT (SQL Server Data Tools), clique duas vezes no nome do cubo no Gerenciador de Soluções para abri-lo no Designer de Cubo. No painel Medidas, clique com o botão direito do mouse no nó superior para criar um novo grupo de medidas ou novas medidas, especificando um tipo de tabela, coluna e agregação de origem. Usar essa abordagem requer que você escolha o método de agregação de uma lista fixa de funções predefinidas. Consulte Usar funções de agregação para uma discussão sobre as agregações mais usadas.
Membro calculado Os membros calculados adicionam flexibilidade e capacidade de análise a um cubo no Analysis Services porque você pode controlar quando e como eles são criados. Às vezes, você só precisa de uma medida temporariamente, durante uma sessão de usuário ou no Management Studio como parte de uma investigação.

No SSDT (SQL Server Data Tools), abra a guia Cálculos para criar um novo membro calculado.

Escolha essa abordagem ao basear uma medida em uma expressão MDX. Confira estes tópicos para obter mais informações: Criando medidas no MDX, cálculos, cálculos em modelos multidimensionais e conceitos básicos de script MDX (Analysis Services).
MDX ou XMLA No SQL Server Management Studio, você pode executar MDX ou XMLA para alterar um banco de dados para incluir uma nova medida calculada. Essa abordagem é útil para testes ad hoc de dados, depois que a solução é implantada em um servidor. Consulte Documento e Script de um Banco de Dados do Analysis Services.

Componentes de uma medida

Uma medida é um objeto com propriedades. Além de seu nome, uma medida deve ter um tipo de agregação e uma coluna de origem ou uma expressão usada para carregar a medida com dados. Você pode modificar a definição de medida definindo suas propriedades.

origem A maioria das medidas vem de colunas numéricas em tabelas de fato em um data warehouse externo, como a coluna Valor de Vendas nas tabelas Vendas e Vendas do Revendedor da Internet no data warehouse adventureworks, mas você também pode criar novas medidas com base inteiramente nos cálculos definidos.

Colunas de atributo de tabelas de dimensão podem ser usadas para definir medidas, mas essas medidas normalmente são semi-aditivas ou não aditivas em termos de seu comportamento de agregação. Para obter mais informações sobre o comportamento semiadditivo, consulte Definir Comportamento Semiadditivo.
agregação Por padrão, as medidas são somadas ao longo de cada dimensão. No entanto, a AggregateFunction propriedade permite modificar esse comportamento. Consulte Uso de Funções de Agregação para ver a lista.
Propriedades Consulte Configurar propriedades de medida para obter descrições de propriedade adicionais.

Modelagem de medidas e grupos de medidas em fatos e tabelas de fatos

Antes de executar um assistente, é útil compreender os princípios de modelagem por trás da definição de medidas.

Medidas e grupos de medidas são os objetos multidimensionais que representam fatos e tabelas factuais em um data warehouse externo. Na maioria dos casos, as medidas e os grupos de medidas serão baseados em objetos em uma exibição de fonte de dados, que, por sua vez, são criados a partir do data warehouse subjacente.

O diagrama a seguir representa a tabela de fatos FactSalesQuota e as duas tabelas de dimensão associadas a ela, DimTime e DimEmployee. No cubo de exemplo Adventure Works, essas tabelas são usadas como base do grupo de medidas Cotas de Vendas, e as dimensões Tempo e Funcionário.

Tabela FactSalesQuota com duas tabelas de dimensão

A tabela de fatos contém dois tipos básicos de colunas: colunas de atributo e colunas de medida.

  • As colunas de atributo são usadas para criar relações de chave estrangeira para tabelas de dimensão, de modo que os dados quantificáveis nas colunas de medida possam ser organizados pelos dados contidos nas tabelas de dimensão. As colunas de atributo também são usadas para definir a granularidade de uma tabela de fatos e seu grupo de medidas.

  • As colunas de medida definem as medidas contidas em um grupo de medidas.

Quando você executa o Assistente de Cubo, as chaves estrangeiras são filtradas. Na lista de colunas restantes a serem escolhidas, você verá colunas de medida, além de colunas de atributo que não são identificadas como uma chave estrangeira. No exemplo FactSalesQuote , o assistente oferecerá CalendarYear e CalendarQuarter , além de SalesAmountQuota. Somente a coluna de medida SalesAmountQuota resultará em uma medida viável para seu modelo multidimensional. As outras colunas baseadas em data existem para qualificar cada valor de cota. Você deve excluir as outras colunas, CalendarYear e CalendarQuarter, da lista de medidas no Assistente de Cubo (ou removê-las do grupo de medidas posteriormente no designer).

O ponto principal desta discussão é que nem todas as colunas oferecidas pelo assistente são úteis como métricas. Conte com sua compreensão dos dados e como eles serão usados ao decidir quais colunas usar como medidas. Lembre-se de que você pode clicar com o botão direito do mouse em uma tabela na exibição da fonte de dados para explorar os dados, o que pode ajudá-lo a identificar quais colunas usar como medidas. Confira Explorar Dados em uma Vista da Fonte de Dados (Analysis Services) para mais informações.

Observação

Nem todas as medidas são derivadas diretamente de um valor armazenado em uma coluna da tabela de fatos. Por exemplo, a medida Contagem de Pessoas de Vendas definida no grupo de medidas Cota de Vendas do cubo de exemplo adventure works é, na verdade, baseada na contagem de valores exclusivos (ou contagem distinta) na coluna EmployeeKey da tabela de fatos FactSalesQuota .

Granularidade de um grupo de medidas

Os grupos de medidas têm uma granularidade associada que se refere ao nível de detalhes suportado por uma tabela de fatos. A granularidade é definida por meio da relação de chave estrangeira com uma dimensão.

Por exemplo, a tabela de fatos FactSalesQuota tem uma relação de chave estrangeira com a tabela DimEmployee , cada registro na tabela FactSalesQuota está relacionado a um único funcionário e, portanto, a granularidade do grupo de medidas, conforme exibido na dimensão Funcionário, está no nível de funcionário individual.

A granularidade de um grupo de medidas nunca pode ser definida mais fina do que o nível mais baixo da dimensão da qual o grupo de medidas é exibido, mas a granularidade pode ser mais grosseira usando atributos adicionais. Por exemplo, a tabela de fatos FactSalesQuota usa três colunas, TimeKey, CalendarYear e CalendarQuarter, para estabelecer a granularidade da relação com a tabela DimTime. Como resultado, a granularidade do grupo de medidas, conforme exibido a partir da dimensão Tempo, é por trimestre do calendário, e não por dia, que é o nível mais baixo da dimensão Tempo.

Você pode especificar a granularidade de um grupo de medidas com relação a uma dimensão específica usando a guia Uso da Dimensão do Designer de Cubo. Para obter mais informações sobre relações de dimensão, consulte Relações de Dimensão.

Consulte Também

Cubos em Modelos MultidimensionaisMedidas e Grupos de Medidas