Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Problema com Tabela Dinâmica

Bom dia,

Eu tenho uma tabela dinâmica e tentarei fazer uma breve explicação do funcionamento dela:

     - Ao selecionar um Treatment, aparece todos os Treatment que estão no mesmo Code do Treatment seleciona. Por exemplo: Code A_02 eu possuo T1, T2, até T7, ao selecionar T1 a tabela retorna T2 até T7

     - Primeira coluna conta em quantas áreas esse Treatment está presente

     - Segunda coluna mostra a média geral da Productivity (Produtividade) do Treatment selecionado. (tabela contraída)

     - Segunda coluna mostra a média da Productivity área por área do Treatment selecionado. (tabela expandida)

     - Terceira coluna é a média da Productivity do Treatment da da dimensão (coluna 0 no caso)

Na primeira tabela os dados dos Treatment só aparecem se a linha do Treatment selecionad estiver expandida, se expandir qualquer linha sem o Treatment também estiver expandido não irá retornar nenhum dado. As colunas victory, draws e loss também só funcionam para o treatment selecionado.

A segunda tabela é o que eu preciso que esteja funcionando, pois não existe a necessidade de mostrar o Treatment selecionado, porém ao excluir da tabela o que foi filtrado, nenhuma linha sequer expande.

Eu acredito que seja necessário escrever um set analysis mais completo/complexo, porém estou na tentativa e erro a algum tempo, por isso vim recorrer a ajuda de vocês.

Em anexo segue o exemplo que eu montei com a base de dados reduzida.

Labels (3)
1 Solution

Accepted Solutions
Not applicable
Author

Se for isso,

Mude a dimensão calculada para um Grupo com a mesma função. Segue resolução....

View solution in original post

5 Replies
nicolett_yuri

Allison, não consegui entender o que você precisa fazer. Pode dar mais detalhes usando o seu próprio qvw de exemplo?

Not applicable
Author

Tudo bem, selecionando T1 no filtro Treatment e visualizando a primeira tabela.

Ao expandir a tabela, eu só consigo ver alguns dados do T1 até o T7 caso a linha do T1 (que é o Treatment que selecionamos no filtro) esteja expandida também, como por exemplo a segunda coluna, que é uma coluna que sempre vai mostrar o avg() da produtividade do que selecionar no filtro Treatment, independente do que for. Mantendo T1 filtrado em 'Treatment', e todas as linhas da primeira tabela contraída, ao expandir T2, a coluna 'T1, não irá mostrar dado nenhum, porém mantendo a linha T2 expandida, você expandir a linha T1, os dados irão aparecer para T2 justamente porque expandimos a linha do que valor filtrado em 'Treatment'.

Outro problema, victory, draw e loss está calculando somente para T1, expandindo ou não a tabela, eles deveriam calcular para todos os Treatment. (Se precisar posso explicar quando é victory, quando é draw e quando é loss, mas basicamente para se chegar ao resultado é necessário ver quanto foi a diferença de produtividade entre o valor selecionado no filtro Treatment e o restante dos Treatments).

Lembrando que na tabela só podem aparecer Treatment que estão no mesmo Code do que estiver sendo filtrado.

Agora visualizando a segunda tabela e com T1 selecionado em Treatment.

Essa tabela eu ocultei o que está selecionado e ela simplesmente não expande. Não há muito o que explicar, se o que estiver sendo filtrado não estiver aparecendo na tabela dinâmica, ela não expande. Victory, draw e loss continuam sem calcular corretamente também.

Se ainda restarem dúvidas me avise que eu tenho ser explicar de uma maneira mais clara.

Not applicable
Author

Deixa ver se eu entendi...

Você tem duas tabelas iguais no QVD.

Porém uma não expande porque você pôs uma dimensão calculada. É isso?

Not applicable
Author

Se for isso,

Mude a dimensão calculada para um Grupo com a mesma função. Segue resolução....

Not applicable
Author

Interessante esse comportamento do qlikview. Realmente colocar a dimensão em um grupo (seja ela calculada ou não) arrumou a questão de expandir/contrair a tabela dinâmica.

Porém agora a lógica para mostrar os valores de avg() do Treatment selecionado quando a tabela está expandida não está funcionando, ela não retorna nenhum valor.

E respondendo a sua primeira pergunta: o meu problema não era com a dimensão calculada, e sim com a lógica para que fosse possível expandir a tabela sem precisar mostrar o que está sendo selecionado no filtro. Eu fiz essa mesma tabela em outro projeto, porém a base de dados e a lógica era um pouco diferente, mas mesmo me baseando no que eu fiz anteriormente para esse caso em específico não funcionou da maneira desejada, enquanto no meu antigo projeto a tabela funcionou corretamente (com uma dimensão calculada inclusive).

De qualquer maneira, muito obrigado pela ajuda, pode não ter resolvido por completo meu problema porém é um aprendizado, agora resta apenas arrumar a lógica da terceira expressão para as linhas expandidas.