COUNT の代わりに COUNTROWS を使用する
データ モデル作成者は、テーブル行をカウントする DAX 式を記述する必要が生じることがあります。 テーブルは、モデル テーブル、またはテーブルを返す式である場合があります。
要件は次の 2 つの方法で満たすことができます。 COUNT 関数を使用して列の値をカウントできます。または、COUNTROWS 関数を使用してテーブル行をカウントできます。 どちらの関数でも、カウントされた列に BLANK が含まれていない場合、同じ結果が得られます。
次のメジャー定義は、その例を示しています。 これにより、OrderDate 列の値の数が計算されます。
Sales Orders =
COUNT(Sales[OrderDate])
Sales テーブルの粒度が販売注文ごとに 1 行であり、OrderDate 列に BLANK が含まれていない場合、メジャーによって正しい結果が返されます。
ただし、次のメジャー定義の方がソリューションとして適切です。
Sales Orders =
COUNTROWS(Sales)
2 番目のメジャー定義の方が優れている理由には次の 3 つがあります。
- より効率性が高いので、パフォーマンスが向上します。
- テーブルの列に含まれている BLANK は考慮されません。
- 自己記述される程度に、数式の目的がより明確です。
推奨事項
テーブルの行をカウントする必要がある場合は、常に COUNTROWS 関数を使用することをお勧めします。
関連するコンテンツ
- ラーニング パス:Power BI Desktop で DAX を使用する
- わからないことがある場合は、 Power BI コミュニティで質問してみてください。
- Power BI チームへのご提案は、 Power BI を改善するためのアイデアをお寄せください