この記事は、SQL Server Analysis Services でデータベースまたはキューブを処理しようとしたときにエラー メッセージが表示される問題を解決するのに役立ちます。
元の製品バージョン: SQL Server
元の KB 番号: 922673
現象
SQL Server Analysis Services では、SQL Server Business Intelligence Development Studio または SQL Server Management Studio を使用して、データベースまたはキューブを処理しようとします。 ただし、プロセス操作は失敗し、次のエラー メッセージが表示されます。
エラー メッセージ 1
OLAP ストレージ エンジンのエラー
:属性キーが見つかりません:Table:TableName、Column:ColumnName1、Value:Value1。 Table:TableName、Column:ColumnName2、Value: Value2。エラー メッセージ 2
OLAP ストレージ エンジンのエラー: 属性キーが見つからなかったため、レコードはスキップされました。 Attribute: generated attribute X of Dimension: DimensionName from Database: DatabaseName, Cube: CubeName, Measure Group: MeasureGroupName, Partition: PartitionName, Record: RecordNumber.
原因
この問題は、キューブのファクト テーブルに属性キーを含む 1 つ以上のレコードがあり、この属性キーが対応するディメンション テーブルに存在しないために発生します。 この動作は、キューブを処理する前に対応するディメンションを処理していない場合、または基になるテーブルに実際にデータが一致しない場合に発生する可能性があります。 メッセージの "Value:" フィールドの後に数値がない場合は、ファクト テーブルに null データが含まれている必要があります。
解決方法
この問題を解決するには、データ ソースが次の場所を指していることを確認する必要があります。
- SQL Server のインスタンスなど、正しい基になるデータ ソース インスタンス。
- 正しいデータベース。
次に、問題のある属性キーを含む基になるレコードを修正します。 それには、以下のいずれかの方法を使用します。
既存の属性キーを使用する
ステートメントを実行して、既存の属性キーを使用するようにレコードを更新します。
Update <TableName> set <KeyName>=<ExistingKeyValue> where <KeyName>=<BadKeyValue> or <KeyName> IS NULL
ファクト テーブルのキー値と一致する
ファクト テーブルのキー値と一致するように、ディメンション テーブルに追加の行を挿入します。 null 値が存在する場合は、次のいずれかの方法を使用します。
null 値を実際の値に置き換えます。
UnknownMemberプロパティとUnknownMemberNameプロパティを設定して、不明なメンバーを持つディメンションを構成します。 不明なメンバーは、ニーズに応じて表示または非表示にすることができます。[ Change 設定 ] ダイアログ ボックスで、次のすべての設定を使用します。
KeyErrorActionプロパティを ConvertToUnknown に設定します。NullKeyNotAllowedプロパティを IgnoreError または ReportAndContinue に設定します。NullKeyConvertedtoUnknownプロパティを IgnoreError または ReportAndContinue に設定します。- エラー数をクリックします。
これらの設定はインスタンス全体で設定することも、ディメンションごとにカスタム構成を使用することもできます。
エラーを無視する
データを修正せずにデータベースまたはキューブを処理する場合は、プロセス操作のエラー構成を設定してエラーを無視できます。 これは、基になるデータを修正する場合にのみ、一時的な回避策として行う必要があります。 そうしないと、多次元式 (MDX) クエリから予期しない結果が得られます。 エラーを無視するには、次の手順に従います。
- Process Database -DatabaseName**** ダイアログ ボックスまたは Process Cube -CubeName**** ダイアログ ボックスで、[Change Settings をクリックします。
- [ Change の設定 ] ダイアログ ボックスで、[ Dimension キーのエラー ] タブをクリックします。
- [カスタム エラー構成 使用] をクリックします。
- Key が見つかりません一覧で、既定値を Report に変更し、続行を Ignore エラーに変更します。
- エラー数をクリックします。
- OK をクリックして、[変更設定] ダイアログ ボックスを閉じます。
- OKをクリックして、データベースまたはキューブを処理します。
さらに、キューブまたはパーティションのエラー構成を設定して、エラーを無視することもできます。 詳細については、「 キューブ、パーティション、およびディメンション処理のエラー構成を参照してください。
状態
この動作は設計によるものです。