データ ソースとしての OData フィードの使用

OData (Open Data Protocol の略) を使用して、Insight Web ベースのデータ ソースへのデータ ソース接続を展開します。

Insight は、クエリを実行するための OData 4.0.x をサポートしています。詳細については、OData の Web サイトを参照してください。

データ ソースとしての OData の定義

  1. 次の手順のいずれかを実行してください:
    • メインパネルの [ガイド] で、[新しいデータ ソースの追加] をクリックしてください。

    • [ドキュメント ツリー] で、[データ ソース] を右クリックして、[新しいデータ ソース] を選択してください。

  2. データソースに名前を割り当てて、[OK] をクリックしてください。
  3. [データベース タイプ] メニューで、[OData フィード] を選択します。
  4. [プロバイダ名] リストで、該当する接続タイプを選択します。
  5. [URL] を入力して、データ ソースへのパスを指定します。
  6. オプションです。ユーザー名とパスワードを入力します。OData の場合、基本認証のみがサポートされます。
  7. [接続] をクリックして、Studio がデータベースに接続できることを確認するためのテスト接続を実行します。接続が確立されると、円形インジケータが緑色に変わります。
  8. OData サービスから必要なメタデータを追加するには、[テーブルの追加] をクリックしてテーブル名を手動で入力するか、[テーブルの取得] をクリックして使用可能なテーブルのリストを要求し、リストからテーブルを選択します。Insight は、次のプロパティ タイプをサポートしています。
    • プリミティブ (文字列、数字、ブール、日付)

    • 複合 (他のサブタイプを含むプロパティ タイプ)

    Insight は、コレクションのプロパティをサポートしていません。
  9. [アクション] ツールバーで、更新されたデータソースを必ず保存する事に確認します。

OData ベースのレコードと指標

保存されたオンデマンドのレコードと指標のデータ ソースとして、OData を使用します。この場合、Insight は集計および変換せずに OData テーブルから必要なデータを選択し、データをデータ データベースの一時テーブルに挿入してから、一時テーブルからデータを集約します。

レコード用の JOIN (UNION) OData ソース

複数の OData メソッドからのデータを結合または統合することができます。この場合、Insight は各メソッドへの個別の要求を実行します。各メソッドのデータはデータ データベースの一時テーブルに挿入され、すべてのデータがデータ データベースに結合されます。

OData ベースのレコードと指標の派生フィールド

OData はバージョン 4.0.1 以降の派生計算をサポートしていますが、プロバイダ側の制限により、Insight では同様のサポートが提供されていません。

そのため、すべての派生フィールドは [ソース DB 内のプロセス] オプションに関係なく、データ データベースで計算されます。Insight は、OData サービスからデータを読み取ってデータ データベースの一時テーブルにデータを挿入してから、メインのレコード テーブルにデータを追加して、派生フィールドを計算します。

OData ベースのレコードと指標の集計および変換

すべての集計と変換は、データ データベース側で実行されます。

OData ベースのレコードのフィルタ

Insight では、$filter クエリ部分にすべてのフィルタが追加されます。

適切な結果が確実に返されるようにするには、必要なフィルタが、選択した OData ソースでサポートされていることを確認してください。必要なフィルタがサポートされていない場合は、次の回避策を実行します。

  1. OData でサポートされているフィルタを使用する一時的な OData ベースのオンデマンド レコードを作成します。
  2. 新しいレコードを作成し、前の手順の OData ベースのレコードを追加して、すべてのフィルタが使用されるようにします。

OData ベースのレコードの関数

IF-THEN-ELSE 関数は、OData バージョン 4.0.1 でのみサポートされます。

フィルタ条件では、Insight は次の関数を OData 標準関数にマッピングします。

String 関数:

  • CONCAT

  • CONTAINS

  • POSITION_OF_SUBSTRING (OData 関数: indexof)

  • LENGTH

  • SUBSTR

  • LOWER

  • UPPER

  • TRIM

  • LIKE_PREDICATE (OData 関数: matchesPattern)

Datetime 関数:

  • CURRENT_DATETIME

  • GET_YEAR

  • GET_MONTH

  • GET_DAY

  • GET_HOUR

  • GET_MINUTE

  • GET_SECOND

Math 関数:

  • CEIL

  • FLOOR

  • ROUND

Convert 関数:

  • CAST

  • CONVERT

  • TO_CHAR

  • TO_DATE

  • TO_FLOAT

  • TO_INT

Geometry 関数:

  • Geometry_Intersects

OData ベースのレコードのカスタム クエリ

プロバイダがサポートするオプションのみを使用できます。[テスト] をクリックして、オプションが使用可能で、クエリが実行できることを確認します。OData ベースのレコードのカスタム クエリは、次のような URL またはクエリ オプションの配列の形式で入力します。

  • https://services.odata.org/TripPinRESTierService/Airports?$select=Name,IcaoCode,IataCode,Location&$top=3

  • {
             "entitySet": "Airports",
             "$select": "Name,IcaoCode,IataCode,Location",
             "$top": "3"
              }