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

Data diferentes em uma set analysis?

Boa tarde.

Preciso da ajuda de vocês.

Tenho várias tabelas com datas diferentes e preciso consolidar os valores. Exemplo abaixo. Gostaria de ter a Tabela desejada.

Estou colocando isto com exemplo, mas é bem mais complexa. São várias tabelas que vou precisar somar, mas se resolver uma já resolvo os outros.

Set Analysis utilizado, peguei de uma apostila do qlik. Mas ele dá expressão errada.

SUM({$<MESANO_MED=MESANO_PAG>} VALOR_PGO*PEPARTICIPACAO/100))

Tenho que somar o VALOR_PGO DO MESANO_PGO = MESANO_MED

Tentei criar Calendário, nas não dá. São muitas tabelas relacionadas e dá erro referencia circular

Capturar9.JPG

Labels (3)
16 Replies
Clever_Anjos
Employee
Employee

Tente remodelar usando uma tabela canonica Canonical Date

Not applicable
Author

Clever não entendi muito bem isso do Canonical Data.

Mas veja ai a estrutura...4 tabelas tenho que filtrar por uma única data.

Capturar10.JPG

Clever_Anjos
Employee
Employee

Rapaz..

Você está em maus lençóis... que modelagem complicada.

Uma data canonica é uma tabela que tem toda as suas datas em uma tabela apenas: Canonical Date

Not applicable
Author

São 4 tabelas que eu preciso filtrar a data:

ECOITEMREGISTROME

dtmedicao

EESTMOVESTOQUE

dtmovimento

ECPGBAIXA

dtpagto

ECXAMOVCXABCO

dtmovimentocxb

mauroponte
Creator II
Creator II

João,

Concordo com o Clever.

Seu modelo está bastante complicado, com muitas chaves sintéticas.

Como você aparentemente tem muitas tabelas fato uma coisa que voce poderia tentar fazer para melhorar seria criar uma link table. Com ele acredito que voce pode resolveria os problemas das chavez sintéticas e a questao do filtro unico para as datas.

Mas teria de ser bem estruturada para ter o resultado desejado.

Not applicable
Author

Não tenho como mudar agora para Link Table... tenho que achar alguma forma...

Estou tentando achar a formula correta pelo Set Analysis:

SUM({<dtpagto = dtmedicao>} VLPAGTOLIQUIDO)

Ele diz que a expressão está errada. Peguei de uma apostila de qlikview

mauroponte
Creator II
Creator II

Joao,

No set analisys o valor que se é comparado deve sempre estar entre {}. Esse é o primeiro erro na sua expressão.

Dependendo do valor a ser comparado o que está dentro dos {} deve estar entre '' ou "", com ou sem o $, usando ou nao funções.

Tente

SUM({<dtpagto = {"$(=max(dtmedicao))"}>} VLPAGTOLIQUIDO)


ou


SUM({<dtpagto = {"$(=GetFieldSelections(dtmedicao))"}>} VLPAGTOLIQUIDO)

se dtmedicao é a data que voce seleciona no filtro acredito que atenda a sua necessidade.

Not applicable
Author

Mauro,

O meu campo dtmedicao é a dimensão da minha tabela (TAABELA DESEJADA)

Capturar11.JPG

mauroponte
Creator II
Creator II

João,

Veja se o QVW anexo te ajuda.

Eu coloquei a data de pagamento tambem como dimensão na tabela desejada, porem em apresentação mandei ocultar a coluna para exibir somente a data de medição.

Analise o set analisys da primeira expressão.

Espero que te ajude a resolver seu problema, porem continuo concordando com o Clever com relação a você tentar melhorar seu modelo de dados.