Dodatek Power Query przekształca tabelę z zakresami dat na dzienne

Nov 26 2020

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

2 Hooded0ne Nov 27 2020 at 03:57

Oto jak to zrobiłem.

  1. Dodaj kolumnę niestandardową z formułą = {1 .. [Czas trwania]}
  2. Rozwiń kolumnę niestandardową
  3. Zmień datę rozpoczęcia na typ numeru
  4. Dodaj kolumnę niestandardową z formułą = [data rozpoczęcia] + [niestandardowa] -1
  5. Zmień datę początkową z powrotem na kolumnę typu daty
  6. Usuń niepotrzebne kolumny
  7. 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