Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
goncalo_pereira
New Contributor III

Ajuda com a função before/after numa pivot table

Boa tarde a todos,

Estou aqui com um problema que ainda não consegui resolver e por isso se alguem conseguri ajudar agradecia muito.

Para explicar o meu problema eu vou colocar aqui um exemplo do que tenho e do que pretendo obter.

Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Week 9Week 10Week 11
Value 10 3 8
Value 20 4 6

Usando a função before o que já consegui foi ir buscar o valor anterior da linha em questão ficando o exemplo no seguinte:

Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Week 9Week 10Week 11
Value 10033 88
Value 20044 66

Na realidade o que pretendo é usando a função before/after ir buscar o ultimo valor not null, e com isto ficar com a tabela seguinte:

Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Week 9Week 10Week 11
Value 100333388888
Value 200444666666

Se for possivel alguem ajudar agradecia imenso.

Obrigado e abraço.

Tags (1)
1 Solution

Accepted Solutions
fernando_tonial
Valued Contributor

Re: Ajuda com a função before/after numa pivot table

Olá Gonçalo,

Consegui fazer via script.

Segue anexo exemplo.

Abraços.

Tonial.

4 Replies
fernando_tonial
Valued Contributor

Re: Ajuda com a função before/after numa pivot table

Olá Gonçalo,

Consegui fazer via script.

Segue anexo exemplo.

Abraços.

Tonial.

goncalo_pereira
New Contributor III

Re: Ajuda com a função before/after numa pivot table

Boa tarde Fernando,

Antes de mais obrigado pela tua ajuda, mas antes de passar para a implementação via script.

Será que existe alguma forma de fazer o que apresentas, mas sem ser pelo script? Usando apenas a expression do grafico?

Cumprimentos e mais uma vez obrigado pela ajuda!

goncalo_pereira
New Contributor III

Re: Ajuda com a função before/after numa pivot table

Bom dia novamente

Infelizmente ainda não consegui arranjar uma solução via "expression" e sendo assim vou colocar aqui os meus avanços.

Imaginando que tenho o exemplo indicado:

week 4     week 5     week 6      week 7     week 8     week 9     week 10     week 11     week 12

   3              0             0             5              0                8             0               4               0

O Resultado esperado é o seguinte:

week 4     week 5     week 6      week 7     week 8     week 9     week 10     week 11     week 12

   3              3             3             5              5                8             8              4               4

Resumindo, estou a tentar criar uma "expression" que ao verificar que o valor da semana presente for = 0, irá buscar o valor da semana anterior desde que seja > 0. Pegando no exemplo anterior e nesse resultado esperado, na week 4 eu tenho o valor igual a 3, sendo assim o resultado esperado deverá ser o mesmo valor 3. Na week 5 eu já tenho o valor 0, como o valor é = 0 o que pretendo é ir recuando as semanas até encontrar um valor > 0, sendo que neste caso basta ir à semana 4 buscar o valor 3. Na week 6 exactamente a mesma situação, tenho um valor 0, devido a isso tenho de recuarnas semana até encontrar um valor > 0 e por ai adiante, originado então o Resultado esperado.

A minha ultima tentativa foi usar o "RangeMaxString", mas causa-me um problema nas situações como a indicada, isto é, até à week 11 preenche tudo correctamente, mas na week 12 ao em vez de colocar o valor 4 referente à week 11 ele coloca o valor "MaxString" que neste caso é o valor 8

week 4     week 5     week 6      week 7     week 8     week 9     week 10     week 11     week 12

   3              3             3             5              5                8             8              4               8

Peço desculpa pelo testamento que estou a deixar aqui, mas se alguem tiver alguma ideia de como fazer isto "sem usar o script de reload" agradeço imenso!

Obrigado a todos

goncalo_pereira
New Contributor III

Re: Ajuda com a função before/after numa pivot table

Boas noites a todos,

Depois de muito tempo de volta deste problema, decidi seguir e implementar a solução via Script.

Fernando mais uma vez obrigado pela tua ajuda!

Cumprimentos.