Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia,
Estou tentando fazer uma análise no Sense onde liste os totais possíveis de validações de um determinado documento e a quantidade de validações que realmente ocorreram. A minha tabela fato traz no campo CodValCons as validações que efetivamente ocorreram, e na minha tabela de dimensão ValidacoesConsulta eu tenho todas as validações (CodvalCons2) cadastradas para cada tipo de declaração (CodDeclaracaoVlCo).
No exemplo, para a declaração 55 existem 3463 validações possíveis. No qlikview ele até mostra o total certo porém ele deixa em duas linhas. A ideia era montar uma fórmula onde ele exibisse o total em uma linha apenas. Até tentei com set analysis e as funções P e E com um código fixo para ver se deixava numa linha apenas, mas não deu certo. No qlik sense mesmo eu marcando exibir valores nulos e zero ele apenas exibe o que está vinculado na tabela fato.
Alguém sabe como resolver essa questão?
Obrigada.
Achei um modo de fazer que funcionou:
COUNT({1 < NomeDeclaracao= {$(=chr(39)&CONCAT(NomeDeclaracao, chr(39)&','&chr(39))&chr(39))} >} CodValCons)
Bom dia Miriam,
Eu faria o seguinte criaria primeiro uma chave CodValConsComposto + CodDeclaracao ligando a tabela fato a ValidacoesConsulta, depois ligaria a tabela Declaracoes a tabela ValidacoesConsulta e não a Fato ( Por que isso? pois é na ValidacoesConsulta que você tem sempre todas as validações... Certo? ...Então não haverá problemas da ValidacoesConsulta fazer a "ponte" entre a fato e as declarações, pois todas as chaves "CodValConsComposto + CodDeclaracao" que existirem na fato tbm existirão na ValidacoesConsulta .... Usando esse mesmo raciocínio se usarmos o cenário inverso, a fato como ponte, pode existir casos de ter a chave na ValidacoesConsulta e não ter na Fato, fazendo com que essa ligação não chegue até a tab Declaracoes ... Não sei se fico um pouco confuso rs mas é isso ai.)
Fato -> ValidacoesConsulta -> Declaracoes
* Pra criar chave entre 2 campos, eu geralmente faço da seguinte maneira:
CodValConsComposto &'|'&CodDeclaracao as chave_validacao
Oi Rodrigo,
Obrigada pela resposta. Então, a modelagem ligando Declaracoes a fato é para seguir o padrão estrela do Qlik. No início do projeto a dimensão ValidacoesConsulta não possuía as colunas CodvalCons2 e CodDeclaracaoVlCo pois não foi previsto uma análise que precisasse do total de validações apenas o ocorrido e demais variáveis/dimensões que não estão no exemplo. Logo a ideia era tentar adicionar o total sem mexer na estrutura estrela.
Você pode juntar as tabelas ValidacoesConsulta e Declaracoes através do CodDeclaracao , assim não fugiria do modelo estrela e Ligar a fato pela chave que eu citei.
Você ta tentando usar CodDeclaracaoVlCo junto com NomeDeclaracao, esses campos não tem uma ligação entre eles por isso fica dividido.
Boa tarde Rodrigo,
Beleza, alterando a ligação das tabelas eu não tenho mais a divisão com o valor nulo.
Agora na questão do total, eu preciso exibir o valor de 3463 que seria o total de registros possíveis(no caso da declaração 55), a fórmula apenas com um count vai ser influenciada pelos meus filtros. Se eu adicionar um all <NomeDeclaracao> ele exibe todas as declarações. Estou olhando as maneiras de usar o set analysis para montar uma regra onde ele exiba os totais de validações que estão ligadas ao código da validação. Se o usuário escolher a declaração 55 precisa exibir apenas a linha com esta declaração e o seu total sem levar em consideração demais filtros que possam estar selecionados. Até agora não cheguei a uma fórmula que funcione. Saberia como resolver essa questão?
Achei um modo de fazer que funcionou:
COUNT({1 < NomeDeclaracao= {$(=chr(39)&CONCAT(NomeDeclaracao, chr(39)&','&chr(39))&chr(39))} >} CodValCons)
Miriam, favor marcar como "resposta correta"