Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
小林 真治
SQL Developer Support Escalation Engineer
今回は、SQL Server Analysis Services 2012 (以下 SSAS 2012) において、「メジャーの AggregateFunction に DistinctCount を指定している」場合における NullProcessing プロパティ値の選択方法について解説します。
問題
SSAS 2012 では、 DistictCount 利用時における NULL 評価を厳密にするため、 NullProcessing プロパティに Preserve が利用されることを制限しました。
このため、SSAS 2012 において、下記条件を含むデータベースを配置/作成しようとすると、エラー「メタデータ マネージャーでエラーが発生しました。 Preserve は、個別のカウント メジャー 'XXXX' の有効な NullProcessing 値ではありません。」が発生します。
- メジャーの AggregateFunction として DistinctCount を指定しているメジャーがキューブ内に存在する。
- 該当メジャーの Source 内の NullProcessing プロパティにおいて Preserve を指定している。
対処策
このエラーに対処するためには、下記の対処策を実施します。
- NullProcessing プロパティの値として、Automatic または ZeroOrBlank を指定する。
尚、これらのプロパティを選択することで、 NULL 値が 数値 0 に変換されます。
また、弊社では ZeroOrBlank を指定することを推奨します。
補足事項
NULL 値を数値 0 と区別して集計する必要がある場合に、Automatic または ZeroOrBlank を選択すると NULL を 0 に変換するため、 NULL 値と数値 0 を区別して集計できません。
DistinctCount で NULL 値を集計する必要がある場合、データソース側で NULL の値を -1 などの値に置換した上で、集計をするよう変更します。