Alunos Marcelo Kniss Postado Abril 19, 2023 Alunos Compartilhar Postado Abril 19, 2023 Oi pessoal, tudo bem? Seguinte: Eu quero fazer uma coluna na minha tabela fato, onde as 5 ultimas datas dela me retorne como "atual", caso contrário "n atual". Eu fiz da seguinte forma: if [dataFatos] = Date.AddDays(DateTime.Date(DateTime.FixedLocalNow()), -5) then "Atual" else "nAtual" O problema que dessa forma esse resultado estará respeitando o contexto do meu calendário atual, e não da minha data do calendário da minha fato. Como eu alteraria meu codigo para ele pegar as 5 ultimas datas da minha fato? Alguem me ajuda? Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Solução Erick Oliveira Postado Abril 21, 2023 Alunos Solução Compartilhar Postado Abril 21, 2023 Bom dia @Marcelo Kniss; Segue um exemplo da solução no power query: let DataInicio = #date(2023, 1, 1), DataFim = #date(2023, 4, 19), Datas = List.Dates(DataInicio, Number.From(DataFim) - Number.From(DataInicio) + 1, #duration(1, 0, 0, 0)), Tabela = #table(type table [Data = date], List.Transform(Datas, each {_})), MaiorData = List.Max(Tabela[Data]), VerificarData = Table.AddColumn(Tabela, "Data Atual?", each if [Data] >= Date.AddDays(MaiorData, -5) then "Atual" else "Não Atual", type text) in VerificarData Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Giancarlo Solbiati Postado Abril 19, 2023 Alunos Compartilhar Postado Abril 19, 2023 (editado) Fala Marcelo, Pelo que entendo da sua pergunta, voce quer criar uma coluna em que qualquer dado dos ultimos 5 dias, usando como referencia a data mais recente da sua tabela fato, seja considerado como"Atual" e qualquer dado com mais de 5 dias seja considerado como "Nao Atual". Entendi correto? Caso sim, e simples, fiz aqui uma DAX que funcionou. Vou colocar aqui depois comento sobre os potenciais erros do seu calculo. Neste caso, basta copiar o codigo que esta abaixo no screenshot e adaptar para a sua tabela. Os valores a serem adaptados seriam: (1) Trocar o meu "DimDatePresets(Date)" pela coluna de datas da sua tabela fato. Coluna_Calculada = VAR Dado_Atual = MAX(DimDatePresets[Date]) - 5 RETURN IF(DimDatePresets[Date] >= Dado_Atual, "Atual", "Nao Atual") Segue o resultado. Lembrando que a data mais recente da minha tabela seria o dia 17 de Abril e, portanto, qualquer data entre o dia 17 de Abril e o dia 12 de Abril deveria retornar como "Atual" e o resto retornar como "Nao Atual". Espero que tenha ajudado e, caso tenha duvidas, so chamar. Forte abraco, Gian Editado Abril 19, 2023 por Giancarlo Solbiati Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Marcelo Kniss Postado Abril 19, 2023 Autor Alunos Compartilhar Postado Abril 19, 2023 19 minutos atrás, Giancarlo Solbiati disse: Fala Marcelo, Pelo que entendo da sua pergunta, voce quer criar uma coluna em que qualquer dado dos ultimos 5 dias, usando como referencia a data mais recente da sua tabela fato, seja considerado como"Atual" e qualquer dado com mais de 5 dias seja considerado como "Nao Atual". Entendi correto? Caso sim, e simples, fiz aqui uma DAX que funcionou. Vou colocar aqui depois comento sobre os potenciais erros do seu calculo. Neste caso, basta copiar o codigo que esta abaixo no screenshot e adaptar para a sua tabela. Os valores a serem adaptados seriam: (1) Trocar o meu "DimDatePresets(Date)" pela coluna de datas da sua tabela fato. Coluna_Calculada = VAR Dado_Atual = MAX(DimDatePresets[Date]) - 5 RETURN IF(DimDatePresets[Date] >= Dado_Atual, "Atual", "Nao Atual") Segue o resultado. Lembrando que a data mais recente da minha tabela seria o dia 17 de Abril e, portanto, qualquer data entre o dia 17 de Abril e o dia 12 de Abril deveria retornar como "Atual" e o resto retornar como "Nao Atual". Espero que tenha ajudado e, caso tenha duvidas, so chamar. Forte abraco, Gian Saberia fazer por PowerQuery? Por DAX ja me ajuda, mas se fosse por PowerQuery seria melhor ainda! Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Marcelo Kniss Postado Abril 21, 2023 Autor Alunos Compartilhar Postado Abril 21, 2023 1 hora atrás, Erick Oliveira disse: Bom dia @Marcelo Kniss; Segue um exemplo da solução no power query: let DataInicio = #date(2023, 1, 1), DataFim = #date(2023, 4, 19), Datas = List.Dates(DataInicio, Number.From(DataFim) - Number.From(DataInicio) + 1, #duration(1, 0, 0, 0)), Tabela = #table(type table [Data = date], List.Transform(Datas, each {_})), MaiorData = List.Max(Tabela[Data]), VerificarData = Table.AddColumn(Tabela, "Data Atual?", each if [Data] >= Date.AddDays(MaiorData, -5) then "Atual" else "Não Atual", type text) in VerificarData Muito thanks, deu certo. Só precisei fazer umas alterações mas era justamente oque eu precisava. Muito obrigado! Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Marcelo Kniss
Oi pessoal, tudo bem? Seguinte:
Eu quero fazer uma coluna na minha tabela fato, onde as 5 ultimas datas dela me retorne como "atual", caso contrário "n atual".
Eu fiz da seguinte forma:
if [dataFatos] = Date.AddDays(DateTime.Date(DateTime.FixedLocalNow()), -5) then "Atual" else "nAtual"
O problema que dessa forma esse resultado estará respeitando o contexto do meu calendário atual, e não da minha data do calendário da minha fato.
Como eu alteraria meu codigo para ele pegar as 5 ultimas datas da minha fato? Alguem me ajuda?
Link para o comentário
Compartilhar em outros sites
4 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