2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UiPath_Data Fabricで何か値を出してみよう

2
Posted at

はじめに

このブログは2026年1月31日に開催された「UiPath Friends Festival 2026 ~Hello Agentic World ! みんなで語る、エージェンティックオートメーションの世界~」でと、2026年2月27日に開催の「UiPath Friends 東海 ~開いた扉の、その先へ。名古屋で加速するUiPathと創る未来~」の2回にわたるLT登壇で、発表時間の都合上カットした内容について解説するものです。

☟以下該当するイベントです。

今後魅力的かつ役立つイベントも含め発信できればと思います。皆様参加よろしくお願いいたします。
なお本ブログで取り扱うエンティティやデータの中身は、すべてフィクションであり実在の人物・団体・事件などには一切関係ありません。

使用環境

使用バージョンは、UiPath Community Editionの2026.0です。
Data Fabricは、UiPathのAutomation Cloud上に存在します。(Community版でも利用可能)

Data Fabricでどうやって値を出せるの?

Data Fabricの値を出力する場合はどのようにすればいいのか、ちょっとStudioを使って出してみましょう。
(以下は発表資料の一部です)
image.png
※クロスプラットフォームに設定したのは、Studio Webでも実装できるようにするためだったと記憶しています。
認識がずれている場合は補足していただけると幸いです。
image.png

値を出してみようか①

事前にData Fabric上で(なんでもいいので)作っておきましょう。
以下は、私がざざっと適当に作成した「S01学生データ」という学生の情報が書かれたデータです。
※実際はこんな風に公開されるとかなりまずいので、データの取り扱いにご注意ください。データの中身はあくまでも「フィクション」です。

image.png
そしてStudioで取り急ぎ繰り返し処理を使いエンティティの値を出すフローを作ってみました。
image.png

まずはData Fabric内にあるエンティティの種類を選びます。
今回は「S01学生データ」のエンティティ名「S01StudentData」を「エンティティ レコードにクエリを実行」アクティビティを使用してエンティティの中身を出せるようにします。

「エンティティ レコードにクエリを実行」アクティビティとは?

このアクティビティはData Fabricを使用する過程で必須のアクティビティで、対象エンティティの指定するフィルタ条件に基づきDataFabricから選択したエンティティのレコード一覧を取得するものです。
image.png
なおフィルターは必須というわけではありませんが、大量の情報を効率よく抽出したほうが良い場合もありますので自分は設定するタイプです。(特定の項目に値がない場合は削除など)
条件は一つだけでなく、「エントリを追加」で条件を追加することも可能です。
image.png

今回使用した変数は以下の通りです。
Ilist型変数ってなんぞ?と思って調べてみたものの、結局List型ということしかわからず...すみません。
あとエンティティのデータ型はエンティティの名前なんですよね...謎だ。いやそうでもないのか?
image.png
気を取り直して、代入アクティビティで変数と値を設定しましょう。
image.png

「繰り返し(コレクションの各要素)アクティビティを使って値を出してみましょう。

image.png

この時の引数の型は「DataFabric.S01StudentData」となっており「S01学生データ」の値を出せる準備ができました。
image.png
ではログに出してみましょう。
ログに出す際は「For Eachアクティビティの項目名.抽出したい項目名」で記載します。
この時はS01学生データの名前を出してほしいので、項目名"Name"を設定します。
image.png
実行すると、以下のようにNameの項目にあった値が出てきます。
※Data Fabricの登録順で登場していますが、こちらは並べ替えの設定も可能です。
image.png

値を出してみようか②

同じ要領で担任の先生の名前を出してみましょうか。
image.png
すると、担任の先生の番号が出ません。なんで?
image.png

実はこの「TeacherNumber」という項目についてエンティティを確認すると、数字(Number)や文字(Text)でなく、Relationshipという型になっております。このままだと値が正しく出ません。

image.png

Relationship型って何?

公式ドキュメントによると、以下のように記載があります。
image.png
英語なので、文章部分を日本語に訳すと
「リレーションシップフィールドタイプは、2つのエンティティを関連付けるために使用されます。このフィールドは、1対多(1:M)のカーディナリティを使用して、関連エンティティ(1)のフィールドとホストエンティティ(M)を関連付けます。」とあります。
つまり1つの項目には1つ以上の項目が紐づいているということです。

今回の場合、担任1人につき生徒は1人以上いるはずなので以下の構図になります。
なので、「担任」の項目をRelation型にして担任の先生の番号を設定するだけで担任のデータへたどり着けるというわけです。
image.png
つまりこういう関係です。
image.png
これは使用するエンティティと関連するデータをよく理解する必要がありそうですね。

ややこしいポイント

S01学生データにある「担任」の項目は、T01講師データというエンティティにある講師番号(TeacherNumber)と紐づいているため担任の番号はDataFabricの画面上だとちゃんと番号が見えます。
ただロボットを実行してみると値が出なくて「?」になったので一瞬わからないですよね...
初見時こちらはかなり面食らったというか、困ったところでした。(ここはデータベースの知見がある方は理解できるところかと思います。)
image.png

値を出してみようか③

では、これを踏まえどのようにログの書き方を変えればいいでしょうか。
先程学生データで同じことをしたと思うので、講師データについても変数を設定しましょう。
image.png
変数も設定して...
image.png
で、繰り返しアクティビティにあるログを以下のように書き換えましょう。
currentS01StudentData.TeacherNumber.TeacherName
image.png
これは文章でいうと「S01学生データにある担任の番号に紐づくT01講師データの講師番号から講師名(担任の先生の名前)を出力して」という意味です。
これで実行してみると、以下のようになります。
image.png
これで出ましたね!
(名前に突っ込みどころは置いといて...)

確認してみる?

では確認のため「咲良うた」さんという生徒の担任は誰でしょうか。
担任のコードは「20000011002」とあります。
「S01学生データ」のエンティティの値の中身を確認しようとすると、以下のようになりました。
image.png
担任の番号の後ろに何か長いコードのようなものがあります。
これは、関連するエンティティの項目:IDのことです。
IDってどこの?と思うでしょうが、今回の場合はT01講師データのIDの項目を指します。
実際に「--」の後にある23ADD...のコードを確認すると、確かにデータが紐づいていることを確認できました。
image.png

まとめ

Data Fabricについては興味があったものの、これまで実務で使う機会がなくどういうものかイメージがしづらいという背景がありました。
業務で使用中にRelation型が出てきて、当初は「?」という感じでしたが関連づいている値を設定するのはデータベースを学んだ方であればよく理解できると思います。
今後もデータ関連の知見を深めていくことにData Fabricも活用していければと思います。
ここまでお読みくださりありがとうございました。

参考URL

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?