データベースまたはキューブを処理しようとするときのエラー メッセージ
この記事は、SQL Server Analysis Servicesでデータベースまたはキューブを処理しようとしたときにエラー メッセージが表示される問題を解決するのに役立ちます。
元の製品バージョン: SQL Server
元の KB 番号: 922673
現象
SQL Server Analysis Servicesでは、business Intelligence Development Studio または SQL Server Management Studio を使用して、データベースまたはキューブSQL Server処理しようとします。 ただし、プロセス操作は失敗し、次のエラー メッセージが表示されます。
エラー メッセージ 1
OLAP ストレージ エンジン
:
のエラー 属性キーが見:
つかりません TableName:
、Column:
ColumnName1、Value:
Value1。 Table:
TableName、Column:
ColumnName2、Value: Value2。エラー メッセージ 2
OLAP ストレージ エンジンのエラー: 属性キーが見つからなかったため、レコードはスキップされました。 属性: 生成されたディメンションの属性 X: 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
構成します。 不明なメンバーは、ニーズに応じて表示または非表示にすることができます。[ 設定の変更 ] ダイアログ ボックスでは、次のすべての設定を使用します。
- プロパティを
KeyErrorAction
ConvertToUnknown に設定します。 - プロパティを
NullKeyNotAllowed
IgnoreError または ReportAndContinue に設定します。 - プロパティを
NullKeyConvertedtoUnknown
IgnoreError または ReportAndContinue に設定します。 - [ エラー数を無視する] をクリックします。
これらの設定はインスタンス全体で設定することも、ディメンションごとにカスタム構成を使用することもできます。
- プロパティを
エラーを無視する
データを修正せずにデータベースまたはキューブを処理する場合は、プロセス操作のエラー構成を設定してエラーを無視できます。 これは、基になるデータを修正する場合にのみ、一時的な回避策として実行する必要があります。 そうしないと、多次元式 (MDX) クエリから予期しない結果が得られます。 エラーを無視するには、次の手順に従います。
- [ Process Database -DatabaseName****] ダイアログ ボックスまたは [ Process Cube -CubeName****] ダイアログ ボックスで、[ 設定の変更] をクリックします。
- [ 設定の変更] ダイアログ ボックスで、[ ディメンション キーエラー ] タブをクリックします。
- [ カスタム エラー構成を使用する] をクリックします。
- [キーが見つかりません] の一覧で、既定値を [レポート] から変更し、[エラーの無視] に進みます。
- [ エラー数を無視する] をクリックします。
- [ OK] を クリックして 、[設定の変更] ダイアログ ボックスを閉じます。
- [ OK] を クリックして、データベースまたはキューブを処理します。
さらに、キューブまたはパーティションのエラー構成を設定して、エラーを無視することもできます。 詳細については、「 キューブ、パーティション、およびディメンション処理のエラー構成」を参照してください。
状態
この動作は仕様です。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示