SQLShack

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.

  1. 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:

    1
    2
    3
    4
    5

    selecione
    {{..}.Item(53)} em 0
    a partir de

    neste 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:

    1
    2
    3
    4
    5
    6

    selecione
    empty
    {.} colunas
    a PARTIR de

  2. 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).

    1
    2
    3
    4
    5

    selecione {.. : ..} em linhas,
    {.} colunas
    a partir de

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

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

    1
    2
    3
    4
    5

    seleccione . EM COLUNAS,
    ..CRIANÇAS EM LINHAS
    a PARTIR de

    neste 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:

    1
    2
    3
    4
    5
    6

    selecione
    {..} em 0,
    {..crianças} 1
    a PARTIR de

    Nota: 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

    1
    2
    3
    4
    5

    Seleccione . em colunas,
    ..membros em Linhas
    a Partir de

  4. 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:

    1
    2
    3
    4
    5
    6
    7

    selecione
    {..} em colunas,
    {..} nas linhas
    de
    onde {..}

    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.

  5. 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:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

    com o membro . como
    caso .
    quando 69712.49, em seguida, ‘Grande’
    quando 1045.6, em seguida, ‘Ruim’
    else ‘(normal)’
    fim
    selecione
    {.
    , .
    } em colunas
    , {..membros} on rows
    a 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
Daniel Tikvicki
Daniel é um bibliotecário que correu em um vórtice de mundo, onde ele está levitando e aprender constantemente. Ele gosta de livros, apenas todas as formas de expressão artística (sendo ele próprio músico / poeta), e é editor underground (fanzines e música experimental). Além disso, os pontos de interesse incluem teologia, mitologia e pseudociência. Daniel está atualmente trabalhando para a ApexSQL LLC como engenheiro de vendas de Software, onde é especialista para o ambiente de BI.

Daniel Tikvicki
postagens mais Recentes de Daniel Tikvicki (ver todas)
  • 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

Write a Comment

O seu endereço de email não será publicado.