Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Contar Valores

Bom dia, pessoal!

Sou muito novo no mundo do BI e se vocês pudessem me ajudar com algumas dúvidas que estão surgindo, eu ficaria muito agradecido.

Eu usei dois arquivos para importar dados para o Qlik, depois criei dois objetos gráficos do tipo tabela. minha dúvida é a seguinte em uma das tabelas eu preciso contar quantos registros eu tenho na outra dada três condições. Eu usei o "count", usei também o "count" com "if", mas o resultado retornado é sempre a quantidades de itens resultantes do filtro da outra tabela.

Vou ver se consigo exemplificar.

Tabela 1                                          Tabela 2

Item 1 | Item 2 | Item 3 | Item 4                  Item 1.1 | Item 2.1 | Item 3.1

aaa     | 111     | 222      | ?                            aaa        | 111       | 000                       

bbb     | 222     | 333      | ?                           bbb        | 222       | 000

aaa     | 111     | 333      | ?                            aaa        | 111       | 000

ddd     | 444     | 333     | ?

aaa     | 222     | 444     | ?

Nesse caso a coluna "Item 4" é calculada, e precisa retornar o valor da contagem feita na tabela 2, condicionada as colunas 1 e 2 da tabela 1. nesse caso a linha 1 receberia 2, a linha 5 retornaria 0 e etc.

Obrigado!

10 Replies
nicolett_yuri

Josemar, você ligou essas tabelas?

Para compreender melhor, compartilhe um qvw de exemplo com o que precisa fazer

Not applicable
Author

Sim elas estão ligadas por dois campos.

Not applicable
Author

Apresentação1.jpg

maiconmello
Creator III
Creator III

Nesse caso faria assim :

Load Item 1 &  Item 2  as PK_Item, * from tabela1 ;

Left join

//obs: Cria o número 1 para cada linha que encontrar.

Load Item 1.1 & Item 2.1  as PK_Item, 1 as identificador from tabela2;

Na sua expressão você da o sum(Identificador) com as dimensões Item 1 , Item 2 .

TiagoCardoso
Creator II
Creator II

Josemar, boa tarde.


Sugestão:

Como obter ajuda? Leia antes de postar

Seu problema está bem simples, mas lá vai uma dica:

Use apenas um campo para fazer ligação (relação) entre tabelas.

Caso as tabelas tenham de ter dois campos iguais (com mesmo valor), ou você renomeia para que não crie chave sintética, ou você usa JOIN para unir as tabelas, podendo assim, usar o algum identificar único para tais dados agregados em uma tabela, exemplo:

Tab1:

LOAD

    ID,

    field1,

    field2,

    'Tabela_1'    AS Idenficador

FROM [..]

JOIN (Tab1)

LOAD

    ID,

    field1.1,

    field2.2,

    'Tabela_2'    AS Idenficador

FROM [..]

Os campos ID e Identificador formaria uma chave sintética, e para resolver isso eu uni as tabelas.

NOTA: Suas tabelas (print) têm chave sintética, e até onde eu sei, isso gera um cálculo errado de valores e deixa a aplicação menos rápida.

Retomando: Dentro da aplicação você põe um campo de texto mesmo, com um COUNT simples para contar o número de registros de cada tabela, tendo como referência o Identificador que foi 'setado' para ela, na hora do JOIN.

No exemplo eu usei SetAnalisys, não sei se você conhece, mas poupa um tempo meu amigo...

Outra sugestão:

Manual Set Analysis Completo em Português BR‌.

Anexo também documento de exemplo.

Espero que tenha sido útil,

Att,

Tiago Cardoso

TiagoCardoso
Creator II
Creator II

Nota: Não Usei a palavra reservada JOIN, mas quando os campos têm mesmo nome e não possuem abaixo da declaração de nova tabela a palavra reservada NoConcatenate, ele automaticamente junta os campos carregados com os campos da tabela acima que têm os mesmos nomes.

Not applicable
Author

Bom tarde!

Maicon e Tiago! obrigado pela atenção.

Demorei de responder, porque estava tentando fazer como vocês indicaram, mas não deu certo, maicon no seu caso o programa informava que não era possível encontrar os campos, mesmo fazendo alguns ajustes, até conseguir fazer a contagem, mas em alguns casos veio zerado e não conseguir resolver. Tiago do jeito que você indicou o programa travou tentando concatenar tudo mais de 300.000 registros na tabela, só um dia, então não deu para tentar, e outra coisa que fiquei em dúvida, se o conteúdo é diferente porque iria concatenar.

Fiz no excel como teria que ser.

aaa.jpg

o que eu queria era isso aí, na coluna "E" conta-se quantas vezes o registro é encontrado na segunda tabela, obedecendo a dois critérios, o modelo e ano. Observe que o modelo gol tem duas variações na primeira tabela "Gol 2014" e "Gol 2015". o Gol 2014 não consta essa combinação na segunda tabela por isso retornou 0, já o Gol 2015 retornou 2.

Se alguém poder me ajudar, agradeço.

TiagoCardoso
Creator II
Creator II

Boa tarde Josemar,

Vou fazer um exemplo aqui, só um momento. Logo anexarei.

TiagoCardoso
Creator II
Creator II

Boa Noite Josemar,

Segue anexo um exemplo com os dados que você deu de exemplo.

Conferi e bateu.

Espero que lhe seja útil.

Att,

Tiago Cardoso