Eu tenho dois arquivos PBIX. Nos dois arquivos eu tenho uma tabela dimensão de datas. Porém, num arquivo ela foi criada a partir de uma planilha do Excel e no outro foi criado através da linguagem M.
Nos dois arquivos eu identifiquei o que é dia útil. Foi criada uma coluna [ÚTIL] onde 0 (zero) significa dia não útil e 1 (um) significa dia útil. Até aí, os dois arquivos funcionaram igualmente bem.
Eu preciso apurar nos dois arquivos o faturamento por dia útil. Só que, eventualmente, existem faturamentos em dias não úteis. O conceito da empresa para estes casos é que o faturamento do dia não útil deve ser somado ao faturamento do primeiro dia útil imediatamente anterior a esse dia não útil, desde que esse dia útil esteja no mesmo mês. Se não houver dia útil anterior no mesmo mês, deve ser somado ao primeiro dia útil posterior.
Eu criei uma coluna que identifica em qual dia útil um eventual faturamento em dia não útil deve ser atribuído, usando DAX, como segue:
DIA FATURAMENTO =
var vOntem = PREVIOUSDAY(DATAS[DATA])
var vAmanha = NEXTDAY(DATAS[DATA])
var vDiaUtilAnterior =
CALCULATE(MAX(DATAS[DATA]),
DATAS[ÚTIL] <> 0,
DATAS[DATA] <= vOntem
)
var vDiaUtilPosterior =
CALCULATE(min(DATAS[DATA]),
DATAS[ÚTIL] <> 0,
DATAS[DATA] >= vAmanha
)
RETURN
IF(
DATAS[ÚTIL] <> 0,
DATAS[DATA],
IF(
DATAS[Mês] = month(vDiaUtilAnterior),
vDiaUtilAnterior,
vDiaUtilPosterior
)
)
O meu problema é o seguinte, no arquivo em que a tabela de datas tem origem numa planilha de Excel funcionou perfeitamente. No arquivo em que a tabela de datas foi criada com a linguagem M, não funciona. Ele informa que foi criada uma referência circular. Não consegui identificar por quê. Alguém saberia me dizer o que está errado para este segundo arquivo?
Pergunta
Gerson Faria
Bom dia!
Eu tenho dois arquivos PBIX. Nos dois arquivos eu tenho uma tabela dimensão de datas. Porém, num arquivo ela foi criada a partir de uma planilha do Excel e no outro foi criado através da linguagem M.
Nos dois arquivos eu identifiquei o que é dia útil. Foi criada uma coluna [ÚTIL] onde 0 (zero) significa dia não útil e 1 (um) significa dia útil. Até aí, os dois arquivos funcionaram igualmente bem.
Eu preciso apurar nos dois arquivos o faturamento por dia útil. Só que, eventualmente, existem faturamentos em dias não úteis. O conceito da empresa para estes casos é que o faturamento do dia não útil deve ser somado ao faturamento do primeiro dia útil imediatamente anterior a esse dia não útil, desde que esse dia útil esteja no mesmo mês. Se não houver dia útil anterior no mesmo mês, deve ser somado ao primeiro dia útil posterior.
Eu criei uma coluna que identifica em qual dia útil um eventual faturamento em dia não útil deve ser atribuído, usando DAX, como segue:
DIA FATURAMENTO =
var vOntem = PREVIOUSDAY(DATAS[DATA])
var vAmanha = NEXTDAY(DATAS[DATA])
var vDiaUtilAnterior =
CALCULATE(MAX(DATAS[DATA]),
DATAS[ÚTIL] <> 0,
DATAS[DATA] <= vOntem
)
var vDiaUtilPosterior =
CALCULATE(min(DATAS[DATA]),
DATAS[ÚTIL] <> 0,
DATAS[DATA] >= vAmanha
)
RETURN
IF(
DATAS[ÚTIL] <> 0,
DATAS[DATA],
IF(
DATAS[Mês] = month(vDiaUtilAnterior),
vDiaUtilAnterior,
vDiaUtilPosterior
)
)
O meu problema é o seguinte, no arquivo em que a tabela de datas tem origem numa planilha de Excel funcionou perfeitamente. No arquivo em que a tabela de datas foi criada com a linguagem M, não funciona. Ele informa que foi criada uma referência circular. Não consegui identificar por quê. Alguém saberia me dizer o que está errado para este segundo arquivo?
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Faça login para comentar
Você vai ser capaz de deixar um comentário após fazer o login
Entrar Agora