13
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Power Apps のデータフローって便利だなあ

Posted at

この記事は、Microsoft Power Apps Advent Calendar 2025 12月10日担当分の記事です。

基幹系システムから csv 形式のファイルや Excel ファイルをエクスポートして、SharePoint リストに転記したい…というシナリオはよくあります。

しかし、Microsoft 365 に付随の Power Automate ライセンスでは、完全なシステム化は困難で、転記元のファイルが SharePoint のドキュメントライブラリに保存されたのをトリガーにする必要があります(要は手作業がどうしても介入してしまうという話です)

新規キャンバス1.jpg

特に csv 形式のファイルを転記するとなると、改行コードや文字コード、対象データのテーブル化といった煩雑な作業が発生するのに加え、データ件数次第では Power Automate の要求数制限を超えてしまう可能性もあるため、あまり現実的な実装ではありません(上に引いた画像についての記事はコチラです)

そこで登場するのが Power Apps のデータフローです。データフローと聞くと Power BI が思い浮かぶ人も少なくないと思いますが、実は Power Apps にも存在します。概要は上に引いた記事に詳しいのでご一読ください。

データフローでデータを転記する流れ、下準備

データフローの活用には、Power Apps Premium ライセンスが必要です。このライセンスが用意されている前提で、次の手順を踏んで下準備すると良いでしょう。

  1. 転記元ファイルを用意する
  2. (ソリューションを作成する)
  3. (ソリューションから転記先の Dataverse テーブルを作成する)
  4. データフローを作成する
  5. 更新頻度を設定する

データフローの作成だけであれば、2 と 3 の手順は省いても大丈夫ですが、列のスキーマ名(=SharePoint リストでいうところの内部列名のようなもの)が「アルファベット_列名」となり、後々の管理で探し出すのに面倒なので、やっておくに越したことはないです。

1. 転記元ファイルを用意する

今回、サンプルで使用する転記元ファイルは、英単語の語源について趣味でまとめているものを Excel テーブル形式にしたものです。大体 5,000 件くらいあるので、これをクラウドフローで転記するには(フロー構築の時間も踏まえると)時間を要します。

image.png

2. ソリューションの作成

Power Platform の「ソリューション」とは、アプリやフローに関連する設定一式をパッケージ化したものをいいます。主目的は、開発した成果物を「開発環境→検証環境→本番環境」へと安全に運ぶこと(= Application Lifecycle Management、通称 ALM)と、運用中の更新であったりテーブル間の列などの依存関係管理を行えるようにしたものをいいます。

乱暴に言えば、管理を楽にするためのものなので、データフローの検証だけを目的とするのであれば今回は読み飛ばしてもらっても大丈夫です。

2.1. 作成手順

細かい用語や設定を知ろうと思うと大変ですが、作成手順に関して言えばそう大変なものではなく、これも乱暴に言えば、フォルダを作成する感覚で名前を決めて手順に従えば OK です。委細は以下の記事をご一読ください。

3. Dataverse テーブルの作成

ここからは転記先となる Dataverse テーブルを作成していきます。データフローの設定時にテーブルを新規作成できるので、この作業も読み飛ばしていただいて差し支えありません。しかし、後々の設定や検索のことを考えるとやっぱり先に作成しておく方が楽です。

image.png

作成したソリューションから「新規→テーブル→テーブル(高度なプロパティ)」の順にクリックし、テーブル名の「プロパティ」と「プライマリ列」の設定を行います。

image.png

表示名(SharePoint リストでいう外部列名)とスキーマ名(SharePoint リストでいう内部列名)を設定し、保存をクリックします。この時、表示名を半角英数字で入力するとスキーマ名も自動的に表示名と同じ名前になりますが、表示名を全角文字で入力するとスキーマ名を半角英数字で設定しなければなりません(高度なオプションを展開しないといけません)

image.png

プライマリにタブを切り替え、列の要件を「任意」に変更後、保存をクリックしてテーブルの作成が完了します。次に、転記に必要な列を追加していきます。

  • 英語:テキスト型
  • 発音記号:テキスト型
  • 日本語:テキスト型
  • 解説:テキスト型(複数行)
  • 関連語:テキスト型
  • レベル:選択肢
  • 分類:選択肢

で作成しました。Dataverse テーブルの列の作成方法は公式ドキュメントに動画でまとまっているので詳細は以下のページをご覧ください。名前の付け方に関してはテーブル作成時と同じなので、データ型を取り決めるだけです。

既に値が入っていますが、こんな感じで、データ型を意識しながら転記元と同じように列を作成します。

image.png

4. データフローの作成

いよいよ本題のデータフローの作成に移ります。Power Apps のサイドメニューから「データフロー」を選択して名前を付けて作成します。

image.png

すると Power Query のウィンドウに切り替わります。転記元データは Excel なので、Excel ブックを選択し、ファイルをアップロードします。

image.png

image.png

image.png

Power Query エディタが開くので、転記元データを Dataverse テーブルの列に合わせて整形していきます。非構造化データとなっていても、この時に整形してしまえば Power Apps や Power BI で活用できるデータに生まれ変わる点が魅力です。

image.png

今回は、関連語列に付いていた「👉️」を取り払い、カテゴリ列に英名と和名が混在していたので、和名と英名のカテゴリ列をそれぞれ作成し、最後に ID 番号を追加しました。個人的にはこれが便利だなあ…と思います(企業の有するデータってピボットテーブル / 非構造化データになっていることが多いですからね)

image.png

最後に、読み込みの設定、インポート方法、列マッピングの設定をそれぞれ行って作業完了です。公開ボタンをクリックすると 5,000 件ほどあったデータを簡単に Dataverse テーブルに移行できます。

5. 更新頻度の設定

image.png

最後に更新頻度の設定を行って作業終了です。筆者は、手動で更新にしていますが、自動的に更新をかけることも可能です(こちらの需要が大きいような気はします)

言うまでもありませんが、クラウドフローを作成して転記するよりも早くデータ移行を行えました。フロー構築に要する時間もですが、転記に要した時間も数十秒程度でした(インターネットの環境などにも左右されると思います)

とても便利な機能だと思いますし、企業での需要もかなり大きいような気がします。何かと SharePoint リストの使い勝手が良くて Dataverse テーブル活用の情報が少ないのですが、当記事に出会った読者の皆さまの中から「Power Apps Premium 便利じゃん」という人が現れることを期待しております(それに AI Builder も使えますよ)

13
2
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
13
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?