APIを使用した列参照の取得
TDVに用意されているシステムプロシージャを使用して、列参照を取得し、指定されたビュー列を直接参照するビューと列を検出できます。
このプロシージャは、データソーステーブルまたは複合ビューで実行して、テーブルまたはビューの各列が持つアップストリーム参照を把握できます。一度に返される参照レベルは1つだけですが、GetColumnReferencesプロシージャを繰り返し実行して、参照のパスを検出できます。
GetColumnReferencesプロシージャを使用すると、次のことができます。
• ビューを直接参照するすべてのビューと列を一覧表示する
• SELECT句、FROM句、WHERE句、TIMESERIES句などの参照の種類を参照する
• 列が変換されたかどうかを確認する
• 関係するリソースを最初に作成したのは誰か、いつ作成したかを確認する
• 列参照を決定したら、参照されているビューまたはテーブルでGetColumnReferencesプロシージャを再度実行して、次のレベルの参照を決定できる
• GetColumnReferencesプロシージャを公開する
— 新しいデータサービスとして公開します。公開後、JDBC、ODBC、ADO.NETなどのサポートされているプロトコルを使用してアクセスできます。
— REST、SOAPなどのサポートされているプロトコルを使用してアクセスできる新しいWebサービスとして公開します。
ビューの列参照を取得するには
1.Studioで、学習したい列を含むデータソーステーブルまたはビューを開きます。
2.[Info(情報)]タブをクリックし、ビューのパスである[Name(名前)]フィールドの内容全体をコピーします。
3.<localhost>ディレクトリーで、lib/resourceフォルダーに移動し、GetColumnReferencesプロシージャを開きます。
4.[Execute(実行)]をクリックします。Studioから、このプロシージャの入力パラメーターを入力するように求められます。
5.先ほどコピーしたテーブルまたはビューのパス名をresourcePathフィールドに貼り付けます。
6.プロシージャの他の入力値を次のように入力します。
パラメーター | 値の説明 |
resourcePath | 必須。分析するリソースのパスを入力します。サポートされているリソースタイプは、TDV SQLビューまたはデータソーステーブルです。 |
columnFilter | オプション。列系列の結果をフィルタリングするかどうかを指定します。空の場合、フィルタリングは行われません。結果をフィルタリングするには、大文字と小文字を区別しない列名のカンマ区切りのシーケンスを入力し、参照の分析が必要な列を示します。 |
注意: 分析は、指定したビューまたはテーブルがキャッシュされているかどうかを無視して実行されます。
7.[OK]をクリックします。
TDVによってプロシージャが実行され、下部の[Result For columnReferences(columnReferencesの結果)]パネルに列参照が表示されます。
列の内容を次の表に示します。
列 | 説明 |
columnName | 行にエンコードされた列参照を持つリソース列の名前。 |
referentResourcePath | 列参照を含むリソースへのパス。該当しない場合は空です。 |
referentContext | 列が参照されるコンテキスト: • WITH句で、WITH句内の参照を示す • 出力としてのSELECT句で、SELECT句によって射影される参照を示す • 入力としてのSELECT句で、SELECT句によって使用され、射影されない参照を示す • FROM句で、FROM句内の参照を示す • WHERE句で、WHERE句内の参照を示す • TIMESERIES句で、TIMESERIES句内の参照を示す • GROUP BY句で、GROUP BY句内の参照を示す • HAVING句で、HAVING句内の参照を示す • ORDER BY句で、ORDER句内の参照を示す |
referentColumnName | 参照対象列の名前。referenceContextが出力としてSELECT句にある場合にのみ設定されます。ない場合は空です。 |
derivationKind | 派生のタイプを示します。 • Direct。依存関係の値が依存列によって保持されることを示します。 • Indirect。依存関係の値が依存列によって変換されることを示します。 referenceContextが出力としてSELECT句にある場合にのみ設定されます。ない場合は空です。 |
cardinalityInfo | 該当する場合は、次のいずれかです。 • Aggregate。集計関数が従属列の派生に関与していることを示します。 • Analytic。分析関数が従属列の派生に関与していることを示します。 referenceContextが出力としてSELECT句にある場合にのみ設定されます。ない場合は空です。 |
reference | 列参照のテキスト表現。 |
8.列参照の詳細を表示するには、参照を選択し、[Result For columnReferences(columnReferencesの結果)]パネルの[Details(詳細)]ボタンをクリックします。Studioには、選択した列参照の完全な詳細が表示されます。
9.必要に応じて、[Result For columnReferences(columnReferencesの結果)]パネルで、参照されているビューまたはテーブルでGetColumnReferencesプロシージャを再度実行して、次のレベルの参照を決定します。
GetColumnReferencesプロシージャは、参照パスを検出するために必要な回数だけ実行できます。
10.必要に応じて、[Result For columnReferences(columnReferencesの結果)]パネルの[Save to File(ファイルに保存)]をクリックして、結果をカンマ区切り値(*.csv)ファイルとして保存します。
11.必要に応じて、リソースの[Info(情報)]タブで関連するリソースのいずれかを開いて、リソースの作成者と作成日時を確認します。