DIVIDE 関数と除算演算子 (/)

データ モデラーとして、分子を分母で除算する DAX 式を記述する場合に、DIVIDE 関数または除算演算子 (/ - スラッシュ) を使用することを選択できます。

DIVIDE 関数を使用する場合は、分子と分母の式で渡す必要があります。 必要に応じて、別の結果を表す値を渡すこともできます。

DIVIDE(<numerator>, <denominator> [,<alternateresult>])

DIVIDE 関数は、ゼロ除算を自動的に処理するように設計されています。 代替結果が渡されず、分母がゼロまたは空白の場合、関数は空白を返します。 代替結果が渡された場合は、BLANK の代わりにそれが返されます。

DIVIDE 関数では、最初に分母の値をテストする必要がないため、便利です。 この関数は、分母の値のテストにおいて、IF 関数よりも最適化されています。 0 での除算のチェックは高コストであるため、パフォーマンスが大きく向上します。 さらに DIVIDE を使用することで、より簡潔で洗練された式になります。

次のメジャー式は安全な除算を行いますが、4 つの DAX 関数を使用します。

Profit Margin =
IF(
    OR(
        ISBLANK([Sales]),
        [Sales] == 0
    ),
    BLANK(),
    [Profit] / [Sales]
)

このメジャー式では、同じ結果が得られますが、より効率性が高く洗練されています。

Profit Margin =
DIVIDE([Profit], [Sales])

推奨事項

分母がゼロまたは空白を返す "可能性がある" 式のときは、常に DIVIDE 関数を使用することをお勧めします。

分母が定数値の場合は、除算演算子を使用することをお勧めします。 この場合、除算は成功することが保証され、不要なテストを回避するため、式のパフォーマンスが向上します。

DIVIDE 関数で代替値を返す必要があるかどうかを慎重に検討してください。 メジャーの場合は通常、空白を返すため、より優れたデザインとなります。 空白を返すことが良いのは、集計が空白の場合、既定ではレポートのビジュアルでグループ化が削除されるためです。 これにより、データが存在するグループにビジュアルを集中させることができます。 必要に応じて、Power BI で、[データのない項目を表示する] オプションを有効にすることで、フィルター コンテキスト内の (値または空白を返す) すべてのグループを表示するように視覚エフェクトを構成できます。