Ir para conteúdo
  • 0

Tratamento de dados


IsabelleReis

Pergunta

  • Alunos

Tenho a coluna abaixo com o empenho de alguns materiais:

image.png.1257426776597afcef32643db8f8d14c.png

Essa base de dados é atualizada diariamente. No caso, o que preciso, é que em Empenho M, seja substituído pela primeira data do mes atual, e os próximos siga essa lógica, por exemplo, Empenho M seria 01.05.2024, Empenho M+1 seria 01.06.2024 seguindo dessa forma.

É possivel uma alternativa para isso no power query?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos

Bom diaaa, veja se essa codigo M atende seu objetivo:

 

let
    // Data de hoje
    CurrentDate = DateTime.LocalNow(),
    // Primeiro dia do mês atual
    FirstDayOfCurrentMonth = Date.From(Date.StartOfMonth(CurrentDate)),

    // Tabela original
    Source = Table.FromRecords({
        [Atributo = "Empenho Atraso", Valor = 1293, Data = #date(2024, 4, 1)],
        [Atributo = "Empenho M", Valor = 1293, Data = #date(2024, 4, 5)],
        [Atributo = "Empenho M + 1", Valor = 1293, Data = #date(2024, 3, 1)],
        [Atributo = "Empenho M + 2", Valor = 1293, Data = #date(2024, 5, 1)],
        [Atributo = "Empenho M + 6", Valor = 1293, Data = #date(2024, 1, 1)]
    }),

    // Função para extrair o número de dias a partir do Atributo
    ExtractDays = (atributo as text) as number =>
        let
            parts = Text.Split(atributo, " "),
            lastPart = List.Last(parts),
            dayIncrement = try Number.FromText(lastPart) otherwise 0
        in
            dayIncrement,

    // Adicionando a coluna Numero dias acrescentados
    AddDaysColumn = Table.AddColumn(Source, "Numero dias acrescentados", each ExtractDays([Atributo]), Int64.Type),

    // Atualizando as datas de acordo com a coluna Numero dias acrescentados
    UpdatedTable = Table.AddColumn(AddDaysColumn, "NovaData", each 
        if Text.StartsWith([Atributo], "Empenho M") then Date.AddDays(FirstDayOfCurrentMonth, [Numero dias acrescentados])
        else [Data], type date
    ),
    #"Tipo Alterado" = Table.TransformColumnTypes(UpdatedTable,{{"Atributo", type text}, {"Valor", Int64.Type}, {"Data", type date}, {"Numero dias acrescentados", Int64.Type}, {"NovaData", type date}})
in
    #"Tipo Alterado"



image.png.5bc01ff3d06c58a01af7a92d0600a59d.png

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...