Power Queryは、日付範囲のあるテーブルを毎日に変換します
Nov 26 2020
Power Queryを使用して、次の問題を解決しています。日付の範囲に基づいてデータの日次分割を作成する必要があります。
広告キャンペーンの結果の表があります。各行は、IDとしてインデックスを持つキャンペーンです。開始日、終了日(または期間)、およびいくつかの数値フィールド(この場合はAdRequestsとSpend)があります。各行について、[期間]列の日数の合計です。
私がする必要があるのは、これを毎日のデータに要約しないことです。支出などの値を1日の平均として、そこから1日のデータを入力します。NBキャンペーンの数はプロジェクトごとに異なり、動的である必要があります
つまり、これは私の入力テーブルです

これが私が望んでいることです。これは最初のキャンペーンの例ですが、テーブルにはそれらすべてが含まれている必要があり、プロジェクトごとに異なります。

私はこれを明日配達しなければなりません、そして今のところ私の検索はリモートで良いものを何ももたらしませんでした。事前にアイデアをありがとう
回答
2 Hooded0ne Nov 27 2020 at 03:57
これが私がそれをした方法です。
- 式= {1 .. [Duration]}のカスタム列を追加します
- カスタム列を展開します
- 開始日を数値タイプに変更します
- 式= [開始日] + [カスタム] -1のカスタム列を追加します
- 開始日を日付タイプの列に戻します
- 不要な列を削除する
- 列の名前を変更する
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"
ビフォアーアフター
