Ir para conteúdo
  • 0

Erro em medida Dax - dependência circular


Dario Edson Farfan
Ir para solução Solucionado por Henrique Merola Faria ,

Pergunta

  • Alunos

Olá,

Estou com uma dificuldade em encontrar uma solução para o meu caso. Criei uma tabela com determinadas colunas que se repetem mês a mês. Todas as colunas são medidas e uma delas que se chama "Projected Initial Stock 22" está dando um erro, dizendo que há uma dependência circular. Eu já identifiquei aonde está dando essa dependência, e é na medida "Total Stock 2". Vai ser muito difícil explicar aqui com palavras porque essa medida está dando essa dependência, por este motivo desenhei um pequeno fluxograma para dar um entendimento melhor:

image.png.68b5ccb401d16de36444588056fd0080.png

E para tentar arrumar isso, eu dupliquei todas as medidas do projeto, mas mesmo assim dá erro. Eu não consigo ver outra solução que não seja complexa.

image.png.8f61d05e21221a112a63f9f3072ccebf.png

Project.pbix

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

@Dario Edson Farfan estranho, veja só, apliquei aqui no pbix e "funcionou", o arquivo está em anexo.
O DAX não aceita medida que se referencie a ela própria, direta ou indiretamente através de outras medidas
(que é o caso) ou através de colunas calculadas.

Não tem solução pronta, você tem de quebrar esse círculo, seja por outra medida ou até no modelo, através de uma
tabela, mas cuidando para que a referência circular seja criada na coluna calculada.

O modelo é complexo, o que me impossibilita de dar uma solução assertiva, essa vou ficar devendo.
 

  image.png.d6ae5f7d4b86b2f6fe6b0c349ce503d4.pngimage.png.cec79bd2bd26fc9e4976d28b93e02c0e.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Uma possibilidade é substituir a medida [Projected Initial Stock] na medida "Projected Final Stock 2" abaixo 
pelo código DAX equivalente a  [Projected Initial Stock], mas sem chamar nenhuma outra medida pronta.
Em tese, vc quebra o círculo.
Mas, se houver Coluna Calculada envolvida, há o risco do problema persistir.

Projected Final Stock 2 = 
[Projected Initial Stock]-
IF(
    [Forecast 2]-[Sales Volume Result 2]>[Opened Sales Order 2],
    [Forecast 2]-[Sales Volume Result 2],
    [Opened Sales Order 2]
)

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 22/08/2024 em 19:40, Henrique Merola Faria disse:

Uma possibilidade é substituir a medida [Projected Initial Stock] na medida "Projected Final Stock 2" abaixo 
pelo código DAX equivalente a  [Projected Initial Stock], mas sem chamar nenhuma outra medida pronta.
Em tese, vc quebra o círculo.
Mas, se houver Coluna Calculada envolvida, há o risco do problema persistir.

Projected Final Stock 2 = 
[Projected Initial Stock]-
IF(
    [Forecast 2]-[Sales Volume Result 2]>[Opened Sales Order 2],
    [Forecast 2]-[Sales Volume Result 2],
    [Opened Sales Order 2]
)

Não funcionou...o círculo se mantém, eu nem substitui a [Projected Initial Stock] na medida [Projected Final Stock 2] por uma equivalente. Antes de tentar substituir por uma equivalente, eu coloquei no lugar da [Projected Initial Stock] qualquer número aleatório para ver se quebrava o circulo, mas não surtiu efeito, ainda persiste o erro:

Projected Final Stock 2 =
12 -
IF(
    [Forecast 2]-[Sales Volume Result 2]>[Opened Sales Order 2],
    [Forecast 2]-[Sales Volume Result 2],
    [Opened Sales Order 2]
)
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...