LoginSignup
5
5

More than 1 year has passed since last update.

Power Automate で Dataverse の選択肢のラベルを取得する

Posted at

こんにちは。日本マイクロソフトの向井です。

こちらの記事では、Power Automate でDataverse の選択肢(オプションセット)のラベルを取得する方法をご紹介します。

Power Automate で選択肢型のデータを取得して表示させたいとき、内部の値(数字)は簡単に取得できますが、ラベル(テキスト)の部分を取得して表示するのは意外と難しかったので、こちらに方法をまとめておきます。

1. 下準備

今回のフローはDataverseのレコードが作成・更新・削除された時をトリガーにしています。
トリガーに使う申請というテーブルの中に承認ステータスという選択肢型の列があります。

表示させたい選択肢のラベルが格納されている場所を探すために、一度フローを実行します。

フローには必ず1つ以上のアクションが必要なので、今回はTeamsコネクターの「チャットまたはチャネルでメッセージを投稿する」を使用しました。※アクションは何でも大丈夫です。

image.png

このフローを保存し、実行します。

フローの実行履歴を確認します。
先ほど実行したものの詳細を開きます。
image.png

トリガーの出力のところの、未加工出力の表示をクリックします。
image.png

承認ステータスのラベルが格納されている場所を確認し、メモ帳などにコピーしておきます。
image.png

コピーしたら右上の編集ボタンからフローの編集画面に戻ります。
ちなみに今回作成したフローのように、動的なコンテンツから選択肢型の列を選択すると、画像のように内部の値が取得されます。
image.png

2. 「作成」アクションを使用し、選択肢のラベルを取得する

トリガーの後に新しいアクションを追加します。
組み込み>データ操作>作成 を選択します。
image.png

一度、入力欄に、使用したい選択肢列を動的コンテンツから選択し、入力します。
この動的コンテンツをコピーします。
image.png

今コピーした動的コンテンツを、式に貼り付けます。
image.png

張り付けたものはこのようなコードになっていると思います。
@{triggerOutputs()?['body/cr30e_status']}

ここから先頭の @{ と最後の } を消します。

そうすると、こんな感じになっていると思います。
triggerOutputs()?['body/cr30e_status']
image.png

['body/○○']
となっているところの○○を 1. でメモ帳にコピーしておいた値に変更します。

すると、こんな感じになると思います。
triggerOutputs()?['body/_cr30e_status_label']
image.png

この状態でOKを押します。

作成のところに関数が入りました。
image.png

すると、これ以降のアクションで動的コンテンツから「出力」というものが選べるようになっています。
image.png

この「出力」に選択肢のラベル(テキスト部分)が入っています。

3. テスト

最初に作成したフローのTeamsアクションのMessageを出力に変更し、テストしてみます。
image.png

保存し、フローを実行します。

このように、選択肢のラベルを取得することができました。
image.png

5
5
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
5
5