Power Query wandelt eine Tabelle mit Datumsbereichen in täglich um

Nov 26 2020

Ich verwende Power Query, um das folgende Problem zu lösen: Es muss eine tägliche Aufteilung der Daten basierend auf einem Datumsbereich erstellt werden.

Ich habe eine Tabelle mit Werbekampagnenergebnissen. Jede Zeile ist eine Kampagne mit Index als ID. Es hat ein Startdatum, ein Enddatum (oder eine Dauer) und einige numerische Felder, in diesem Fall AdRequests und Spend. Für jede Zeile ist es eine Summe für die Anzahl der Tage in der Spalte Dauer.

Was ich tun muss, ist, dies in täglichen Daten zusammenzufassen. Füllen Sie daraus tägliche Daten mit Ausgabenwerten usw. als Tagesdurchschnitt. Hinweis: Die Anzahl der Kampagnen variiert von Projekt zu Projekt. Sie müssen dynamisch sein

dh das ist meine Eingabetabelle

und hier ist was ich will, dass es ist. Dies ist nur ein Beispiel für die erste Kampagne, aber die Tabelle muss alle enthalten, und das variiert von Projekt zu Projekt.

Ich muss das morgen liefern, und bis jetzt hat meine Suche nichts entfernt Gutes ergeben. Vielen Dank für alle Ideen im Voraus

Antworten

2 Hooded0ne Nov 27 2020 at 03:57

So habe ich es gemacht.

  1. Fügen Sie eine benutzerdefinierte Spalte mit der Formel = {1 .. [Dauer]} hinzu
  2. Erweitern Sie die benutzerdefinierte Spalte
  3. Ändern Sie das Startdatum in den Nummerntyp
  4. Fügen Sie eine benutzerdefinierte Spalte mit der Formel = [Startdatum] + [Benutzerdefiniert] -1 hinzu
  5. Ändern Sie das Startdatum wieder in eine Datumstypspalte
  6. Löschen Sie nicht benötigte Spalten
  7. Spalten umbenennen



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"

Vorher Nachher