Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá pessoal, como eu faço para pegar uma informação mais atual, usando como base a data? Por exemplo:
Tenho vários clientes e dentro desses vários clientes, datas:
Cliente | Cidade | Data | HistoricoNota |
A&S | Jaguariúna | 28/01/2021 | 10 |
Nestlé | Jaguariúna | 02/02/2021 | 10 |
Nestlé | São Paulo | 15/03/2021 | 5 |
Nestlé | Araçatuba | 16/03/2021 | 5 |
No caso, eu quero a informação da "HistoricoNota" sempre a mais atual possível (não me importa se a nota é maior ou menor, só quero que seja a mais atual possível).
Como eu faria isso no qlik?
Porque eu só sei trazer o MAX(HistoricoNota) , mas não consigo a informação mais atual.
Bom dia.
Pode tentar:
FIRSTSORTEDVALUE(DISTINCT HistoricoNota, -Data)
Não esqueça do sinal de menos, para mudar a clasificação para o mais recente.
Boa noite, esse erro é porque você está tentando utilizar uma função de agregação para fazer determinado filtro.
Faça na carga do script, vai simplificar sua vida.
TABELA1:
LOAD *, FIRSTSORTEDVALUE(DISTINCT historico_saude_clientes, -datas_historico) AS Histório
FROM ...
GROUP BY (precisa colocar porque esa função é de agregaçao);
TABELA2:
LOAD *, IF(Histório <=0.5, 'Baixa'....) AS Campo
RESIDENT TABELA1;
Eu coloquei o * para simular, pois eu não sei quais campos existem no seu modelo.
O intuito não era atrapalhar.
Tira o * e coloca explicitamente seus campos, ainda mais porque é carga de planilha, e já algumas vezes percebi que isso não funciona.
Faz exatamente igual a um SQL com o group by no final
TABELA1_teste:
LOAD nome_matriz,org_city, FIRSTSORTEDVALUE(DISTINCT saude_capex, -data_historico) AS Histório_saude_capex
FROM [lib://Compartilhado:OneDrive - marcelo/Qlik Sense/Clientes CAPEX/Histórico Saúde - CAPEX.xlsx]
(ooxml, embedded labels, table is [Clientex CAPEX])
GROUP BY nome_matriz,org_city;
Foi ignorância minha! Eu deveria ter primeiro testado isso, eu nem sabia que dava para colocar isso no script.
Muito obrigado pela dica, farei isso!
Bom dia.
Pode tentar:
FIRSTSORTEDVALUE(DISTINCT HistoricoNota, -Data)
Não esqueça do sinal de menos, para mudar a clasificação para o mais recente.
Muitíssimo obrigado!!!!! Deu certo!
Amigo, será que você conseguiria me ajudar com mais uma coisa?
Estou tentando fazer um filtro com os valores, da seguinte forma:
IF (
FIRSTSORTEDVALUE(DISTINCT historico_saude_clientes, -datas_historico) <= 0.5, 'Baixa',
IF (
FIRSTSORTEDVALUE(DISTINCT historico_saude_clientes, -datas_historico) <= 0.8, 'Media','Alta'))
Porém ao inserir isso no filtro, estou recebendo o erro de dimensão inválida. Tem como eu usar isso em um filtro?
Boa noite, esse erro é porque você está tentando utilizar uma função de agregação para fazer determinado filtro.
Faça na carga do script, vai simplificar sua vida.
TABELA1:
LOAD *, FIRSTSORTEDVALUE(DISTINCT historico_saude_clientes, -datas_historico) AS Histório
FROM ...
GROUP BY (precisa colocar porque esa função é de agregaçao);
TABELA2:
LOAD *, IF(Histório <=0.5, 'Baixa'....) AS Campo
RESIDENT TABELA1;
Amigo, desculpe a demora para lhe perguntar isso, mas ali na linha 3 da TABELA1, o FROM ... eu coloco o caminho do meu arquivo, certo?
Outra coisa, esse group by () eu posso colocar qualquer coisa dentro do parenteses? é que estou recebendo uns erros
o FROM é o caminho do seu arquivo.
No group by você coloca todos os campos da sua tabela, exceto os campos que estão sendo agregados pela func
FIRSTSORTEDVALUE
a
Eu não sei oque estou errando, pois agora recebo erro de expressão inválida 😞
historico_clientes:
LOAD
saude_capex,
nome_matriz,
org_city,
data_historico
FROM [lib://Compartilhado:OneDrive - marcelo/Qlik Sense/Clientes CAPEX/Histórico Saúde - CAPEX.xlsx]
(ooxml, embedded labels, table is [Clientex CAPEX]);
TABELA1_teste:
LOAD *, FIRSTSORTEDVALUE(DISTINCT saude_capex, -data_historico) AS Histório_saude_capex
FROM [lib://Compartilhado:OneDrive - marcelo/Qlik Sense/Clientes CAPEX/Histórico Saúde - CAPEX.xlsx]
(ooxml, embedded labels, table is [Clientex CAPEX])
GROUP BY nome_matriz,org_city;
Não seria da forma acima?
Esse é o erro que recebo:
Eu coloquei o * para simular, pois eu não sei quais campos existem no seu modelo.
O intuito não era atrapalhar.
Tira o * e coloca explicitamente seus campos, ainda mais porque é carga de planilha, e já algumas vezes percebi que isso não funciona.
Faz exatamente igual a um SQL com o group by no final
TABELA1_teste:
LOAD nome_matriz,org_city, FIRSTSORTEDVALUE(DISTINCT saude_capex, -data_historico) AS Histório_saude_capex
FROM [lib://Compartilhado:OneDrive - marcelo/Qlik Sense/Clientes CAPEX/Histórico Saúde - CAPEX.xlsx]
(ooxml, embedded labels, table is [Clientex CAPEX])
GROUP BY nome_matriz,org_city;
DEUUUUUUUU, muito obrigado!!!