Formatação de valor usando coluna oculta como critério no CrossTab

Senhores, boa tarde!

Tive contato, pela primeira vez, com uma consulta que utiliza Cross Tab. Achei muito útil para várias funcionalidades que temos aqui e hoje usamos Grade ou Gráfico. Principalmente, para consultas que tem dias como sendo colunas. Como esta funcionalidade “pivota” a tabela, a solução é muito boa!
Porém vi que a mesma tem algumas limitações… Por exemplo, as formatações condicionais e a ordenação da consulta acabam não funcionando corretamente.
Tentei “flags” para usar as formatações condicionais e as vezes funcionam as vezes não. Acredito que ao usar, por exemplo, um CASE a mesma não funciona.

      , -1 AS flag
      ,CASE WHEN (Faturamento/Meta) < 90
             THEN 1
             ELSE 0
       END AS ranking  

Nestes casos, somente a “flag” funcionou na formatação condicional.
O “ranking”, mesmo que a consulta mostre que o resultado esta correto [no caso, 1], a formatação condicional não deu resultado. (Ambas estão sendo usadas como campos auxiliares da Coluna).
No caso da ordenação, a mesma coisa. O que se mostra correto na consulta, não tem o mesmo resultado na tela.

Consulta

Agradeço desde já a ajuda.
Att,
André Rocha.

Olá @andre_rocha!

Seja bem vindo a Comunidade!

Realmente, existem algumas restrições no CrossTab devido a complexidade dos agrupamentos.

Neste caso, você está tendo dificuldade para fazer a formatação porque o valor usado no critério “se perde” durante a geração do CrossTab.

Por exemplo, você tem 2 registros para o Centro de Custo “QUIMICO STA”.
Um deles tem ranking 1 e outro 0:

periodo centrocusto faturamento flag ordem ranking
% QUIMICO STA 64.02 0 1 1
Meta Dia QUIMICO STA 87856.00 -1 2 0

Quando a agregação dos valores é realizada, e os mesmos são agrupados por linha e coluna, não é possível preservar de forma segura o valor da coluna ranking.

O resultado fica mais ou menos assim:

% Meta Dia Ranking
QUIMICO STA 64.02 87856.00 1 ou 0?

Mas vou fazer alguns testes aqui para tentar achar uma solução, e depois posto aqui.

Bom dia, Daniel!

Te agradeço desde já a ajuda. Agradeço, também, o convite para esta comunidade. Baita espaço pra gente tirar dúvidas e aprender mais sobre o sistema.

Quanto ao Cross Tab, como falei, achei muito útil esta funcionalidade e não gostaria de ter de deixar de usar. Mas, ao mesmo tempo, preciso que algumas situações funcionem.
Vou ficar no aguardo.

Att,
André Rocha.

2 curtidas