data-service
latest
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。
UiPath logo, featuring letters U and I in white

Data Fabric ユーザー ガイド

最終更新日時 2025年7月16日

エンティティをプロジェクトで使用する

データファブリックで作成したエンティティを利用することで、煩雑な作業が不要で、1つのオブジェクトにデータを集約して管理・操作することができます。そのためには、Studio の v2020.8 以降が必要です。

以下のサンプルでは、オリンピック大会とメダルに関するデータのうち、競技の各カテゴリにおける上位 10 か国と、それらの国々が獲得したメダルのデータを収集します。

データファブリックのエンティティ

エンティティを作成する」ページに詳細に記載された手順を実行して、参加国、開幕日と閉幕日、各国が獲得したメダルに関する情報を保存するエンティティを作成しました。

Olympics」(オリンピック) エンティティには、名前 (Name)、参加国 (Nations)、開幕日 (Opening Date)、閉幕日 (Closing Date) といったフィールドがあります。「Medals」(メダル) エンティティには、国 (Country)、金 (Gold)、銀 (Silver)、銅 (Bronze)、総メダル数 (Total) といったフィールドがあります。これら 2 つのエンティティは、Relationship タグによって互いにリンクされています。



Studio にインポートされるエンティティ

Studio のワークフロー内にエンティティをインポートします。

次のワークフローは、特定のオリンピック大会に関する情報をスクレイピングし、データを引数にマッピングして、それらをメイン ワークフローに渡します。



そのために、収集する情報の種類ごとに引数を定義し、5 つの引数がインポートされました。



エンティティを使用することで、データの収集に必要な作業は 2 つの引数のインポートと処理だけになりました。

手記: エンティティは、使用前に new 演算子を使用して初期化されるか、 Data Fabric から読み取られるか、ワークフロー内の入力引数を介して渡される必要があります。そうしないと、エンティティの値を代入したり読み出したりしたときにエラーが発生する可能性があります。


収集されたデータは、2 つの引数 inOlympics YearoutOlympics および対応するプロパティにマッピングされます。これらは、エンティティ内で定義されたフィールドと同じです。エンティティを使用し、対応するエンティティ フィールドにデータを適切にマッピングすることで、情報を渡すために必要な引数の数を減らすことができます。

データ レコードを作成する

データが収集されたら、[ エンティティ レコードを作成] アクティビティを使用して その情報を Data Fabric に追加できます。

この例では、収集した情報を データファブリックに渡すために、インポートした引数を使用しました。入力レコードと出力レコードは、データの受け渡しに使用される Olympics 型の変数の値です。



プロジェクトの実行後、 Data Fabric に次のレコードが作成されました。



構造化データでレコードを作成する

データ テーブルに構造化されたレコードは、[ 繰り返し (各行)] アクティビティを使用して データ ファブリック に渡すことができます。この例では、各国が獲得したメダル数に関する構造化データを収集し、これらのレコードを データファブリックに渡すワークフローを呼び出しています。



ワークフローの実行後、以下のデータが データファブリックに保存されます。



Olympics」エンティティと「Medals」エンティティ間に設定されたリレーションシップによって、一方のデータ レコードを他方で使用することができます。たとえば、「Medals」エンティティ内の「Olympics」フィールドの値は、関連エンティティ内の値と同じになります。

クエリ関連のレコード

[ エンティティ レコードにクエリを実行] アクティビティを使用して、 Data Fabric からレコードのリストを抽出できます。次の例で使用しているアクティビティでは、「 Olympics 」エンティティのデータ レコードに対してクエリを実行し、ユーザーがオリンピックの特定の大会を選択して、「 Medals 」エンティティから各参加国が獲得したメダル数を書き出せるようにしています。



Olympics」の表にクエリを実行するために、クエリ ビルダーName != NULL 条件を使用しました。これは、「Name」列のすべてのレコードを順に listOlympics 変数に出力し、[入力ダイアログ] アクティビティで使用できるようにします。
オプションとしてレコードのリストを表示するために、[入力ダイアログ] アクティビティでは、ラムダ式 listOlympics.Select(Function (o as Olympics) o.Name).ToArray を使用します。代わりに [繰り返し (コレクションの各要素)] アクティビティを使用する方法もあります。
選択は selectedOlympics 変数にマッピングされ、もう一つの [エンティティ レコードにクエリを実行] アクティビティで、特定の大会で獲得したメダルのリストを順に調べるために使用されます。この条件は、クエリ ビルダーequals オプションを使用して設定されました。


クエリは選択したエンティティと、その関連エンティティのレコードに対して実行できます。

ページネーション

データファブリック には、多数のレコードを格納できる可能性があります。特定の数のレコードのみに対してクエリを実行するには、[ エンティティ レコードにクエリを実行] アクティビティの[ページネーション] プロパティを使用します。Top プロパティでサポートされる最大数は 1,000 件です。これは、一度に 1,000 件のレコードをクエリできることを意味します。

この例では、最初の 5 件のレコードに対してクエリを実行してから、次の 5 件に対して実行するという方法を、リストの最後のレコードが取得されるまで繰り返します。



これを実行するために、Int64 型の 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 でデータを渡したりレコードを更新したりするための他の多くのシナリオで使用できます。

このページは役に立ちましたか?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
Uipath Logo