次の方法で共有


データベースまたはキューブを処理しようとしたときのエラー メッセージ

この記事は、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) クエリから予期しない結果が得られます。 エラーを無視するには、次の手順に従います。

  1. Process Database -DatabaseName**** ダイアログ ボックスまたは Process Cube -CubeName**** ダイアログ ボックスで、[Change Settings をクリックします。
  2. [ Change の設定 ] ダイアログ ボックスで、[ Dimension キーのエラー ] タブをクリックします。
  3. [カスタム エラー構成 使用] をクリックします。
  4. Key が見つかりません一覧で、既定値を Report に変更し、続行Ignore エラーに変更します。
  5. エラー数をクリックします。
  6. OK をクリックして、[変更設定] ダイアログ ボックスを閉じます。
  7. OKをクリックして、データベースまたはキューブを処理します。

さらに、キューブまたはパーティションのエラー構成を設定して、エラーを無視することもできます。 詳細については、「 キューブ、パーティション、およびディメンション処理のエラー構成を参照してください。

状態

この動作は設計によるものです。