Qlik Community

Ask a Question

Brasil

cancel
Showing results for 
Search instead for 
Did you mean: 
lucarmona
Contributor
Contributor

Cor da dimensão conforme expressão

Preciso colocar cor nas dimensões de uma tabela dinâmica conforme o total da expressão por dimensão

Por exemplo, na dimensão "Supervisor" preciso que fique vermelho caso o total da expressão  "% Meta Diaria Volume" seja menor que 85, amarelo quando for >=85 e <=98 e verde quando for maior que 98 , e fazer esse mesmo processo nas dimensões seguintes, sempre baseado no total da dimensão

eu adicionei a expressão "% Meta Diaria Volume"   na cor de fundo da dimensão, porém a cor não fica fixa, conforme utilizo a barra de rolagem da tabela a cor vai se alterando, eu preciso que essa cor fique fixa respeitando o total da dimensão

=if(

(

(

SUM( {<TIPO_NOTA_FISCAL={VENDA,'DEV.VENDA'}>}QT_NOTA_FISCAL*QT_EMBALAGEM)

+

SUM({<TIPO_NOTA_FISCAL={PEDIDO}>}QT_PENDENTE*QT_EMBALAGEM)

)

/

sum ({<TIPO_NOTA_FISCAL={VENDA,'DEV.VENDA'}>}(MetaVolume/DIAS_UTEIS_METAS) * (if( Month(DATA_INICIAL_META) = Month( Today()), NetWorkDays(DATA_INICIAL_META,Today()-1),DIAS_UTEIS_METAS)))

)*100  < 85

,

red()

,

if(

(

(

SUM( {<TIPO_NOTA_FISCAL={VENDA,'DEV.VENDA'}>}QT_NOTA_FISCAL*QT_EMBALAGEM)

+

SUM({<TIPO_NOTA_FISCAL={PEDIDO}>}QT_PENDENTE*QT_EMBALAGEM)

)

/

sum ({<TIPO_NOTA_FISCAL={VENDA,'DEV.VENDA'}>}(MetaVolume/DIAS_UTEIS_METAS) * (if( Month(DATA_INICIAL_META) = Month( Today()), NetWorkDays(DATA_INICIAL_META,Today()-1),DIAS_UTEIS_METAS)))

)*100 > 98

,

Green()

,

Yellow()

)

  )


metas.PNG

Labels (2)
1 Solution

Accepted Solutions
lucarmona
Contributor
Contributor
Author

O SUM(TOTAL <dimensão1> Valor)  funcionou, mais em cada nível tive que ir adicionando  a dimensão atual e as anteriores, da seguinte forma:


Supervisor:     SUM(TOTAL <SUPERVISOR> Valor) 

Classe:           SUM(TOTAL <SUPERVISOR,CLASSE> Valor) 

Área:              SUM(TOTAL <SUPERVISOR,CLASSE,AREA> Valor) 

Produto:         SUM(TOTAL <SUPERVISOR,CLASSE, AREA, PRODUTO> Valor) 


Porem dessa forma a sequencia das minhas dimensões ficam fixas, preciso que elas seja dinâmicas para  que quando o usuário reordenar as dimensões, dentro da expressão elas também sejam reordenadas.

É possível deixar as dimensões dinâmicas dentro da expressão?


View solution in original post

3 Replies
nicolett_yuri

Lubian, você vai precisar trabalhar com TOTAL e AGGR.

Por exemplo, se deseja que o total de uma métrica se repita para o mesmo valor da dimensão, pode usar o total e agrupar por essa dimensão: SUM(TOTAL <dimensão1> Valor).

Outra maneira é usar aggr, por exemplo:

SUM(AGGR(SUM(Valor), dimensão1))

Caso não consiga evoluir, disponibilize uma app de exemplo, assim ficará mais fácil de construir uma fórmula para você.

lucarmona
Contributor
Contributor
Author

O SUM(TOTAL <dimensão1> Valor)  funcionou, mais em cada nível tive que ir adicionando  a dimensão atual e as anteriores, da seguinte forma:


Supervisor:     SUM(TOTAL <SUPERVISOR> Valor) 

Classe:           SUM(TOTAL <SUPERVISOR,CLASSE> Valor) 

Área:              SUM(TOTAL <SUPERVISOR,CLASSE,AREA> Valor) 

Produto:         SUM(TOTAL <SUPERVISOR,CLASSE, AREA, PRODUTO> Valor) 


Porem dessa forma a sequencia das minhas dimensões ficam fixas, preciso que elas seja dinâmicas para  que quando o usuário reordenar as dimensões, dentro da expressão elas também sejam reordenadas.

É possível deixar as dimensões dinâmicas dentro da expressão?


View solution in original post

nicolett_yuri

Pra colocar as dimensões no total, poderia utilizar a função GetObjectDimension, mas antes de tentar isso, tente fazer com aggr, talvez fique mais dinâmico:


SUM(AGGR(SUM(Valor),SUPERVISOR,CLASSE, AREA, PRODUTO))