私は、2つのチームのワークロードを評価し、グラフィカルに表示する方法を探しています。一方一方PowerQuery - サブクエリ
、私は行としてプロジェクトとデータセットを持っており、チームのそれぞれの開始時刻と終了日時、AとB
、Iは、データセットを持っています一日増やして
私が望むのは、各チームの毎日のアクティブなプロジェクトの数です。 SQLでは、サブクエリを試してみます...
ありがとうございました。
私は、2つのチームのワークロードを評価し、グラフィカルに表示する方法を探しています。一方一方PowerQuery - サブクエリ
、私は行としてプロジェクトとデータセットを持っており、チームのそれぞれの開始時刻と終了日時、AとB
、Iは、データセットを持っています一日増やして
私が望むのは、各チームの毎日のアクティブなプロジェクトの数です。 SQLでは、サブクエリを試してみます...
ありがとうございました。
私は各データセットに対してクエリを作成します(おそらくすでにこれらのデータセットを持っているでしょう)。次にそれぞれにカスタムカラムを追加します。
Dummy Merge Key
= 1
それから私は、ダミーのキーをマージに参加、「日」のクエリとそれを組み合わせるために、「プロジェクト」クエリにマージステップを追加します。次に、結果のNewColumnを展開して、必要な「日」のクエリ列(Dateなど)を取得します。
この時点では、クロスジョイン(SQL用語で)があります。次に、カスタム/条件付きの列を追加します。
[開始日]の範囲内の[日付]値を持つ行のみを保持するために、結果の列= trueをフィルタリングできます。
"Projects"データ構造(Start & End Columnが重複している)は明らかにこの目的のためには厄介です。コードを繰り返し入力するのを避けるためには、まずそれをアンピボットする必要があります。
これがまだ必要かどうか疑問に思う(とにかく、他の人も役に立つかもしれない)。 :)私は、このソリューションを提供することができます
:
let
//Create example source tables
Projects = Table.FromColumns(
{
{"P001","P002"},
{#date(2016,10,06), #date(2016,10,11)},
{#date(2016,10,11), #date(2016,10,16)},
{#date(2016,10,16), #date(2016,10,21)},
{#date(2016,10,24), #date(2016,10,29)}
},
{"Project_No", "Start_Team_1", "End_Team_1", "Start_Team_2", "End_Team_2"}),
Dates = Table.TransformColumnTypes(Table.FromColumns({List.Transform({1..31}, each #date(2016,10,_))}, {"Date"}),{{"Date", type date}}),
//Add dummy columns, join, remove dummy columns
Join = Table.RemoveColumns(
Table.Join(
Table.AddColumn(Dates, "tmp1", each 1), {"tmp1"},
Table.AddColumn(Projects, "tmp2", each 1), {"tmp2"},
JoinKind.FullOuter
)
, {"tmp1", "tmp2"}),
//Group dates and count required rows
GetResult = Table.Group(Join, {"Date"},
{
{"Team1_Prj_Count", each Table.RowCount(Table.SelectRows(_, each [Start_Team_1] <= [Date] and [End_Team_1] >= [Date])), type number},
{"Team2_Prj_Count", each Table.RowCount(Table.SelectRows(_, each [Start_Team_2] <= [Date] and [End_Team_2] >= [Date])), type number}
})
in
GetResult
はあなたの問題を解決するために見えます。