Ir para conteúdo
  • 0

Transformar SLQ em DAX


David Marks
Ir para solução Solucionado por Frank Figueredo ,

Pergunta

  • Alunos

Eu preciso transformar esse SQL em DAX, ja tentei varias formas aqui, mas não consigo obter o resultado, não consigo fazer o valor ficar em conjunto com outro.
(not (a11.CD_TIPO_DOC_CTREC in (53, 57, 58)
and a14.CD_TPNEG in ('029', '083')))

se atentem somente ao filtro, do jeito que fiz ali da erro,  

calculate(
divide(SUM(AG_SALDO_DIA_DOC_CTREC[VR_SD_VENC]),21)/1000000,
DM_PONTO_VENDA_IPP[CD_EMPR] <> BLANK(),
FILTER(DM_COMPONENTE_IPIRANGA, NOT([CD_TPNEG] in {"29","53"})) &&
FILTER(AG_SALDO_DIA_DOC_CTREC,NOT([CD_TIPO_DOC_CTREC] in {"53","57","58"})))



TENTEI DESTA FORMA TAMBEM, MAS TAMBEM DA ERRO:
CALCULATE(
divide(SUM(AG_SALDO_DIA_DOC_CTREC[VR_SD_VENC]),21)/1000000,
DM_PONTO_VENDA_IPP[CD_EMPR] <> BLANK(),
FILTER(AG_SALDO_DIA_DOC_CTREC,
(not(AG_SALDO_DIA_DOC_CTREC[CD_TIPO_DOC_CTREC] in {"53","57","58"}) &&
DM_COMPONENTE_IPIRANGA[CD_TPNEG] in {"29","53"})))


SE EU FAÇO CADA UM INDIVIDUAL DA UM VALOR QUE N QUERO. PRECISO QUE OS 2 ESTEJAM NA MESMA CONDIÇÃO.

calculate(
divide(SUM(AG_SALDO_DIA_DOC_CTREC[VR_SD_VENC]),21)/1000000,
DM_PONTO_VENDA_IPP[CD_EMPR] <> BLANK(),
FILTER(DM_COMPONENTE_IPIRANGA, NOT(DM_COMPONENTE_IPIRANGA[CD_TPNEG] in {"29","53"})),
FILTER(AG_SALDO_DIA_DOC_CTREC,NOT(AG_SALDO_DIA_DOC_CTREC[CD_TIPO_DOC_CTREC] in {"53","57","58"})))

TENTEI ASSIM TAMBEM
CALCULATE(
divide(SUM(AG_SALDO_DIA_DOC_CTREC[VR_SD_VENC]),21)/1000000,
DM_PONTO_VENDA_IPP[CD_EMPR] <> BLANK(),
FILTER(AG_SALDO_DIA_DOC_CTREC,
not(AG_SALDO_DIA_DOC_CTREC[CD_TIPO_DOC_CTREC] in {"53","57","58"}) &&
NOT(DM_COMPONENTE_IPIRANGA[CD_TPNEG] in {"29","53"})))

image.png

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos

@David Marks boa noite!

Cara, pelo que eu entendi na medida que criou, entendo que precisa corrigir o "&&" e colocar a vírgula no lugar.

calculate(
divide(SUM(AG_SALDO_DIA_DOC_CTREC[VR_SD_VENC]),21)/1000000,
DM_PONTO_VENDA_IPP[CD_EMPR] <> BLANK(),
FILTER(DM_COMPONENTE_IPIRANGA, NOT([CD_TPNEG] in {"29","53"})),
FILTER(AG_SALDO_DIA_DOC_CTREC,NOT([CD_TIPO_DOC_CTREC] in {"53","57","58"})))

O && funciona melhor dentro do FILTER e não na calculate.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

desta forma eu ja fiz substituindo a o && pela virgula, mas ele traz um valor errado, eu cheguei até fazer um teste na query e coloquei assim: 
a11.CD_TIPO_DOC_CTREC not in (53, 57, 58),  a14.CD_TPNEG not in ('029', '083') então quando eu fiz assim exatamente como ta no DAX, veio o valor igual do meu DAX, só que n é o valor que preciso, mas quando eu deixo da forma original (not (a11.CD_TIPO_DOC_CTREC in (53, 57, 58) and a14.CD_TPNEG in ('029', '083')))  ele me traz o valor certo, tenho que de alguma forma mesclar essas tabelas.

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...