4
respostas

Query MDX disponibilizada só retorna valores nulos.

No vídeo "Entendendo o modelo" da aula 1 do curso "Consultas Multidimensionais: MDX com SQL Server" é disponibilizado uma query MDX para retornar o faturamento líquido e a margem dos meses-anos Julho 2013 e Agosto 2013 para a Fábrica do Rio de Janeiro.

Entretanto, após executar a query, os valores retornados são nulos.

Analisando melhor, percebi que na consulta nomeada que gera o cubo COMPLETO só tem as datas 20130101, 20140101 e 20150101 (usei um select distinct pra isso), porque são só essas datas que estão presentes na tabela Fato_002.

"Resolvi" o problema trocando INNER JOIN por LEFT JOIN na consulta nomeada, e no Browser do Visual Studio pude fazer essa busca, mas o MDX disponibilizado ainda continua retornando vazio. Como tem o Inner ele não carrega para a consulta nomeada as ocorrências que não são nas datas da Fato_002.

Só consegui fazer dar certo no SQL Server usando o MDX abaixo, mas o resultado ficou diferente do professor.

({[Measures].[Faturamento Líquido], [Measures].[Margem]}) ON COLUMNS,
({[Tempo].[Hierarquia do Mês Ano].[Ano].&[2013].&[Segundo Semestre 2013].&[2013]&[02-2013]&[03-2013].&[2013]&[02-2013]&[03-2013]&[07-2013], [Tempo].[Hierarquia do Mês Ano].[Ano].&[2013].&[Segundo Semestre 2013].&[2013]&[02-2013]&[03-2013].&[2013]&[02-2013]&[03-2013]&[08-2013]}) ON ROWS
FROM [COMPLETO]
WHERE [Fábrica].[Hierarquia das Fábricas].[Nível Fabrica].&[Fábrica Rio de Janeiro]

Alguém sabe me dizer onde tá o meu erro?

4 respostas

Descobri. A minha query estava levemente diferente da do instrutor. No meu projeto uso acento para [Nível Fábrica] e na query disponibilizada não há.

Alunos: Muita atenção aos detalhes! Mantenham um padrão, usem acentos e se lembrem deles ou não usem acentos de forma alguma, isso facilita a correção de erros como esses.

Oi Gabriela tudo bem?

Na prática não usamos acentos em variáveis, nomes de tabela, colunas, campos e etc. Há uma grande chance de quando o programa rodar em um computador estrangeiro (fora do Brasil) ele não funcionar corretamente.

Espero ter ajudado!11

Oi André,

Em geral eu também não coloco acentos, espaços nem caracteres especiais por conta disso, mas no curso o próprio instrutor Victorino o faz, atribui um nome amigável aos atributos das tabelas para que a montagem do MDX fique mais fácil e intuitiva. Em geral não tem problema por caractere especial se for o nome amigável.

Mas valeu (y)

Entendi. Disponha e bons estudos!!!