Dodatek Power Query przekształca tabelę z zakresami dat na dzienne
Używam dodatku Power Query do rozwiązania następującego problemu: trzeba utworzyć dzienny podział danych na podstawie zakresu dat.
Mam tabelę z wynikami kampanii reklamowej. Każdy wiersz to kampania z indeksem jako identyfikatorem. Ma datę rozpoczęcia, datę zakończenia (lub czas trwania) i niektóre pola numeryczne, w tym przypadku AdRequests i Spend. Dla każdego wiersza jest to suma dni w kolumnie Czas trwania.
Muszę cofnąć podsumowanie tego w dane dzienne. Wypełnij dzienne dane wartościami wydatków itp. Będącymi średnią dzienną. Uwaga: liczba kampanii różni się w zależności od projektu, musi być dynamiczna
tj. to jest moja tabela wejściowa
i oto, co chcę, żeby to było. To jest przykład tylko dla pierwszej kampanii, ale tabela musi zawierać je wszystkie, a to różni się w zależności od projektu.
Muszę to dostarczyć jutro, a moje poszukiwania nie przyniosły jak dotąd niczego dobrego. z góry dziękuję za wszelkie pomysły
Odpowiedzi
Oto jak to zrobiłem.
- Dodaj kolumnę niestandardową z formułą = {1 .. [Czas trwania]}
- Rozwiń kolumnę niestandardową
- Zmień datę rozpoczęcia na typ numeru
- Dodaj kolumnę niestandardową z formułą = [data rozpoczęcia] + [niestandardowa] -1
- Zmień datę początkową z powrotem na kolumnę typu daty
- Usuń niepotrzebne kolumny
- Zmień nazwy kolumn
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Index", Int64.Type}, {"Start Date", type datetime}, {"Ad Requests", Int64.Type}, {"Spend", Int64.Type}, {"Duration", Int64.Type}, {"Daily Adrequests", Int64.Type}, {"Daily Spend", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each {1..[Duration]}),
#"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Custom"),
#"Changed Type1" = Table.TransformColumnTypes(#"Expanded Custom",{{"Start Date", Int64.Type}}),
#"Added Custom1" = Table.AddColumn(#"Changed Type1", "Custom.1", each [Start Date] + [Custom] -1),
#"Changed Type2" = Table.TransformColumnTypes(#"Added Custom1",{{"Custom.1", type date}}),
#"Reordered Columns" = Table.ReorderColumns(#"Changed Type2",{"Index", "Custom.1", "Start Date", "Ad Requests", "Spend", "Duration", "Daily Adrequests", "Daily Spend", "Custom"}),
#"Removed Columns" = Table.RemoveColumns(#"Reordered Columns",{"Start Date", "Ad Requests", "Spend", "Duration"})
in
#"Removed Columns"
Przed po