Alunos Daniel Marim Postado Agosto 7 Alunos Compartilhar Postado Agosto 7 Pessoal, Tenho o custo por mês do produto que é = Valor de compra / (qtd comprada + qtd bonificada) No mês que não tive compra, preciso trazer o valor da formula acima do último mês Como a medida por mês se torna uma média, preciso desse resultado retornando, e não da última data de compra. Mesmo que não esteja filtrado aquele mês. Exemplo filtrei os meses abaixo, porém se mar-2024 estivesse vazio, deveria trazer o último valor tentei com lastnoblank da forma abaixo, e não deu certo Custo Compra/Bonfic = CALCULATE([CUSTO COMPRA&BONIF.], LASTNONBLANK(Dcalendario[Mes Ano], [CUSTO COMPRA&BONIF.])) Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Solução Alex Pereira Postado Agosto 8 Alunos Solução Compartilhar Postado Agosto 8 Ela é uma coluna que tem o ano concatenado com numero do mês, serve para classificar coluna ano mes como a coluna contador ano Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Alex Pereira Postado Agosto 7 Alunos Compartilhar Postado Agosto 7 Tente isso: Custo Compra/Bonfic = VAR UltimoCusto = // Calcula o valor do custo usando a última data em que não há um valor em branco // para a medida [CUSTO COMPRA&BONIF.]. // A função LASTNONBLANK retorna a última data onde a condição foi atendida. CALCULATE( [CUSTO COMPRA&BONIF.], // A medida que queremos calcular LASTNONBLANK(Dcalendario[Data], [CUSTO COMPRA&BONIF.]) // Retorna a última data com um valor não nulo ) RETURN // A função IF avalia se a condição é verdadeira ou falsa. // Neste caso, verifica se o valor da medida [CUSTO COMPRA&BONIF.] para o mês atual é em branco. IF( ISBLANK([CUSTO COMPRA&BONIF.]), // Verifica se a medida está em branco para o mês atual UltimoCusto, // Se estiver em branco, retorna o valor calculado na variável UltimoCusto [CUSTO COMPRA&BONIF.] // Caso contrário, retorna o valor da medida atual ) Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Daniel Marim Postado Agosto 7 Autor Alunos Compartilhar Postado Agosto 7 42 minutos atrás, Alex Pereira disse: Tente isso: Custo Compra/Bonfic = VAR UltimoCusto = // Calcula o valor do custo usando a última data em que não há um valor em branco // para a medida [CUSTO COMPRA&BONIF.]. // A função LASTNONBLANK retorna a última data onde a condição foi atendida. CALCULATE( [CUSTO COMPRA&BONIF.], // A medida que queremos calcular LASTNONBLANK(Dcalendario[Data], [CUSTO COMPRA&BONIF.]) // Retorna a última data com um valor não nulo ) RETURN // A função IF avalia se a condição é verdadeira ou falsa. // Neste caso, verifica se o valor da medida [CUSTO COMPRA&BONIF.] para o mês atual é em branco. IF( ISBLANK([CUSTO COMPRA&BONIF.]), // Verifica se a medida está em branco para o mês atual UltimoCusto, // Se estiver em branco, retorna o valor calculado na variável UltimoCusto [CUSTO COMPRA&BONIF.] // Caso contrário, retorna o valor da medida atual ) Bom dia Alex, tentei e não retorna. acredito que tem que tirar os filtros de data algo parecido com ALL no calendario Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Alex Pereira Postado Agosto 7 Alunos Compartilhar Postado Agosto 7 Tenta essa Custo Compra/Bonfic = VAR UltimoCusto = CALCULATE( MAXX( FILTER( ALL(dCalendario), // Remove os filtros do calendário para buscar em todos os meses dCalendario[Data] < MAX(dCalendario[Data]) && NOT(ISBLANK([CUSTO COMPRA&BONIF.])) ), [CUSTO COMPRA&BONIF.] ) ) RETURN IF( ISBLANK([CUSTO COMPRA&BONIF.]), // Se não houver valor de custo para o mês atual UltimoCusto, // Usa o valor da variável UltimoCusto [CUSTO COMPRA&BONIF.] // Caso contrário, usa o valor da medida atual ) Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Daniel Marim Postado Agosto 7 Autor Alunos Compartilhar Postado Agosto 7 31 minutos atrás, Alex Pereira disse: Tenta essa Custo Compra/Bonfic = VAR UltimoCusto = CALCULATE( MAXX( FILTER( ALL(dCalendario), // Remove os filtros do calendário para buscar em todos os meses dCalendario[Data] < MAX(dCalendario[Data]) && NOT(ISBLANK([CUSTO COMPRA&BONIF.])) ), [CUSTO COMPRA&BONIF.] ) ) RETURN IF( ISBLANK([CUSTO COMPRA&BONIF.]), // Se não houver valor de custo para o mês atual UltimoCusto, // Usa o valor da variável UltimoCusto [CUSTO COMPRA&BONIF.] // Caso contrário, usa o valor da medida atual ) Agora veio um valor, porém ele traz todos custos na tabela, do primeiro em 2022 até o último mudando para o allselect melhora um pouco. o custo que quero é trazer é somente do último mês, a média Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Alex Pereira Postado Agosto 7 Alunos Compartilhar Postado Agosto 7 VAR UltimoCusto = CALCULATE( MAXX( FILTER( ALL(dCalendario), // Remove os filtros do calendário para buscar em todos os meses dCalendario[AnoMes] < MAX(dCalendario[AnoMes]) && NOT(ISBLANK([CUSTO COMPRA&BONIF.])) ), [CUSTO COMPRA&BONIF.] ) ) RETURN IF( ISBLANK([CUSTO COMPRA&BONIF.]), // Se não houver valor de custo para o mês atual UltimoCusto, // Usa o valor da variável UltimoCusto [CUSTO COMPRA&BONIF.] // Caso contrário, usa o valor da medida atual ) Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Alex Pereira Postado Agosto 7 Alunos Compartilhar Postado Agosto 7 1 minuto atrás, Alex Pereira disse: VAR UltimoCusto = CALCULATE( MAXX( FILTER( ALL(dCalendario), // Remove os filtros do calendário para buscar em todos os meses dCalendario[AnoMes] < MAX(dCalendario[AnoMes]) && NOT(ISBLANK([CUSTO COMPRA&BONIF.])) ), [CUSTO COMPRA&BONIF.] ) ) RETURN IF( ISBLANK([CUSTO COMPRA&BONIF.]), // Se não houver valor de custo para o mês atual UltimoCusto, // Usa o valor da variável UltimoCusto [CUSTO COMPRA&BONIF.] // Caso contrário, usa o valor da medida atual ) Muda para ano mes que ai acho que vai dar certo! Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Daniel Marim Postado Agosto 7 Autor Alunos Compartilhar Postado Agosto 7 33 minutos atrás, Alex Pereira disse: Muda para ano mes que ai acho que vai dar certo! fiz, mas continua. Outra coisa é que está trazendo o valor máximo tbm do custo Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Alex Pereira Postado Agosto 7 Alunos Compartilhar Postado Agosto 7 "Hmmm... Será que você poderia disponibilizar uma base de exemplo ou compartilhar como os seus dados estão estruturados? Isso me ajudaria a criar uma simulação mais precisa!" Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Daniel Marim Postado Agosto 7 Autor Alunos Compartilhar Postado Agosto 7 3 horas atrás, Alex Pereira disse: "Hmmm... Será que você poderia disponibilizar uma base de exemplo ou compartilhar como os seus dados estão estruturados? Isso me ajudaria a criar uma simulação mais precisa!" Vê se ajuda, ou depois tento te enviar o arquivo Essa é a tabela fato Vendas, que consta tbm as Compras para essa análise de custo essa é a Dcalendario. Mesmo transformando a coluna Mes Ano em data, ainda assim não funcionou na última tentativa Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Alex Pereira Postado Agosto 8 Alunos Compartilhar Postado Agosto 8 Custo Compra TESTE = VAR UltimoMesAno = CALCULATE( MAX(dCalendario[AnoMes]), FILTER( ALLSELECTED(dCalendario), dCalendario[AnoMes] < MAX(dCalendario[AnoMes]) ) ) VAR vResultado = CALCULATE( [CUSTO COMPRA&BONIF.], FILTER( ALL(dCalendario), dCalendario[AnoMes] = UltimoMesAno ) ) RETURN IF( ISBLANK([CUSTO COMPRA&BONIF.]), // Se o mês atual estiver em branco vResultado, // Usa o custo calculado para o último mês válido [CUSTO COMPRA&BONIF.] // Caso contrário, usa o valor do mês atual ) Seria isso? Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Daniel Marim Postado Agosto 8 Autor Alunos Compartilhar Postado Agosto 8 4 horas atrás, Alex Pereira disse: Custo Compra TESTE = VAR UltimoMesAno = CALCULATE( MAX(dCalendario[AnoMes]), FILTER( ALLSELECTED(dCalendario), dCalendario[AnoMes] < MAX(dCalendario[AnoMes]) ) ) VAR vResultado = CALCULATE( [CUSTO COMPRA&BONIF.], FILTER( ALL(dCalendario), dCalendario[AnoMes] = UltimoMesAno ) ) RETURN IF( ISBLANK([CUSTO COMPRA&BONIF.]), // Se o mês atual estiver em branco vResultado, // Usa o custo calculado para o último mês válido [CUSTO COMPRA&BONIF.] // Caso contrário, usa o valor do mês atual ) Seria isso? Uma dúvida, como está formatado a sua coluna [AnoMes]? Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Daniel Marim Postado Agosto 8 Autor Alunos Compartilhar Postado Agosto 8 2 horas atrás, Alex Pereira disse: Ela é uma coluna que tem o ano concatenado com numero do mês, serve para classificar coluna ano mes como a coluna contador ano eu faço uma tbm assim, mesmo usando ela tive os resultados abaixo Se puder passar a sua pbix de teste... Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Daniel Marim Postado Agosto 9 Autor Alunos Compartilhar Postado Agosto 9 8 horas atrás, Alex Pereira disse: Ela é uma coluna que tem o ano concatenado com numero do mês, serve para classificar coluna ano mes como a coluna contador ano Obrigado pela ajuda até agora... entendi que a VAR UltimoMesAno está sempre buscando a anterior, por isso até encontra o valor no mês seguinte a compra, porém depois não acha mais. exemplo, tivemos compra em 202311, em 202312 o valor encontrou e a no próximo mês a busca deveria ainda ser em 202311. Onde tiver compra > que 0 O modelo que criou para teste não passa mais de um mês sem compra, por isso retorna certinho Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Daniel Marim Postado Agosto 13 Autor Alunos Compartilhar Postado Agosto 13 Em 08/08/2024 em 14:26, Alex Pereira disse: Ela é uma coluna que tem o ano concatenado com numero do mês, serve para classificar coluna ano mes como a coluna contador ano Consegui utilizando a data no formato da tabela fato. Valeu pela ajuda! Custo Compra Ultimo Mes = VAR UltimoMesAno = CALCULATE( MAx(Vendas[Ord Ano Mes]),Vendas[Qt Compras]>0, FILTER( ALLSELECTED(Vendas), Vendas[Ord Ano Mes] < MAX(Vendas[Ord Ano Mes]) ) ) VAR vResultado = CALCULATE( [CUSTO COMPRA&BONIF.], FILTER( ALLSELECTED(Vendas), Vendas[Ord Ano Mes] = UltimoMesAno ) ) RETURN IF( ISBLANK([CUSTO COMPRA&BONIF.]), vResultado, [CUSTO COMPRA&BONIF.] ) 1 Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Daniel Marim
Pessoal,
Tenho o custo por mês do produto que é = Valor de compra / (qtd comprada + qtd bonificada)
No mês que não tive compra, preciso trazer o valor da formula acima do último mês
Como a medida por mês se torna uma média, preciso desse resultado retornando, e não da última data de compra.
Mesmo que não esteja filtrado aquele mês. Exemplo filtrei os meses abaixo, porém se mar-2024 estivesse vazio, deveria trazer o último valor
tentei com lastnoblank da forma abaixo, e não deu certo
LASTNONBLANK(Dcalendario[Mes Ano],
[CUSTO COMPRA&BONIF.]))
Link para o comentário
Compartilhar em outros sites
15 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