web-dev-qa-db-ja.com

Excel:複数の列からのデータに基づいてスライサーを作成する方法

私はPowerQueryとPower Pivotを使用していくつかのデータを分析しています。複数の列からのデータに基づくスライサーを作成します。通常、スライサーは単一の列に接続されています。

下の表は、私がしようとしていることを説明するために考案された簡単な例です。スライサーをネイティブに、ネイティブに、またはVBAを使用して、このデータをBOROUGH(Brooklyn、Manhattanなど)でスライスすることができます。すべての従業員が1つの場所で働いていた場合、これは簡単になりますが、一部の従業員(SmithとJessop)は複数回機能します。

従業員ブルックリンマンハッタンブロンクススタテン島王妃
メアリーシールド1
ブライアンジョーンズ1
ジョンスミス11
マーティンケース1
Evelyn Jessop.11

私はできる本当に ==したくない、それぞれが単一の自治体に縛られていたが、これは私の実際の分析では醜い解決策であり望ましくないこれは上記よりもはるかに複雑です。前もって感謝します!

編集:私の分析はすでに多数のスライサーを利用しているので、上記はフィルタや他のメカニズムでは達成される可能性がありますが、上記の分析の消費者の利益のためにそれを一貫して保持します。 。

1
user27654

あなたが望むようにフィルタリングできるようにするには、行を掛ける必要があります、良いニュースはあなたが電力クエリでそれを実行できるということです、ここにはそのためのコードがあります:

let
    Source = Table1,
    #"Unpivoted Columns" = Table.UnpivotOtherColumns(Source, {"Employee"}, "Attribute", "Value"),
    #"Renamed Columns" = Table.RenameColumns(#"Unpivoted Columns",{{"Attribute", "location"}}),
    #"Merged Queries" = Table.NestedJoin(#"Renamed Columns", {"Employee"}, #"Renamed Columns", {"Employee"}, "Renamed Columns", JoinKind.LeftOuter),
    #"Expanded Renamed Columns" = Table.ExpandTableColumn(#"Merged Queries", "Renamed Columns", {"location"}, {"EmployeeLocations"})
in
    #"Expanded Renamed Columns"
 _

いくつかのスクリーンショットの例:

enter image description here

enter image description here

エントリをカウントするためのアップデート:

合計を計算するには、「データモデルに追加」オプションを選択してデータをロードする必要があります。

enter image description here

今、あなたは従業員の「明確な数」を計算することができます。

enter image description here

あるいは、行合計を計算するためにも同じ場所に同じことができます。残念ながら同時に両方の合計を正しく計算する方法はありません。

1
Máté Juhász