- 基本情報
- ライセンス
- セットアップと構成
- サービスの利用
- 参照
- 例とチュートリアル
- ログ

Data Fabric ユーザー ガイド
データファブリックで作成したエンティティを利用することで、煩雑な作業が不要で、1つのオブジェクトにデータを集約して管理・操作することができます。そのためには、Studio の v2020.8 以降が必要です。
以下のサンプルでは、オリンピック大会とメダルに関するデータのうち、競技の各カテゴリにおける上位 10 か国と、それらの国々が獲得したメダルのデータを収集します。
「エンティティを作成する」ページに詳細に記載された手順を実行して、参加国、開幕日と閉幕日、各国が獲得したメダルに関する情報を保存するエンティティを作成しました。
「Olympics」(オリンピック) エンティティには、名前 (Name)、参加国 (Nations)、開幕日 (Opening Date)、閉幕日 (Closing Date) といったフィールドがあります。「Medals」(メダル) エンティティには、国 (Country)、金 (Gold)、銀 (Silver)、銅 (Bronze)、総メダル数 (Total) といったフィールドがあります。これら 2 つのエンティティは、Relationship タグによって互いにリンクされています。
Studio のワークフロー内にエンティティをインポートします。
次のワークフローは、特定のオリンピック大会に関する情報をスクレイピングし、データを引数にマッピングして、それらをメイン ワークフローに渡します。
そのために、収集する情報の種類ごとに引数を定義し、5 つの引数がインポートされました。
エンティティを使用することで、データの収集に必要な作業は 2 つの引数のインポートと処理だけになりました。
inOlympics Year
と outOlympics
および対応するプロパティにマッピングされます。これらは、エンティティ内で定義されたフィールドと同じです。エンティティを使用し、対応するエンティティ フィールドにデータを適切にマッピングすることで、情報を渡すために必要な引数の数を減らすことができます。
データが収集されたら、[ エンティティ レコードを作成] アクティビティを使用して その情報を Data Fabric に追加できます。
この例では、収集した情報を データファブリックに渡すために、インポートした引数を使用しました。入力レコードと出力レコードは、データの受け渡しに使用される Olympics 型の変数の値です。
プロジェクトの実行後、 Data Fabric に次のレコードが作成されました。
構造化データでレコードを作成する
データ テーブルに構造化されたレコードは、[ 繰り返し (各行)] アクティビティを使用して データ ファブリック に渡すことができます。この例では、各国が獲得したメダル数に関する構造化データを収集し、これらのレコードを データファブリックに渡すワークフローを呼び出しています。
ワークフローの実行後、以下のデータが データファブリックに保存されます。
「Olympics」エンティティと「Medals」エンティティ間に設定されたリレーションシップによって、一方のデータ レコードを他方で使用することができます。たとえば、「Medals」エンティティ内の「Olympics」フィールドの値は、関連エンティティ内の値と同じになります。
[ エンティティ レコードにクエリを実行] アクティビティを使用して、 Data Fabric からレコードのリストを抽出できます。次の例で使用しているアクティビティでは、「 Olympics 」エンティティのデータ レコードに対してクエリを実行し、ユーザーがオリンピックの特定の大会を選択して、「 Medals 」エンティティから各参加国が獲得したメダル数を書き出せるようにしています。
Name != NULL
条件を使用しました。これは、「Name」列のすべてのレコードを順に listOlympics
変数に出力し、[入力ダイアログ] アクティビティで使用できるようにします。
listOlympics.Select(Function (o as Olympics) o.Name).ToArray
を使用します。代わりに [繰り返し (コレクションの各要素)] アクティビティを使用する方法もあります。
selectedOlympics
変数にマッピングされ、もう一つの [エンティティ レコードにクエリを実行] アクティビティで、特定の大会で獲得したメダルのリストを順に調べるために使用されます。この条件は、クエリ ビルダーの equals
オプションを使用して設定されました。
クエリは選択したエンティティと、その関連エンティティのレコードに対して実行できます。
ページネーション
データファブリック には、多数のレコードを格納できる可能性があります。特定の数のレコードのみに対してクエリを実行するには、[ エンティティ レコードにクエリを実行] アクティビティの[ページネーション] プロパティを使用します。Top プロパティでサポートされる最大数は 1,000 件です。これは、一度に 1,000 件のレコードをクエリできることを意味します。
この例では、最初の 5 件のレコードに対してクエリを実行してから、次の 5 件に対して実行するという方法を、リストの最後のレコードが取得されるまで繰り返します。
skip
変数に初期値 0
を代入してから、その値を各ループの後でインクリメントし、それを最後のレコードが取得されるまで繰り返します。
最初の 5 つのメダルを取得した後、[繰り返し (コレクションの各要素)] アクティビティを使用して、参加国およびそれらの国々が獲得したメダル数をメモ帳ファイルに書き出します。
以下のシナリオでは、 Data Fabric でエンティティ スキーマを更新してから、そのデータを Studio と同期する手順を説明します。
Data Fabric で、「 Medals 」エンティティに移動し、「 新しいフィールドの作成 」を選択して、新しい列「 Yes/No 」型の「 HostCountry」(開催国) を追加します。[ 保存] を選択します。
Studio で [エンティティを 管理] を選択し、[ 更新 ] ボタンを選択します。[ 変更] 列に示されているように、 Medals エンティティで変更が検出されました。[ 保存 ] を選択すると、Studio でエンティティが更新されます。
[ エンティティ レコードを更新 ] アクティビティを使用して、ワークフローから Data Fabric にレコードを直接更新できます。
この例では、「Medals」エンティティの特定のレコードに対してクエリを実行し、上記のアクティビティを使用してそれらを自動的に更新しています。
「Medals」エンティティでは、各大会の開催国を、国名の横にアスタリスクを付加して示しています。たとえば、2012 年大会の場合、開催国が「Olympics」列に「Great Britain (GBR)*」(英国) として記録されています。
listMedals
変数に取得します。次に、[繰り返し (コレクションの各要素)] アクティビティを使用して各項目をループし、その特定の大会が開催された国の横の「HostCountry」列に「True」値を代入します。
[ エンティティ レコードを更新] アクティビティは、 Data Fabric でデータを渡したりレコードを更新したりするための他の多くのシナリオで使用できます。