Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Antes de usar MDX (Expressões Multidimensionais) para consultar dados multidimensionais ou criar expressões MDX em um cubo, ele ajuda a entender conceitos e termos multidimensionais.
O melhor lugar para começar é com um exemplo de resumo de dados que você já conhece e veja como o MDX se relaciona com ele. Aqui está uma Tabela Dinâmica criada no Excel, preenchida com dados de um cubo de exemplo do Analysis Services.
Medidas e Dimensões
Um cubo do Analysis Services consiste em medidas, dimensões e atributos de dimensão, todos evidentes no exemplo de Tabela Dinâmica.
As medidas são valores de dados numéricos encontrados em células, agregados como soma, contagem, percentual, mínimo, máximo ou média. Os valores de medida são dinâmicos, calculados em tempo real, em resposta à navegação do usuário e à interação com a Tabela Dinâmica. Neste exemplo, as células mostram Valores de Vendas do Revendedor que aumentam ou diminuem com base em se você expande ou recolhe os eixos. Para qualquer combinação de Data (ano, trimestre, mês ou data) e Território de Vendas (Grupo de Países, País, Região), você pode obter um Valor de Vendas do Revendedor, resumido para esse contexto específico. Outros termos que são sinônimos de medidas são fatos (em data warehouses) e campos calculados (em modelos de dados tabulares e do Excel).
As dimensões estão nos eixos de coluna e linha de uma Tabela Dinâmica, fornecendo o significado por trás da medida. As dimensões são análogas a Tabelas em um modelo de dados relacional. Exemplos comuns de uma dimensão incluem Tempo, Geografia, Produtos, Clientes, Funcionários e assim por diante. Este exemplo tem duas dimensões, Território de Vendas nas linhas e Data na parte superior, mas você pode facilmente arrastar e soltar outras dimensões associadas às Vendas do Revendedor, como Promoções ou Produtos, para exibir o desempenho de vendas ao longo dessas dimensões. Sua capacidade de explorar dados de maneiras interessantes depende das dimensões criadas e se elas estão relacionadas a tabelas de fatos em sua fonte de dados.
Os atributos de dimensão são os itens nomeados dentro de uma dimensão, semelhantes às colunas em uma tabela. Neste exemplo, os atributos da dimensão Território de Vendas consistem em Grupo de Países (Europa, América do Norte, Pacífico), País (Canadá, Estados Unidos) e Região (Central, Nordeste, Noroeste, Sudeste, Sudoeste).
Cada atributo tem uma coleção de valores de dados ou membros associados a ele. Em nosso exemplo, os membros do atributo Country Group são Europa, América do Norte e Pacífico. Os membros referem-se aos valores de dados reais que pertencem a um atributo.
Observação
Um aspecto da modelagem de dados é formalizar os padrões e relações que já existem dentro dos próprios dados. Ao trabalhar com dados que se enquadram em uma hierarquia natural, como é o caso de países-regiões-cidades, você pode formalizar essa relação criando uma relação de atributo. Uma relação de atributo é uma relação um-para-muitos entre atributos, por exemplo, uma relação entre um estado e uma cidade - um estado tem muitas cidades, mas uma cidade pertence a apenas um estado. A criação de relações de atributo no modelo acelera o desempenho da consulta, portanto, é uma prática recomendada criá-las se os dados derem suporte a ela. Você pode criar uma relação de atributo no Designer de Dimensão nas Ferramentas de Dados do SQL Server. Consulte Definir Relações de Atributo.
No Excel, os metadados de modelo aparecem na lista de campos da Tabela Dinâmica. Compare a Tabela Dinâmica acima com a lista de campos abaixo. Observe que a lista de campos contém Território de Vendas, Grupo, País, Região (metadados), enquanto a Tabela Dinâmica contém apenas os membros (valores de dados). Saber a aparência dos ícones pode ajudá-lo a relacionar facilmente as partes de um modelo multidimensional a uma Tabela Dinâmica no Excel.
Lista de de
Hierarquias de Atributos
Quase sem ter que pensar nisso, você sabe que os valores em uma Tabela Dinâmica vão para cima ou para baixo à medida que você expande e recolhe os níveis ao longo de cada eixo, mas por que isso acontece? A resposta está nas hierarquias de atributo.
Colapsar todos os níveis e observar os totais gerais para cada Grupo de Países e Ano Calendário. Esse valor é derivado de algo chamado membro (Todos) dentro de uma hierarquia. O membro (All) é o valor calculado de todos os membros em uma hierarquia de atributos.
O valor total para todos os Grupos de Países e Datas combinados é de R$80,450,596.98
O membro (All) para CY2008 é $16.038.062,60
O membro (Todos) da região do Pacífico tem um valor de R$ 1.594.335,38
Agregações como essa são previamente computadas e armazenadas com antecedência, o que faz parte do segredo para melhorar o desempenho de consulta do Analysis Services.
Expanda a hierarquia e, eventualmente, você chega ao nível mais baixo. Isso chama-se membro folha. Um membro folha é membro de uma hierarquia que não tem filhos. Neste exemplo, a Austrália é o membro folha.
Qualquer coisa acima é conhecida como membro pai. Pacific é o pai da Austrália.
Componentes de uma hierarquia de atributos
Juntos, todos esses conceitos se baseiam no conceito de uma hierarquia de atributos. Uma hierarquia de atributos é uma árvore de membros de atributo que contém os seguintes níveis:
Um nível folha que contém cada membro de atributo distinto; cada membro desse nível também é conhecido como membro folha.
Níveis intermediários se a hierarquia de atributos for uma hierarquia pai-filho (mais sobre isso posteriormente).
Um membro (All) que contém o valor agregado de todos os atributos filho. De forma opcional, você pode ocultar ou desativar o nível (Todos) quando não fizer sentido para os dados. Por exemplo, embora o Código do Produto seja numérico, não faria sentido somar ou média ou agregar todos os Códigos do Produto.
Observação
Os desenvolvedores de BI geralmente definem propriedades na hierarquia de atributos para obter determinados comportamentos em aplicativos cliente ou obter determinados benefícios de desempenho. Por exemplo, você definiria AttributeHierarchyEnabled=False em atributos para os quais o membro (All) não faz sentido. Como alternativa, talvez você simplesmente queira ocultar o membro (All), nesse caso, você definiria AttributeHierarchyVisible=False. Consulte a Referência de Propriedades do Atributo de Dimensão para obter mais detalhes sobre as propriedades.
Hierarquias de navegação
Na Tabela Pivot (pelo menos neste exemplo), os eixos de linha e coluna se expandem para mostrar os níveis mais baixos dos atributos. Uma árvore expansível é obtida por meio de hierarquias de navegação que você cria em um modelo. No modelo de exemplo AdventureWorks, a dimensão Território de Vendas tem uma hierarquia de vários níveis que começa com um Grupo de País, seguido por País, seguido por Região.
Como você pode ver, hierarquias são usadas para fornecer um caminho de navegação em uma Tabela Dinâmica ou outros objetos de resumo de dados. Há dois tipos básicos: balanceados e desequilibrados.
Hierarquias equilibradas
|
Uma hierarquia equilibrada é uma hierarquia na qual o mesmo número de níveis existe entre o nível superior e qualquer membro folha. Uma hierarquia natural é aquela que emerge naturalmente dos dados subjacentes. Um exemplo comum é Country-Region-State ou Year-Month-Date ou Category-Subcategory-Model, em que cada nível subordinado flui previsivelmente do pai. Em um modelo multidimensional, a maioria das hierarquias são hierarquias equilibradas e muitas delas também são hierarquias naturais. Outro termo de modelagem relacionado é um user-defined hierarchy, geralmente usado como um contraste com hierarquias de atributo. Isso significa simplesmente uma hierarquia criada pelo desenvolvedor de BI, em vez de hierarquias de atributo que são geradas automaticamente pelo Analysis Services quando você define um atributo. |
Hierarquias desbalanceadas
|
Uma hierarquia esfarrapada ou hierarquia desbalanceada é uma hierarquia na qual existem diferentes números de níveis entre o nível superior e os membros folha. Novamente, é uma hierarquia criada pelo desenvolvedor de BI, mas nesse caso há lacunas nos dados. No modelo de exemplo AdventureWorks, o Território de Vendas ilustra uma hierarquia desigual porque os Estados Unidos têm um nível adicional (Regiões) que não existe para outros países neste modelo. Hierarquias esfarrapadas são um desafio para os desenvolvedores de BI se o aplicativo cliente não lidar com hierarquias esfarrapadas de maneira elegante. No modelo do Analysis Services, você pode criar uma hierarquia pai-filho que define explicitamente uma relação entre dados de vários níveis, eliminando qualquer ambiguidade sobre como um nível se relaciona com o próximo. Consulte Parent-Child Hierarquia para obter detalhes. |
Atributos de chave
Os modelos são uma coleção de objetos relacionados que dependem de chaves e índices para fazer as associações. Os modelos do Analysis Services não são diferentes. Para cada dimensão (lembre-se de que é equivalente a uma tabela em um modelo relacional), há um atributo de chave. O atributo de chave é usado em relações de chave estrangeira para a tabela de fatos (grupo de medidas). Todos os atributos não chave na dimensão são vinculados (direta ou indiretamente) ao atributo de chave.
Muitas vezes, mas nem sempre, o atributo chave também é o Atributo de Granularidade. Granularidade refere-se ao nível de detalhes ou precisão dentro dos dados. Novamente, um exemplo comum oferece o caminho mais rápido para a compreensão. Considere valores de data: para vendas diárias, você precisa de valores de data especificados ao dia; para cotas, trimestrais podem ser suficientes, mas se seus dados analíticos consistirem em resultados de corrida de um evento esportivo, a precisão pode muito bem precisar ser em milissegundos. O nível de precisão em seus valores de dados é a granularidade.
Moeda é outro exemplo: um aplicativo financeiro pode acompanhar valores monetários para muitas casas decimais, enquanto a arrecadação de fundos da sua escola local pode precisar apenas de valores para o dólar mais próximo. Entender a granulação é importante porque você deseja evitar o armazenamento de dados desnecessários. Cortar milissegundos de um carimbo de data/hora ou centavos de um valor de vendas pode economizar tempo de armazenamento e processamento quando esse nível de detalhes não for relevante para sua análise.
Para definir o atributo de granularidade, use a guia Uso da Dimensão no Designer de Cubo no SQL Server Data Tools. No modelo de exemplo AdventureWorks, o atributo chave da dimensão Data é a chave de data. Para Pedidos de Vendas, o atributo de granularidade é equivalente ao atributo de chave. Para Destinos de Vendas, o nível de granularidade é trimestral e, portanto, o atributo de granularidade é definido como Trimestre de Calendário, de acordo.
Observação
Se o atributo granularidade e o atributo de chave forem diferentes, todos os atributos não chave deverão ser vinculados, direta ou indiretamente, ao atributo de granularidade. Dentro de um cubo, o atributo de granularidade define a granularidade de uma dimensão.
Escopo da consulta (espaço em cubo)
O escopo de uma consulta refere-se aos limites nos quais os dados estão sendo selecionados. Ele pode variar de todo o cubo (um cubo é o maior objeto de consulta) a uma célula.
O espaço do cubo é o produto dos membros das hierarquias de atributo de um cubo com as medidas do cubo.
Subcubo é um subconjunto de um cubo que representa uma exibição filtrada do cubo. Os subcubos podem ser definidos com uma instrução Scope no script de cálculo MDX ou em uma cláusula de subseleção em uma consulta MDX ou como um cubo de sessão.
Célula refere-se ao espaço na interseção de um membro da dimensão de medidas e um membro de cada hierarquia de atributo em um cubo.
Outros termos de modelagem
Esta seção é uma coleção de conceitos e termos que não se encaixam facilmente em outras seções, mas você ainda precisa saber.
Membro calculado é um membro de dimensão definido e calculado no momento da consulta. Um membro calculado pode ser definido em uma consulta de usuário ou no script de cálculo MDX e armazenado no servidor. Um membro calculado corresponde a linhas na tabela de dimensão da dimensão na qual ele é definido.
Distinct Count é um tipo especial de medida usado para itens de dados que só devem ser contados uma vez. O modelo de exemplo, AdventureWorks, inclui medidas de contagem distintas para Pedidos de Internet, Pedidos de Revendedor e Ordens de Venda.
Grupos de medidas são uma coleção de uma ou mais medidas. Na maioria das vezes, elas são definidas pelo usuário e você as usa para manter as medidas relacionadas juntas. Medidas de contagem distinta são uma exceção. Eles são sempre colocados em um grupo de medidas dedicado que contém apenas a medida distinta. Você não pode ver o grupo de medidas na ilustração de exemplo de Tabela Dinâmica, mas ele aparece em uma lista de campos de Tabela Dinâmica, como uma coleção nomeada de medidas.
Dimensão de medidas é a dimensão que contém todas as medidas em um cubo. Ele não está exposto em um modelo multidimensional que você cria no SQL Server Data Tools, mas ele existe da mesma forma. Como ela contém medidas, todos os membros de uma dimensão de medidas normalmente são agregados (geralmente por soma ou por contagem).
Dimensões de banco de dados e dimensões de cubo. Em um modelo, você pode definir dimensões autônomas que são incluídas em qualquer número de cubos no mesmo modelo. Quando você adiciona uma dimensão a um cubo, ela é chamada de dimensão de cubo. Por si só em um projeto, como um item autônomo no Pesquisador de Objetos, ele é chamado de dimensão de banco de dados. Por que fazer a distinção? Porque você pode definir propriedades nelas de forma independente. Na documentação do produto, você verá os dois termos usados, portanto, vale a pena entender o que eles significam.
Próximas etapas
Agora que você tem uma compreensão de conceitos e terminologia importantes, você pode continuar nestes tópicos adicionais que explicam ainda mais os conceitos fundamentais no Analysis Services:
Consulte Também
Espaço em Cubo
Tuplas
Autoexists
Trabalhando com membros, tuplas e conjuntos (MDX)
Totais visuais e totais não visuais
Conceitos básicos da consulta MDX (Analysis Services)
Conceitos básicos de script MDX (Analysis Services)
Referência de linguagem MDX (MDX)
Referência de expressões multidimensionais (MDX)