29

先日、ファクト テーブルとディメンション テーブルのテーブル/列名を変更した後、キューブを再構築しようとしていました。

プロセス キューブ アクションは、次のエラー メッセージを返し続けました:

処理中に属性キーが見つかりません: テーブル: 'MyFactTableName'、列: 'MyDimensionKey'、値: 'SomeValue'。属性は「MyDimensionKey」です。

同様の質問に対する他の回答では、値が重複している属性、および属性値が Dimension テーブルまたは Fact テーブルのいずれかで null または欠落している場合について言及されていました。

関連する投稿の例は次のとおりです。

私の場合、重複する値はなく、ファクト テーブルまたはディメンション テーブルのいずれにも属性値がありませんでした。

ありがたいことに、この投稿の情報が私の問題を解決しました。

提案は、影響を受けるディメンションを単独で処理してから、影響を受けるメジャー グループを処理することでした。

なぜこれが起こるのか、どうすればこれを再現できますか?次回はそれを回避できるようにするため、または本番環境へのアップグレードの展開中に悪いときに再びポップアップしないようにするために知りたいです。

よろしくお願いします。

編集: SSAS-2008 を使用していますが、BIDS-2008 内からキューブを処理しようとしたときにエラーが発生しました。

4

5 に答える 5

25

これは、関連するディメンションの前にメジャー グループが処理されるために発生します。SSAS は、キューブ ディメンションに関連付けるために使用される外部キーに遭遇しますが、そのキーはディメンション自体には認識されていません。

于 2014-02-05T12:26:23.753 に答える
16

このエラーの根本的な原因: いくつかのキーがファクト テーブルに存在し、それがディメンション テーブルに存在しない (理想的には、そうであってはならない) 次の手順を試してください。

  1. メジャー グループを処理する前にディメンションを処理する

  2. 「SomeValue」が 0 の場合は、ディメンション テーブルにデフォルト (0 番目) の行を追加してみてください。また、ファクト テーブルに ISNULL(MyDimensionKey,0) を入れてみてください。

  3. 上記の 2 つの解決策が機能しない場合は、次のことを試してください。キューブ データベースを右クリックし、[プロセス] >> [設定の変更] に移動します。「ディメンション キー エラー」タブに移動します c. d. [カスタム エラー構成を使用する] ラジオ ボタンをオンにします。[エラー カウントを無視する] ラジオ ボタンをオンにします。「キーが見つかりません」の場合は、「エラーを無視する」を選択します。同様に、「Null キーは許可されていません」の場合も、「エラーを無視する」を選択します。[OK] をクリックして、キューブを処理してみてください

于 2016-05-18T08:40:36.340 に答える
2

同様のエラーで問題が発生しました。その理由は、テーブル名を同じ名前のビューに変更したが、DSV またはディメンションがこの変更を自動的に調整できなかったためです。

そのため、各ディメンション属性の背後にあるフィールドを手動で更新する必要がありました。

各ディメンション属性のプロパティで実行できます: Source>>KeyColumns>>"Attribename">>Source>>TableID, columnID

于 2015-01-26T14:24:42.393 に答える
1

基になるDBには「ABC」と「abc」の2つのレコードがあり、SQLサーバーでは大文字と小文字が区別されないため、Distinct句によってそれらが1( "ABC")レコードになりますが、SSASサービスでは私の場合は大文字と小文字が区別されるため、属性値「abc」はキューブの処理時にキーを見つけることができません。こんにちは

于 2013-03-13T02:21:46.503 に答える
0

これをテストして、このディメンションのように小さく始めましょう:

寸法

これが私の解決策でした:

ここに画像の説明を入力

于 2015-07-09T20:41:51.927 に答える