ストアド・プロシージャまたはSELECT文による物理列の移入

物理表のソース・タイプとしてストアド・プロシージャまたはSELECT文を選択した場合は、物理列を作成し、それらに移入するストアド・プロシージャを記述するか、SELECT文を作成します。

ストアド・プロシージャによって移入された列ではプレビューを使用できません。

この情報を使用すると、ストアド・プロシージャまたはSELECT文の作成に役立ちます:

  • ストアド・プロシージャ - デフォルトのストアド・プロシージャおよびデータベース固有のストアド・プロシージャを提供します。この表に対するリクエストによって、指定したストアド・プロシージャがコールされます。問合せ対象のデータベース・タイプに対応するデータベース固有の文字列が定義されていない場合は、デフォルトの初期化文字列が実行されます。

    Oracle Database内のストアド・プロシージャからは、結果セットが返されないことがあります。ストアド・プロシージャをAnalytics Cloud内から開始することはできません。プロシージャをOracleファンクションとしてリライトし、初期化ブロックのSELECT文でOracleファンクションを使用して、Oracleファンクションを適切なセッション変数に関連付ける必要があります。

    次の例は、USERGROUPおよびDISPLAYNAME変数に関連付けられたGET_ROLESファンクションを使用したSQL初期化文字列を示しています。このファンクションは、パラメータとしてユーザーIDを取得し、セミコロンで区切られたグループ名リストを返します。

    SELECT user_id, get_roles(user_id), first_name || ' ' || last_name
    FROM csx_security_table
    WHERE user_id = ':USER' and password = ':PASSWORD'
  • SELECT文 - デフォルトのSELECT文と、選択したデータベースのSELECT文を提供します。表の列は手動で作成する必要があります。それぞれの列名は、SELECT文で指定したものと一致する必要があります。集計やCASE文などのSQL拡張機能の場合には列の別名が必要です。

    問合せ対象のデータベース・タイプに対応するデータベース固有のSELECT文が定義されていない場合は、デフォルトのSELECT文が実行されます。

  1. ホーム・ページで、「ナビゲータ」「セマンティック・モデル」の順にクリックします。
  2. 「セマンティック・モデル」ページで、セマンティック・モデルをクリックして開きます。
  3. 「物理レイヤー」をクリックします。
  4. データベース・ペインで、ストアド・プロシージャまたはSELECT文を追加する表を参照してダブルクリックします。
  5. 物理表で「一般」タブをクリックし、「ソース」フィールドで「ストアド・プロシージャ」または「SELECT文」を選択します。
  6. 「列」タブをクリックします。
  7. 「列の追加」をクリックし、「新規列の作成」を選択して、データの格納に必要な新しい物理列を追加します。必要に応じてさらに列を追加します。
  8. 選択したソースに応じて、「デフォルト」フィールドに移動し、デフォルトのストアド・プロシージャまたはSELECT文を入力します。
  9. オプション: 特定のデータベース・タイプ用に記述されたストアド・プロシージャまたはSELECT文を追加するには、「追加データベースの問合せを指定します」をクリックし、「追加データベースの追加」をクリックして、必要なデータベースを選択します。
  10. オプション: データベースのリストで、データベースをクリックし、必要なストアド・プロシージャまたはSELECT文を入力します。
  11. 「保存」をクリックします。