Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Ola a todos,
Tenho dua planilhas que eu importei no Qlik sense, em uma planilha tenho só o numero do pedido e a quatidade de pedidos feitos (nome desta planilha WMS), e na planilha cliente eu tenho o mesmos numero de pedido mas tenho tambem o valor de cada pedido, eu preciso de um KPI no Qlik sense somando o valor de cada pedido que esta na base cliente se na planilha do WMS a coluna quantidade de pedidos feito for maior que 0
Meu KPI seria só com o total que neste caso seria R$18.069,00
e não posso fazer no excel porque estas planilha ja vão vir diretamente do sistema.
no excel eu faço essa formula: =SE(B2>0;SOMASES(Cliente!B:B;Cliente!A:A;WMS!A2);0)
no microsoft power bi eu faço assim:
na tabela adiciono uma nova coluna e faço a seguinte formula:
Bom dia
"Script de carga"
[Cliente]:
LOAD
[Pedido],
[Valor]
FROM [lib://Downloads/Cliente.xlsx]
(ooxml, embedded labels, table is Cliente);
[WMS]:
LOAD
[Pedido] AS [Pedido],
[Total de pedidos feito]
FROM [lib://Downloads/WMS.xlsx]
(ooxml, embedded labels, table is WMS);
Set
Sum({<[Total de pedidos feito]={">0"}>} Valor)
Olá Jeovanilton,
Teria que entender como está sua ligação entre as tabelas, se estiver tudo correto, você faria como no Excel ou no PW.
tenta assim:
sum(if([Total de pedidos feito]>0,[Valor do pedido],0))
Muito obrigado pelo retorno!
No meu caso a coluna Valor do pedido da planilha wms não vai ter, quando faço a exportação do sistema não vem esta coluna, o valor só vai ter na planilha Cliente. teria que adicionar uma coluna na tabela wms puxando o valor da tabela cliente, mas tambem não sei como fazer isso no Qlik ja tentei adicionar um campo calculado mas não deu certo.
Como está seu script de carga?
você vai precisar adicionar um campo chave, utilizando o cliente para linkar as duas tabelas.
se conseguir postar o script de carga que está usando, posso tentar te ajudar.
Esse?
Set dataManagerTables = '','Cliente','WMS';
//This block renames script tables from non generated section which conflict with the names of managed tables
For each name in $(dataManagerTables)
Let index = 0;
Let currentName = name;
Let tableNumber = TableNumber(name);
Let matches = 0;
Do while not IsNull(tableNumber) or (index > 0 and matches > 0)
index = index + 1;
currentName = name & '-' & index;
tableNumber = TableNumber(currentName)
matches = Match('$(currentName)', $(dataManagerTables));
Loop
If index > 0 then
Rename Table '$(name)' to '$(currentName)';
EndIf;
Next;
Set dataManagerTables = ;
Unqualify *;
[Cliente]:
LOAD
[Pedido],
[Valor]
FROM [lib://Downloads/Pedidos.xlsx]
(ooxml, embedded labels, table is Cliente);
[WMS]:
LOAD
[Pedido],
[Total de pedidos feito]
FROM [lib://Downloads/Pedidos.xlsx]
(ooxml, embedded labels, table is WMS);
O seu campo chave entre as tabelas é o "Pedido" correto?
Se sim, remove a linha "Unqualify *;"
Automaticamente o Qlik vai fazer a ligação entre as tabelas pela coluna Pedido, por ter o mesmo nome de campo entre as duas.
Caso não conseguir, encaminha os dois arquivos que monto um modelo de exemplo pra ti
sim, o campo chave entre as tabelas é o pedido.
eu retirei o "Unqualify *;" deu certo para tabela mas para vizualização de KPI não deu certo.
No KPI teria que aparecer o total e não apareceu, eu usei a sefuinte formula if ([Total de pedidos feito]>0,Sum(total Valor),0)
Bom dia
"Script de carga"
[Cliente]:
LOAD
[Pedido],
[Valor]
FROM [lib://Downloads/Cliente.xlsx]
(ooxml, embedded labels, table is Cliente);
[WMS]:
LOAD
[Pedido] AS [Pedido],
[Total de pedidos feito]
FROM [lib://Downloads/WMS.xlsx]
(ooxml, embedded labels, table is WMS);
Set
Sum({<[Total de pedidos feito]={">0"}>} Valor)
Muito obrigado era isso mesmo que eu queria, agora deu certo, ajudou muito!