累計
本日
昨日

バインドに指定されたサイズが小さすぎたため、1 つ以上の列の値が切り捨てられました

キューブまたはディメンジョンの処理中に、下記のエラーが表示され生成に失敗することがある。
バックエンド データベースのアクセス モジュールでエラーが発生しました。 バインドに指定されたサイズが小さすぎたため、1 つ以上の列の値が切り捨てられました。
原因は、ファクトデータベース(=データウェアハウス)からキューブまたはディメンジョンにデータを取得する際に、フィールドのサイズが異なっており転送できないということである。筆者がハマッたのは、ファクトデータベースのテーブル定義を変更しあるフィールドのサイズをChar(50)からChar(100)に変更したが、SSASのデータソースビューにサイズ変更が反映されていないためこのエラーが発生しているようであった。これを解決するべく、SSAS側にデータソースビューを「最新の状態に更新」したところ、テーブルの列のプロパティのLengthが100に変わったことを確認できるが、問題は解決しない。

散々調べた結果、これを解決するためには、キューブのソースコードを修正しなければならないことがわかった。
具体的な手順は次の通り。
  1. 該当のキューブを選択し、右クリックでコードを表示する
  2. 該当カラムのDataSizeセクションを探し、カラムサイズを変更する。上記の例の場合は50から100に変更する
  3. キューブを処理する

トラックバック

トラックバックURL:
http://www.apricot-jp.com/cgi/mt/mt-tb.cgi/313

関連情報

Copyright(C) 2007 アーキテクト360 Allrights reserved.