データの処理のトラブルシューティング (SSAS テーブル)
このトピックでは、SQL Server データ ツール (SSDT) を使用したモデルの作成時のモデル データの処理 (更新) について説明します。 このトピックでは、Analysis Services サーバー インスタンスに配置されたモデルでのデータの処理については説明しません。 配置済みのモデルでのデータ処理の詳細については、「Analysis Services の管理タスクのスクリプト作成」を参照してください。
このトピックのセクション:
データ処理のしくみ
データ処理の影響
データ ソースの特定
データ ソースの処理日の特定
更新可能なデータ ソースに関する制限
データ ソースへの変更に関する制限
データ処理のしくみ
データを処理すると、モデル デザイナーのデータが新しいデータに置き換えられます。 新しいデータ行のみ、または変更されたデータのみをインポートすることはできません。 モデル デザイナーでは、どの行が追加されたかは追跡されません。
データの処理はトランザクションとして行われます。 つまり、データの更新を開始したら、更新全体が成功するか失敗するかのどちらかになります。データが部分的に正しい状態になることはありません。
SQL Server Data Tools ウィンドウから開始する手動によるデータ処理は、ローカルの Analysis Services のメモリ内インスタンスによって処理されます。 したがって、データ処理操作は、コンピューター上の他のタスクのパフォーマンスに影響する可能性があります。ただし、スクリプトを使用して配置済みモデルでのデータの自動処理をスケジュールする場合は、Analysis Services インスタンスによってインポート処理とそのタイミングが管理されます。
データ処理の影響
通常、データ処理によりデータの再計算が行われます。 データ処理とは、外部ソースから最新のデータを取得することです。再計算とは、変更されたデータを使用するすべての数式の結果を更新することです。 通常、処理操作により再計算が行われます。
したがって、データ ソースを変更したり、データ ソースから取得したデータを処理する前に、その影響について常に考慮し、次のような結果への影響を考慮する必要があります。
データ ソースを変更した結果、モデル データの一部が破損する場合があります。 一部の列をデータ ソースから取得できない場合 (たとえば、列が削除または変更されている場合)、処理は失敗し、ソース データとモデル データの間のマッピングを更新する必要があります。 詳細については、「既存のデータ ソース接続の編集 (SSAS テーブル)」を参照してください。
処理後、一部の列にエラーの存在を示すフラグが設定されることがあります。 処理時に使用できなくなっていたデータを列内の DAX 式が使用している場合、列のデータ型が変更された場合、または無効な値が外部データに追加された場合に、フラグが設定されます。 この問題を解決するには、数式を編集するか、使用できなくなったデータに基づいている列を削除します。
更新されたデータを使用する数式は再計算する必要があります。 モデルのサイズによっては、処理に時間がかかる場合があります。
モデルに複数のデータ ソースが含まれる場合は、1 つの外部データ ソースのみが変更されたときでもモデル全体を処理すること (すべて処理) が必要になる場合があります。 たとえば、計算列に依存するメジャーを作成し、それらの計算列が他の計算列の値を使用する場合、モデル デザイナーはまず依存関係を分析し、次に関連するオブジェクトのチェーン全体を順に処理します。 依存関係の複雑さによっては、この処理に時間がかかることがあります。
フィルターを変更する場合、モデル全体を再計算する必要があります。
データ ソースの特定
モデルのデータのソースがわからない場合は、SQL Server Data Tools のツールを使用して、ソース ファイルの名前やパスなどの詳細を確認することができます。
既存のデータのソースを調べるには
モデル デザイナーで、ソースを特定するデータを含むテーブルを選択します。
[テーブル] メニューをクリックし、[テーブルのプロパティ] をクリックします。
[テーブルのプロパティの編集] ダイアログ ボックスで、[接続名] に表示された値を書き取ります。
SQL Server Data Tools の [モデル] メニューで、[既存の接続] をクリックします。
[既存の接続] ダイアログ ボックスで、手順 3. で特定した名前のデータ ソースを選択して [編集] をクリックします。
[接続の編集] ダイアログ ボックスで、データベース名、ファイル パス、レポート パスなどの接続情報を確認します。
データの最終更新日の特定
[テーブルのプロパティ] を使用して、データの最終更新日を調べることができます。
テーブルが最後に処理された日時を検索するには
モデル デザイナーで、更新日を特定するデータを含むテーブルを選択します。
[テーブル] メニューをクリックし、[テーブルのプロパティ] をクリックします。
[テーブルのプロパティの編集] ダイアログ ボックスの [最終更新時刻] に、テーブルの最終更新日が表示されます。
更新可能なデータ ソースに関する制限
Analysis Services インスタンスの配置済みモデルから自動的に処理できるデータ ソースに、いくつかの制限が適用されます。 次の条件を満たすデータ ソースのみを選択します。
データ ソースは、データ処理時に指定の場所にあり、使用できる必要があります。 元のデータ ソースが、モデルを作成したユーザーのローカル ディスク ドライブにある場合は、そのデータ ソースをデータ処理操作から除外するか、何らかの方法でそのデータ ソースをネットワーク接続経由でアクセス可能な場所にパブリッシュする必要があります。 データ ソースをネットワーク上の場所に移動する場合は、モデル デザイナーでモデルを開いて、データ取得の手順を繰り返します。 この操作は、データ ソース接続プロパティに格納された接続情報を再確立するために必要です。
データ ソースへのアクセスには、データ ソース接続に埋め込まれている資格情報を使用する必要があります。 埋め込みの資格情報は、外部データ ソースに接続するときに、データ ソース接続に作成されます。
データ処理は、指定したすべてのデータ ソースに対して成功する必要があります。 成功しなかった場合、処理されたデータは破棄され、最後に保存したバージョンのモデルが維持されます。 確実でないデータ ソースは除外してください。
モデル内の他のデータを無効にするようなデータ処理を行わないでください。 データのサブセットを処理するときは、時期の異なる静的データと新しいデータを集計してもモデルが引き続き有効になるかどうかの判断が重要になります。 データの依存関係を理解し、データ処理がモデルにとって適切かどうかを確認するのは、モデル設計者の責任です。
外部データ ソースには、テーブルのインポート ウィザードを使用してモデルに元のデータをインポートしたときに指定した、埋め込まれた接続文字列、URL、または UNC パスを通してアクセスします。 データ ソース接続に格納された元の接続情報は、後でデータ更新操作を行うときに再使用されます。 データ処理の目的で作成され管理されている個別の接続情報はありません。既存の接続情報のみが使用されます。
データ ソースへの変更に関する制限
データ ソースへの変更には制限があります。
列のデータ型は互換性のあるデータ型にしか変更できません。 たとえば、列内のデータに小数が含まれている場合は、データ型を整数に変更できません。 ただし、数値データをテキストに変更することはできます。 データ型の詳細については、「サポートされているデータ型 (SSAS 表形式)」を参照してください。
別々のテーブルの列を複数選択して、これらの列のプロパティを変更することはできません。 一度に 1 つのテーブルまたはビューのみを操作できます。