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
FIRSTSORTEDVALUEa
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!!!