Forum Discussion
Transformar tempo entre datas em linhas
Olá!
Desculpem, não sei como clarificar o tema no assunto, mas basicamente tenho uma tabela que possui duas colunas:
- Uma coluna de Data de criação do processo.
- Outra coluna de data de "fim" do processo.
Porém, eu preciso que cada dia entre a data início e data fim sejam transformados em linhas.
Abaixo um print do modelo atual:
Coluna da esquerda é a data de criação, e a coluna da direita é a data de fim.
Ou seja, se o processo abriu no dia 16/01/2023 e fechou no dia 19/01/2023, eu teria 4 linhas para este processo (16/01, 17/01, 18/01 e 19/01).
No caso da data fim estar vazia, queria que existisse uma linha para cada dia que passou entre o início do processo até hoje, já que o processo ainda não foi fechado.
O resultado final ficaria assim:
As linhas se mantém, e existiria uma coluna com a data de controle.
Se houver uma solução para isso, ou se precisarem de mais detalhes, fico à disposição.
Muito obrigado!
Boa tarde marcelocostafil ,
Deves adicionar uma nova coluna calculada com o seguinte código:
try { Number.From (Date.From ([Data])) .. Number.From(Date.From ([DataSaid]))} otherwise { Number.From (Date.From ([Data])) .. Number.From(Date.From (DateTime.LocalNow()))}Depois expandes a coluna e formatas com data:
Atenção que no caso de a coluna Data ser maior que o dia de hoje o código dá nulo:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjTTNzDUNzIwMlYwNLQyMrQyNFPSUXJ29PMEUYl5mYeXJ+YAma4hrkDSycWnOCUxLa04JS0FyDUEYQuEASZWJhZWpuYgUUuEqKmVibmViYFSrE60ElDQwBwkbkKMdWkpxRC7ivFaBjHZjCYmxwIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Data = _t, CodPorto = _t, CodPortoDesc = _t, Carregador = _t, Referencia = _t, Confirmado = _t, #"Data confi" = _t, DataSaid = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Data", type datetime}, {"CodPorto", type text}, {"CodPortoDesc", type text}, {"Carregador", type text}, {"Referencia", type text}, {"Confirmado", Int64.Type}, {"Data confi", type datetime}, {"DataSaid", type datetime}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each try { Number.From (Date.From ([Data])) .. Number.From(Date.From ([DataSaid]))} otherwise { Number.From (Date.From ([Data])) .. Number.From(Date.From (DateTime.LocalNow()))}), #"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Custom"), #"Changed Type1" = Table.TransformColumnTypes(#"Expanded Custom",{{"Custom", type date}}) in #"Changed Type1"
2 Replies
- MFelix
Super User
Boa tarde marcelocostafil ,
Deves adicionar uma nova coluna calculada com o seguinte código:
try { Number.From (Date.From ([Data])) .. Number.From(Date.From ([DataSaid]))} otherwise { Number.From (Date.From ([Data])) .. Number.From(Date.From (DateTime.LocalNow()))}Depois expandes a coluna e formatas com data:
Atenção que no caso de a coluna Data ser maior que o dia de hoje o código dá nulo:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjTTNzDUNzIwMlYwNLQyMrQyNFPSUXJ29PMEUYl5mYeXJ+YAma4hrkDSycWnOCUxLa04JS0FyDUEYQuEASZWJhZWpuYgUUuEqKmVibmViYFSrE60ElDQwBwkbkKMdWkpxRC7ivFaBjHZjCYmxwIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Data = _t, CodPorto = _t, CodPortoDesc = _t, Carregador = _t, Referencia = _t, Confirmado = _t, #"Data confi" = _t, DataSaid = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Data", type datetime}, {"CodPorto", type text}, {"CodPortoDesc", type text}, {"Carregador", type text}, {"Referencia", type text}, {"Confirmado", Int64.Type}, {"Data confi", type datetime}, {"DataSaid", type datetime}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each try { Number.From (Date.From ([Data])) .. Number.From(Date.From ([DataSaid]))} otherwise { Number.From (Date.From ([Data])) .. Number.From(Date.From (DateTime.LocalNow()))}), #"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Custom"), #"Changed Type1" = Table.TransformColumnTypes(#"Expanded Custom",{{"Custom", type date}}) in #"Changed Type1"- marcelocostafilFrequent Visitor