Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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!
Josemar, você ligou essas tabelas?
Para compreender melhor, compartilhe um qvw de exemplo com o que precisa fazer
Sim elas estão ligadas por dois campos.
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 .
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
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.
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.
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.
Boa tarde Josemar,
Vou fazer um exemplo aqui, só um momento. Logo anexarei.
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