データ ソースとしての OData フィードの使用
OData (Open Data Protocol の略) を使用して、Insight Web ベースのデータ ソースへのデータ ソース接続を展開します。
Insight は、クエリを実行するための OData 4.0.x をサポートしています。詳細については、OData の Web サイトを参照してください。
データ ソースとしての OData の定義
-
次の手順のいずれかを実行してください:
-
メインパネルの [ガイド] で、[新しいデータ ソースの追加] をクリックしてください。
-
[ドキュメント ツリー] で、[データ ソース] を右クリックして、[新しいデータ ソース] を選択してください。
-
- データソースに名前を割り当てて、[OK] をクリックしてください。
- [データベース タイプ] メニューで、[OData フィード] を選択します。
- [プロバイダ名] リストで、該当する接続タイプを選択します。
- [URL] を入力して、データ ソースへのパスを指定します。
- オプションです。ユーザー名とパスワードを入力します。OData の場合、基本認証のみがサポートされます。
- [接続] をクリックして、Studio がデータベースに接続できることを確認するためのテスト接続を実行します。接続が確立されると、円形インジケータが緑色に変わります。
-
OData サービスから必要なメタデータを追加するには、[テーブルの追加] をクリックしてテーブル名を手動で入力するか、[テーブルの取得] をクリックして使用可能なテーブルのリストを要求し、リストからテーブルを選択します。Insight は、次のプロパティ タイプをサポートしています。
-
プリミティブ (文字列、数字、ブール、日付)
-
複合 (他のサブタイプを含むプロパティ タイプ)
Insight は、コレクションのプロパティをサポートしていません。 -
- [アクション] ツールバーで、更新されたデータソースを必ず保存する事に確認します。
OData ベースのレコードと指標
保存されたオンデマンドのレコードと指標のデータ ソースとして、OData を使用します。この場合、Insight は集計および変換せずに OData テーブルから必要なデータを選択し、データをデータ データベースの一時テーブルに挿入してから、一時テーブルからデータを集約します。
レコード用の JOIN (UNION) OData ソース
複数の OData メソッドからのデータを結合または統合することができます。この場合、Insight は各メソッドへの個別の要求を実行します。各メソッドのデータはデータ データベースの一時テーブルに挿入され、すべてのデータがデータ データベースに結合されます。
OData ベースのレコードと指標の派生フィールド
OData はバージョン 4.0.1 以降の派生計算をサポートしていますが、プロバイダ側の制限により、Insight では同様のサポートが提供されていません。
そのため、すべての派生フィールドは [ソース DB 内のプロセス] オプションに関係なく、データ データベースで計算されます。Insight は、OData サービスからデータを読み取ってデータ データベースの一時テーブルにデータを挿入してから、メインのレコード テーブルにデータを追加して、派生フィールドを計算します。
OData ベースのレコードと指標の集計および変換
すべての集計と変換は、データ データベース側で実行されます。
OData ベースのレコードのフィルタ
Insight では、$filter クエリ部分にすべてのフィルタが追加されます。
適切な結果が確実に返されるようにするには、必要なフィルタが、選択した OData ソースでサポートされていることを確認してください。必要なフィルタがサポートされていない場合は、次の回避策を実行します。
- OData でサポートされているフィルタを使用する一時的な OData ベースのオンデマンド レコードを作成します。
- 新しいレコードを作成し、前の手順の 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" }