Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Prezados bom dia,
Estava tentando criar uma medida que me traga a última versão de uma tabela, usei essa expressão Count(Aggr(Max([Data Mudança]),version,[Cod. Prospecção])) mais não traz o resultado esperado conforme tabela abaixo.
Preciso que me traga 1 somente na linha da última versão ou da última data de mudança.
OBS: Qlik Sense.
Cod. Prospecção | version | Status | Data Mudança | Data Contrato | Count(Aggr(Max([Data Mudança]),version,[Cod. Prospecção])) | Resultado esperado |
52 | 1 | pro | - | 07/06/2018 00:00 | 0 | 0 |
52 | 2 | free | - | 07/06/2018 00:00 | 0 | 0 |
52 | 3 | acc | 07/08/2018 08:34 | 07/06/2018 00:00 | 1 | 0 |
52 | 4 | com | 15/08/2018 17:09 | 07/06/2018 00:00 | 1 | 1 |
53 | 1 | pro | 06/08/2018 08:00 | 08/06/2018 00:00 | 1 | 0 |
53 | 2 | free | 09/06/2018 00:00 | 0 | 0 | |
53 | 3 | com | 18/08/2018 09:00 | 10/06/2018 00:00 | 1 | 1 |
Edson,
Use:
FirstSortedValue(Version,-[Data Mudança])
thiago, ele repete o numero da versão.
Usando o exemplo somente o cod prospecção 52
Versão FirstSortedValue(Version,-[Data Mudança]) Data mudança
1 0 -
2 0 -
3 3 07/08/2018 08:34
4 4 15/08/2018 17:09
Use,
Only({<[Data Mudança]={"=FirstSortedValue(Data Mudança],-[Data Mudança])"}>}[Data Mudança])
Isso lhe retornará apenas a linha que contém data da última mudança. Se quiser isso por produto/modelo:
Aggr(Only({<[Data Mudança]={"=FirstSortedValue(Data Mudança],-[Data Mudança])"}>}[Data Mudança]),DIMENSAO_AGRUPAMENTO)
Para colocar na fórmula que você quer a última versão, tente usar assim:
Count({<version={'1'}>} Data Mudança)
O que isso faz:
{} -> cria um filtro de dados
{<version={'1'}>} -> faz com que o campo seguinte só aconteça aonde existe a coluna version = 1.
Count({<version={'1'}>} Data Mudança) -> Coleta os valores Data Mudança e conta quantos campos existem em que version=1.
Para visualizar melhor. faça uma tabela e coloque a expressão como uma das colunas :
{<version={'1'}>} Data Mudança
assim você poderá observar o resultado e se é o esperado.
Funciona da forma que você mencionou mais preciso que fique igual a tabela abaixo
Only({<[Data Mudança]={"=FirstSortedValue(Data Mudança],-[Data Mudança])"}>}[Data Mudança])
O que seria a dimensão agrupamento?
Aggr(Only({<[Data Mudança]={"=FirstSortedValue(Data Mudança],-[Data Mudança])"}>}[Data Mudança]),DIMENSAO_AGRUPAMENTO)
Cod. Prospecção | version | Status | Data Mudança | Data Contrato | Resultado esperado |
---|---|---|---|---|---|
52 | 1 | pro | - | 07/06/2018 00:00 | |
52 | 2 | free | - | 07/06/2018 00:00 | |
52 | 3 | acc | 07/08/2018 08:34 | 07/06/2018 00:00 | |
52 | 4 | com | 15/08/2018 17:09 | 07/06/2018 00:00 | 1 |
53 | 1 | pro | 06/08/2018 08:00 | 08/06/2018 00:00 | |
53 | 2 | free | 09/06/2018 00:00 | ||
53 | 3 | com | 18/08/2018 09:00 | 10/06/2018 00:00 | 1 |
No seu caso então, a dimensão de agrupamento será [Cod. Prospecção]:
Aggr(Only({<[Data Mudança]={"=FirstSortedValue(Data Mudança],-[Data Mudança])"}>}[Data Mudança]),[Cod. Prospecção])
Se isso não funcionar como espera, pode alterar para:
Only({<[Data Mudança]={"=FirstSortedValue(Data Mudança],-Aggr([Data Mudança],[Cod. Prospecção]))"}>}[Data Mudança])
Nessa a coluna fica -
Aggr(Only({<[Data Mudança]={"=FirstSortedValue(Data Mudança],-[Data Mudança])"}>}[Data Mudança]),[Cod. Prospecção])
Nessa todas as linhas fica assim -
Only({<[Data Mudança]={"=FirstSortedValue(Data Mudança],-Aggr([Data Mudança],[Cod. Prospecção]))"}>}[Data Mudança])
Não consegui o resultado esperado.
O que preciso é que apareça a última versão de cada cod prospecção.
Ou a última data do campo data mudança.
Teste apenas com:
FirstSortedValue(Data Mudança],-Aggr([Data Mudança],[Cod. Prospecção]))