Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
Tente remodelar usando uma tabela canonica Canonical Date
Clever não entendi muito bem isso do Canonical Data.
Mas veja ai a estrutura...4 tabelas tenho que filtrar por uma única data.
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
São 4 tabelas que eu preciso filtrar a data:
ECOITEMREGISTROME
dtmedicao
EESTMOVESTOQUE
dtmovimento
ECPGBAIXA
dtpagto
ECXAMOVCXABCO
dtmovimentocxb
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.
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
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.
Mauro,
O meu campo dtmedicao é a dimensão da minha tabela (TAABELA DESEJADA)
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.