Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
mirbutzke
Contributor II
Contributor II

Total possível x Total realizado

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.

Labels (2)
1 Solution

Accepted Solutions
mirbutzke
Contributor II
Contributor II
Author

Achei um modo de fazer que funcionou:

COUNT({1 < NomeDeclaracao= {$(=chr(39)&CONCAT(NomeDeclaracao, chr(39)&','&chr(39))&chr(39))} >} CodValCons)

View solution in original post

6 Replies
Anonymous
Not applicable

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



mirbutzke
Contributor II
Contributor II
Author

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.

Anonymous
Not applicable

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.

mirbutzke
Contributor II
Contributor II
Author

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?

mirbutzke
Contributor II
Contributor II
Author

Achei um modo de fazer que funcionou:

COUNT({1 < NomeDeclaracao= {$(=chr(39)&CONCAT(NomeDeclaracao, chr(39)&','&chr(39))&chr(39))} >} CodValCons)

danieldias
Contributor III
Contributor III

Miriam, favor marcar como "resposta correta"