recuperar informações de um banco de dados Tabular é fácil – basta consultá-lo com algumas funções básicas do DAX! Neste artigo, aprenderemos como consultar um modelo Tabular com algumas das expressões MDX, examinar os resultados da consulta DAX e analisar dados das tabelas.
requisitos
os pré-requisitos para consulta com MDX são SQL Server Management Studio 2014 ou superior com uma instância Tabular SSAS instalada e banco de dados de modelo Tabular SSAS implantado.
preparação do ambiente
consultar um banco de dados de modelo Tabular SSAS com MDX ocorre no SQL Server Management Studio, na janela de consulta MDX.
Expressões Multidimensionais (MDX) visão geral
MDX é expressão de linguagem, que pode consultar e analisar os dados multidimensionais em cubos OLAP (como o SSAS modelo Multidimensional de bancos de dados, por exemplo). Embora seja projetado principalmente para consultar um banco de dados de modelo Multidimensional, ele também pode consultar um banco de dados de modelo Tabular. Por outro lado, as funções DAX não podem consultar bancos de dados de modelos multidimensionais, porque as expressões de consulta DAX são específicas para Bancos de dados de modelos tabulares.
estruturalmente, MDX incorpora sintaxe especificada XMLA. Como é semelhante ao T-SQL, algumas instruções DDL estão presentes, que podem gerenciar e organizar construções de dados multidimensionais. Isso se aplica apenas aos bancos de dados de modelos multidimensionais SSAS.
em relação à complexidade, os principais tipos de expressões MDX São: constante (numérica, string etc.), escalar e orientado a objetos. Esses tipos se combinam em expressões complexas correspondentes a instruções e funções MDX.
ao falar em consultar um banco de dados de modelo Tabular SSAS, as expressões neste artigo são combinadas do tipo escalar/constante, como expressões de Cubo simples. Essas expressões só recuperam dados de um cubo Tabular, mostram os resultados na(S) coluna (S), solicitam dados e os preparam para análises posteriores.
consultar o banco de dados de modelo Tabular SSAS com MDX
no início da maioria das consultas MDX é SELECT statement, seguido de uma instrução FROM. É muito semelhante ao T-SQL (como oposição a instrução de Avaliar em DAX):
1
2
3
|
selecione a partir de
|
Esta consulta é o mais simples, e ele retorna o valor 1 (“true”). Isso significa que o banco de dados Tabular AW está presente.
selecionando o nome do produto da tabela da tabela do produto, selecione a instrução em T-SQL se parece com isso:
1
2
3
|
SELECIONE dbo.Nome DO Produto
|
A instrução correspondente escrito em MDX, seria, logicamente:
1
2
3
4
5
|
selecione
{..}
a partir de
|
Observe as chaves {}, que são os operadores como o parêntese no DAX. Eles encerram as instruções e tornam possível adicionar complexidade na escrita de consultas. As consultas MDX não diferenciam maiúsculas de minúsculas, como as consultas DAX.
Esta consulta seria recuperar coluna Nome do Produto e a tabela de Produtos da AW Tabular cubo, mas em vez de mostrar a única coluna, ele gera um erro de execução:
A principal razão está no tipo de modelo de banco de dados e sintaxe: Os bancos de dados de modelos multidimensionais e tabulares têm dimensões, como conceito crucial, mas o MDX em sua sintaxe reconhece colunas, linhas e outros elementos (específicos para Bancos de dados multidimensionais) como eixos em consulta – imagine-os como eixos x, y, z em um modelo de cubo 3D.
Quando consultar um SSAS Tabular modelo de banco de dados, MDX deve reconhecer, no mínimo, dois eixos: a colunas e linhas, para mostrar os dados corretamente:
1
2
3
4
5
6
|
selecione
{..} em colunas,
{..} on rows
a partir de
|
Agora, temos um conjunto de eixos em consulta, e seu resultado mostra:
Como pode ser visto, todos os valores da coluna Nome do Produto mostra em colunas no resultado, e as linhas mostram o correspondente anos (no Ano Fiscal de coluna) e o número de itens (no caso, peças de bicicleta). Portanto, em vez de três eixos na consulta MDX, ao consultar um banco de dados de modelo Tabular SSAS, apenas dois eixos são suficientes para recuperar dados.
este exemplo consulta a mesma tabela dentro de ambos os eixos:
1
2
3
4
5
6
|
selecione
{..} em colunas,
{..} on rows
a partir de
|
O resultado da consulta mostra:
O valor “1” significa “verdade”, neste caso, e o valor “(nulo)” significa que não existem dados relacionados dentro do Padrão de Custo de coluna.
-
a Visualização de determinado valor (item) coluna especificada e NÃO VAZIO de função
Com o MDX, é possível ver o único valor de coluna no modelo de Tabela de banco de dados:
12345selecione{{..}.Item(53)} em 0a partir deneste exemplo, o resultado mostra a 53ª item (random escolheu) a partir do Modelo de Nome de coluna. Observe o eixo definido “em 0″ – em vez de definir” colunas “(veremos em outros exemplos) ou” linhas”, esse valor único é colocado no início inicial da visualização tabular do resultado da consulta.
Com a inclusão da NÃO função VAZIA, único valor calculado a partir da medida (Internet Total de Vendas) apresenta:
123456selecioneempty{.} colunasa PARTIR de -
Tupla função
Tupla é especificado o conjunto de dados, uma combinação de dois ou mais membros de dimensão (neste caso, dois valores da coluna de Ano).
12345selecione {.. : ..} em linhas,{.} colunasa partir deObserve os valores especificados a partir do Ano de coluna tornando o intervalo de anos, e os valores correspondentes da Internet Margem Total no resultado da consulta.
-
crianças e expressão de membro
esta expressão mostra o conjunto de dados que está relacionado a colunas ou medidas especificadas. Normalmente, esse conjunto de Valores está se apresentando como filhos ou membros, e está relacionado à hierarquia. Eles são ordenados hierarquicamente no resultado da consulta.
12345seleccione . EM COLUNAS,..CRIANÇAS EM LINHASa PARTIR deneste caso, o Internet Frete Total medida é baseada no cálculo com Frete coluna, e assim, eles podem combinar.
observe que as chaves não estão presentes na consulta, mas a consulta ainda é válida sem elas.
Para mostrar apenas os valores de uma coluna desejada com os FILHOS de expressão, em correspondência com um não-relacionados com a coluna, use esta consulta:
123456selecione{..} em 0,{..crianças} 1a PARTIR deNota: nesta expressão, em 0 representa em colunas e, em 1 significa em linhas de eixo.
Aqui está mais um exemplo usando a expressão do MEMBRO
12345Seleccione . em colunas,..membros em Linhasa Partir de -
cláusula WHERE
Adição da cláusula WHERE é o único caminho para filtrar dados específicos a partir de uma tabela, e é semelhante à cláusula WHERE em T-SQL:
1234567selecione{..} em colunas,{..} nas linhasdeonde {..}O valor do País, Região da coluna Nome, “França” está relacionada com a coluna Cidade na tabela de Geografia, e a consulta incluído no resultado somente cidades da França.
a instrução WHERE é na verdade o eixo slicer, que adiciona uma dimensão extra em bancos de dados de modelos multidimensionais e tabulares.
-
expressão de caso
esta expressão é uma comparação baseada na ordem lógica dos elementos, que retorna um resultado de consulta.
neste exemplo, crie uma nova medida chamada visão geral do valor de vendas correspondente a um intervalo de valores especificado da medida de vendas totais da Internet:
123456789101112131415com o membro . comocaso .quando 69712.49, em seguida, ‘Grande’quando 1045.6, em seguida, ‘Ruim’else ‘(normal)’fimselecione{., .} em colunas, {..membros} on rowsa partir de
espero que tenha gostado deste artigo, e feliz consultar um SSAS Tabular modelo de banco de dados com o MDX!
- Usando o Cubo e Subcubo Expressões
- Linguagem MDX Referência (MDX)
- Consulta MDX Fundamentos (Analysis Services)
- Autor
- Posts Recentes
- Como monitorar o SQL Server banco de dados tempdb – 6 de julho de 2017
- Como total de monitor de SQL Server índices tamanho – 12 de junho de 2017
- Como definir e usar criptografada ligações de SQL Server – Pode 8, 2017