Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa noite prezados,
Estou usando um gráfico com dimensão de mês,
e como expressão a fórmula:
If(numCodigoMetaEstrategica=2 and tipoPeriodo='Semanal',
quantificacaoRealMeta)
Ou seja, filtro em cada mês o valor da meta 2 no tipo de carga semanal.
Porém, isso ainda me retorna 4 valores para cada mês (um valor para cada uma das 4 semanas do mês da dimensão do gráfico).
Preciso adiciona uma cláusula que filtre, dentre esses 4 registros em cada mês, o registro com maior valor no campo Key_IdIntervalo (para assim pegar o valor do campo quantificacaoRealMeta mais atual em cada mês).
Tentei usar diversas fórmulas.. dentre elas:
1 - Não retorna nenhum valor para mês nenhum:
If(numCodigoMetaEstrategica=2 and tipoPeriodo='Semanal' and KEY_idIntervalo = max(KEY_idIntervalo),
quantificacaoRealMeta)
2 - Retorna o valor do maior mês, e os outros meses ficam nulos:
Only({<KEY_idIntervalo={'$(=max(KEY_idIntervalo))'}>}
If(numCodigoMetaEstrategica=2 and tipoPeriodo='Semanal' and KEY_idIntervalo = $(=max(KEY_idIntervalo)),
quantificacaoRealMeta)
)
Dentre diversas outras fórmulas... mas sem sucesso. Alguma ideia?
Att,
Thiago.
Tente
FirstSortedValue({<numCodigoMetaEstrategica={2},tipoPeriodo={'Semanal'} >} quantificacaoRealMeta , KEY_idIntervalo)
Um exemplo de como está organizada a tabela:
numCodigoMetaEstrategica | tipoPeriodo | mês | KEY_idIntervalo | quantificacaoRealMeta |
---|---|---|---|---|
2 | Semanal | jan | 1 | 123 |
2 | Semanal | jan | 2 | 12343 |
2 | Semanal | jan | 3 | 324 |
2 | Semanal | jan | 4 | 324 |
2 | Semanal | fev | 5 | 54 |
2 | Semanal | fev | 6 | 3246 |
2 | Semanal | fev | 7 | 456 |
2 | Semanal | fev | 8 | 467 |
(...) | (...) | (...) | (...) | (...) |
Meu gráfico teria que ter a dimensão de mês e o valor , ficando para janeiro 324 e para fevereiro 467, já que o KEY_idIntervalo 4 é o maior de janeiro e o KEY_idIntervalo 8 é o maior de fevereiro.
Espero q tenha ilustrado melhor o problema assim.
Thiago,
Tenta algo assim:
Sum({<KEY_IdIntervalo={'$(=max(KEY_IdIntervalo))'}, numCodigoMetaEstrategica=, tipoPeriodo={'Semanal'}>} quantificacaoRealMeta)
Cuidado com maiúsculas e minúsculas, parente e chaves, ou seja, a estrutura toda.
Abraço.
Enviado pelo meu wPhone
Não funcionou, ele continua retornando todos os intervalos para cada mês. Aí a soma dá um número bem alto (correspondente a soma das 4 semanas de cada mês).
Tente
FirstSortedValue({<numCodigoMetaEstrategica={2},tipoPeriodo={'Semanal'} >} quantificacaoRealMeta , KEY_idIntervalo)
Nunca usei essa função, a "FirstValue", achei interessante.
Não sei se o Thiago conseguiu, eu fui montar um exemplo para exercita e não deu certo, lendo o material "F1", vi que faltou o - (Sinal de menos ou hífen) para pegar o último valor, estava pegando o primeiro.
Valeu, sempre muito bom aprender uma coisa nova.
Abraço.
Obrigado Clever!!
Ainda não apliquei 100% a solução, pois tive que priorizar outras demandas, mas em um teste unitário a função funcionou!
Como o Aderlan disse, a principio não funcionou, mas vi na documentação do Qlikview que precisaria do sinal de negativo para classificar de forma decrescente. De resto a princípio funcionou 100%.
Valeu!
Muito bom.
Vou guardar na manga.