技術情報ブログ
Power Platform
2021.09.08

Power AutomateでDataverse for Teamsの選択肢列・参照列の表示名を取得する方法(FormattedValue / item関数)

Power AutomateでDataverse for Teamsの選択肢列・参照列の表示名を取得する方法(FormattedValue / item関数)
小鷹 枝里子

こんにちは。アーティサン株式会社の小鷹です。

Power AutomateでDataverse for Teamsのテーブルを扱うと、選択肢列や参照列が「動的なコンテンツ」では表示名ではなくID等で取得されることがあります。

本記事では、表示名(FormattedValue)を格納している列を item関数で直接参照する回避方法と、その理由(列構造)を整理して解説します。

Power Automateでは「動的なコンテンツ」を指定すると、取得したデータの列情報を得ることができます。
しかしDataverse for Teamsの選択肢列や参照列については、「動的なコンテンツ」で指定しても表示名ではなく内部のID等、想定と違う情報を取得する場合があります。
※本記事は2021年8月時点の情報をもとに執筆しています。

Dataverse for Teams×Power Automateは、列の種類(選択肢・参照など)によって取得値が変わり、フローが想定外の出力になりがちです。

業務フローに組み込む前に、取得項目・式・例外ケースを短時間で整理したい場合は、フロー設計レビュー(相談)として論点を一緒に棚卸しできます。

Dataverse for Teamsの選択肢列と参照列を「動的なコンテンツ」で設定してみる

Power Automateでは、「動的なコンテンツ」で取得した値を自由に指定できます。
「動的なコンテンツ」は、マウスでクリックするだけで、取得したデータの列やプロパティ等の値を指定できる優れものですが、想定していたものとは違う値が指定されてしまう時があります。

例えば、Dataverse for Teamsで、次のようなテーブルとデータを作成します。

Dataverse for Teams - テーブル

各列に設定したデータ型をそのまま列名にしています。
(参照列は、別途参照用テーブルを作成しています。)
そしてPower Automateでは、作成したDataverse for Teamsテーブルからデータを取得するフローを作成します。

サンプルフロー - 全体図

HTMLテーブルの作成アクションでは、「動的なコンテンツ」で出力する列を指定しています。 また、行を一覧にするアクションの行のフィルターで「テキスト列が”テキスト – 1″と一致する」行だけを出力するように絞っています。
そうすると、”テキスト – 1″の1行だけがHTMLテーブルの作成アクションで出力されるはずです。

では、早速テストして出力結果を見てみましょう。

出力結果1

「選択肢 – 1」や「参照 – 1」の値が取得される想定でしたが、それとは全く違う英数字が格納されました。

選択肢列の「動的なコンテンツ」は1つしかありません。
参照列の「動的なコンテンツ」は、<列名>(値)と<列名>(種類)の2種類ありますが、どちらを選択しても「参照 – 1」の値で取得できませんでした。

動的なコンテンツ - 参照列

「選択肢 – 1」や「参照 – 1」の値を取得するにはどうすればいいのかを、次項で説明します。

回避方法

item関数を使用し、Dataverse for Teamsテーブルから、選択肢列や参照列の表示名を格納している列を直接指定します 。

まず、HTMLテーブルの作成アクションのを「自動」に変更し、全列出力してみます。

Power Automate - HTMLテーブルの出力

出力結果を確認すると、「選択肢 – 1」や「参照 – 1」が入った列も入っていることがわかります。

Power Automate - HTMLテーブルの出力 - 表示名列

「<選択肢列・参照列の内部名>@OData.Community.Display.V1.FormattedValue」という長い列名をitem関数で直接指定すると、欲しい値の「選択肢 – 1」や「参照 – 1」が取得できます。

選択肢列:

item()?[‘<選択肢列の内部名>@OData.Community.Display.V1.FormattedValue’]

参照列(参照列は内部名の前に「_(アンダースコア)」が付きます):

item()?[‘_<参照列の内部名>@OData.Community.Display.V1.FormattedValue’]

Power Automate - HTMLテーブルの出力 - item関数

テストしてみると…

出力結果2

「選択肢 – 1」や「参照 – 1」の値が取得できました。

解説

何故「動的なコンテンツ」で取得出来ないのでしょうか。順を追って説明します。

まず、Dataverse for Teamsテーブルの選択肢列と参照列の構造について解説します。 前の項で全列出力したデータを確認してみましょう。

Power Automate - HTMLテーブルの出力 - 表示名列

例えば、この画像を見ると、選択肢列の内部名「crebdb_choices」が含まれた列が複数あります。一つの選択肢列に対して、内部で複数の列を持っていることがわかります。
参照列も同じように、一つの列に対して内部では複数の列を持っています。

次に、「動的なコンテンツ」にマウスカーソルを乗せてみます。 item()?[‘credb_choices’]と、item関数で選択肢列の内部名が指定されていますね。

マウスオーバー

指定されている「credb_choices」列には、選択肢列の内部的にはIDにあたる値が格納されています。

テキスト列などは「動的なコンテンツ」で問題なく取得できますが、内部で複数列を持つ選択肢や参照列に関しては、「動的なコンテンツ」ではなくitem関数で直接指定する必要があります。

〖おまけ〗items関数

item関数の他に、items関数というよく似た名前の関数があります。

item関数は色々なアクションに使用できる関数ですが、items関数はApply to eachアクション内でのみ使用可能という大きな違いがあります。
関数の書き方自体はitem関数とほぼ一緒です。

例:

items(‘<Apply to eachのアクション名>’)?[‘<列の内部名>’]

さいごに

それでは最後に、Power AutomateでDataverse for Teamsのテーブルから「選択肢列」と「参照列」の表示名を取得したい時のポイントをまとめておきます。

  • Dataverse for Teamsテーブルのデータ型の中には、選択肢型や参照型のように内部で複数の列を持つものがある
  • Dataverse for Teamsの選択肢型と参照型の列の値を取得したい時は、item関数で選択肢列や参照列の「表示名を格納した列」を指定する

今回実現した内容の中では、「item関数を手動設定する」という所が特にキーポイントでした。

普段は「動的なコンテンツ」が自動で設定してくれるのであまり馴染みがないかもしれませんが、手動でも設定できると知っておくとPower Automateでできることが更に広がります。

フローを作成する時に、本記事を思い出していただけたら幸いです。

アーティサン株式会社では、Power AutomateやPower Appsの技術支援も行っております。

もし作成に行き詰った時やアドバイスが欲しい時はお気軽にお問合せ下さい。

 Power Platform(Power Automate、Power Apps)とSharePointの技術支援や開発を担当の小鷹枝里子

小鷹 枝里子

🖊小鷹枝里子さんのブログ一覧はこちら

2016年12月、メーカーの事務兼CADオペレーターから未経験のIT業界に飛び込もうとアーティサンに入社。

今は主に Power Platform(Power Automate、Power Apps)とSharePointの技術支援や開発を担当しております。

山形県出身、神奈川県在住。何となく海に近い所に住むのが好きです。インドア派なので滅多に海行かないんですけどね。

趣味はゲームで、最近はのんびりスマホゲームや某狩りゲームをやってます。

推しのうまい棒は納豆味。

Microsoftクラウド関連

シェアする
記事カテゴリ
最新記事
2026.03.03

Dataverse入門(5)!モデル駆動型アプリの作り方-キャンバスアプリとの違いは?

2026.03.03

Dataverse入門(4)!代替キーってどんな場面で役に立つの?-データの重複を許さない

2026.02.25

Dataverse:Dataverse入門(3)!リレーションでデータを構造化する-テーブル間の連携とは?

2026.02.18

Dataverse入門(2)!テーブルに列を追加してみる-列の型の決め方

2026.02.11

Dataverse入門(1)!注文管理アプリを作ってみる-Dataverseテーブルの作り方

attributeO/Rマッパーマーカークラスタリングライブラリviewメールdialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更Copilotテスト事例HTTP リクエストカスタムスクリプトドキュメント管理カラーセットテンプレート活用Power Apps 比較Power Apps モデル駆動型validationazure sql databasetailwindcssビューfirst()関数Tips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBlicenseテストスタジオ活用ワーケーション業務効率化IT管理カラーユニバーサルデザイン自動化事例モデル駆動型 とは注文管理アプリローコードCase式マルチテナントアクセス制限nest新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携添付ファイルコントロール使い方サイトブランド化名古屋ファイル保存申請システムアプリデザインNode.jsシステム構築サイトマップAngularHTTP Requestドロップダウンメニューノーコード入れ子変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続ファイルサイズ基本知識フォントカスタマイズ体験記エンティティワークフロー自動化UI/UXVisual Studio CodeAlternate KeyサブグリッドAccessCSSBreakpointObserver承認動的リスト検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローフルリモートワークPowerAutomateブランドセンター感想フォルダ構成設定アクセシビリティPCF代替キー業務アプリ開発InfoPathxUnitメディアクエリリマインドcollectionMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binアーティサンX-SP Designテーマ作成チームサイトMicrosoft Learn Docsアジャイル開発Wordテンプレート環境構築重複チェックDataverse テーブルMatTable.Net Core 3.1スマホSetコレクションセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールアクセス許可Artisanスライドショーデザイン拡張コミュニケーションサイトカスタムコネクタ準委任契約業務自動化カスタムコンポーネントGUIDAngular MaterialVSCodePCForAll複数の添付ファイル送信元リストLoopショートカットキー時間外非エンジニアDataverseSharePoint Framework転職Slide showMicrosoft365サイトの種類OpenAPI請負契約効率化Power Platform CLI業務キーデータ構造.Net Core Test ExplorerレスポンシブUpdateContext承認フローメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSPFx主キー比較移行要件定義MCPサーバー総合評価型入札資料作成開発手順複合キーモデル駆動型アプリSortByColumns関数Dataverse for TeamsDynamics 365ロードマップform差出人アプリdesignconcat関数ファイル勉強表示サンプルCopilot Studio社内ポータル多言語化サイト構成FAQエージェントデジタルトランスフォーメーション初心者向け拡張機能データ整合性Power AppsTypeScriptitem関数入門技術エクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替samplePowerAppsグループウェアMUI権限設計AIチャットボットプロポーザル方式ハウツービルドデータベース設計Power PlatformHTMLGoogle Maps初心者Itインポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者X-SPNFCタグエンゲージメントMultilingualデータ移行実運用官公庁システム画像挿入プロジェクト作成ユニークキーSharePointEF CoreMarker Clusterer中級者DXカスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列StyleDLPポリシー地方自治体MLJSON書式保守性デジタル化推進複数レコードPCFギャラリー一意制約ExcelマイグレーションRANK()関数キャンバスアプリノウハウcomponentVBAフローの種類選択肢列環境sortガバナンス登録日StudioTestCopilot Studiot共有リンクテンプレート化DX推進テーマカラーPDF変換業務システムMicrosoft DataversePower AutomateFramework CoreDynamics 365 SalesDatePicker情報技術ダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者AICanvas自治体DXレポート化サイト複製作り方ダークモード資料自動作成キャンバスアプリ 違いフォーム設定C#Attribute directivesMicrosoft TranslatorDropdownメッセージIDコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日生成系AITest Studio生成AI自治体APIPnP PowerShellページ承認Formulasプロパティフロー設計Power Apps 導入ビュー設定
PageTop
ページトップに戻る