2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【DAX入門】ALL系関数の完全ガイド(ALL / ALLSELECTED / ALLEXCEPT)

Posted at

【DAX入門】ALL系関数の使い分け完全ガイド(ALL / ALLSELECTED / ALLEXCEPT)

Power BIやExcel Power Pivotでデータ分析を行う際、ALL系関数はフィルター制御の要となる重要な関数群です。本記事では、実務で頻繁に使われる3つの関数(ALL/ALLSELECTED/ALLEXCEPT)の違いを、具体例とともに徹底解説します。


ALL関数の基本構文と動作

ALL(<テーブル名>) // テーブル全体のフィルター解除
ALL(<列名>) // 指定列のフィルター解除

主な特徴

  • 指定したテーブル/列の全てのフィルターを解除[1][5]
  • スライサーやページレベルのフィルターも無視[5][7]
  • 全体集計や絶対的な比率計算に最適

実例:カテゴリ別売上比率
カテゴリ比率 =
DIVIDE(
SUM(売上[金額]),
CALCULATE(SUM(売上[金額]), ALL(商品[カテゴリ]))
)


ALLSELECTED関数の特殊な挙動

ALLSELECTED(<テーブル名>) // ユーザー選択範囲を保持

主な特徴

  • ビジュアルやスライサーでのユーザー選択を保持[2][7]
  • 外部フィルターの影響を受ける[5][9]
  • 相対的な比率計算や部分集計に有用

実例:選択範囲内での比率
選択内比率 =
DIVIDE(
SUM(売上[金額]),
CALCULATE(SUM(売上[金額]), ALLSELECTED(商品[カテゴリ]))
)


ALLEXCEPT関数の効率的な活用

ALLEXCEPT(<テーブル名>, <保持列>) // 指定列以外のフィルター解除

主な特徴

  • 指定した列のフィルターを明示的に保持[2][5]
  • グループ集計を維持しながら全体値を参照可能
  • 多次元分析時に威力を発揮

実例:月別カテゴリ比率
月別比率 =
DIVIDE(
SUM(売上[金額]),
CALCULATE(
SUM(売上[金額]),
ALLEXCEPT(売上, 売上[月])
)
)


3関数の比較表

関数 フィルター解除範囲 外部フィルター影響 主な用途
ALL 完全解除 無視 絶対的な全体値
ALLSELECTED ユーザー選択範囲を除く 影響を受ける 相対的な部分集計
ALLEXCEPT 指定列以外を解除 無視 グループ維持した分析

実践的な使い分けポイント

1. ダッシュボード全体のKPI表示

総売上 = CALCULATE(SUM(売上[金額]), ALL(売上))

2. スライサー連動する部分集計

地域別シェア =
DIVIDE(
SUM(売上[金額]),
CALCULATE(SUM(売上[金額]), ALLSELECTED(地域))
)

3. 階層構造のある分析

部門別比率 =
CALCULATE(
SUM(売上[金額]),
ALLEXCEPT(売上, 売上[事業部])
)


よくある落とし穴と回避策

  1. 意図しないフィルター解除
    → 列指定で最小限のフィルター解除を心がける[2][5]

  2. ALLSELECTEDの外部フィルター依存
    → スライサーの設定状態を常に確認[7][9]

  3. パフォーマンス低下
    → テーブル全体より列指定を優先[3][5]


応用テクニック

複合フィルター制御

複合比率 =
DIVIDE(
SUM(売上[金額]),
CALCULATE(
SUM(売上[金額]),
ALL(商品[カテゴリ]),
ALLSELECTED(地域[都道府県])
)
)

動的フィルター連携

動的比率 =
VAR CurrentValue = SUM(売上[金額])
VAR TotalValue = CALCULATE(SUM(売上[金額]), ALLSELECTED())
RETURN DIVIDE(CurrentValue, TotalValue)


まとめ

  • ALL:完全なフィルター解除で「絶対値」取得
  • ALLSELECTED:ユーザー操作を尊重した「相対値」計算
  • ALLEXCEPT:特定の次元を維持した「階層型」分析

実際のプロジェクトでは、これらの関数を組み合わせて使用するケースが多くなります。フィルターコンテキストを意識しながら、目的に応じた適切な関数選択を心がけましょう。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?