記事の監修
S.Sato
記事の監修
S.Sato
マネジメント&イノベーション事業部 開発部/2グループ グループマネージャー
資格:Microsoft Offiece Specialist Master 2007、ITパスポートなど
2022年よりMicrosoft365とPowerPlatformの案件を担当。
それ以前は業務・Web系システムを要件定義からリリースまでの開発に従事。
IT業界歴15年の経験を活かし、PJを牽引し後続の育成にも力を注ぐ。
趣味は散歩で、思考が煮詰まった際には、近所の緑道を散歩し、新たな発見や自然からのインスピレーションを受けている。
Contents
目次
こんなお悩みはございませんか?
複数のデータを組み合わせてDataverseにデータを登録したい
クエリの情報を引き継いだままExcelファイルをDataverseに登録したい
Excelファイルの編集後、自動でDataverseに反映させたい
全てデータフローで簡単に解決できます!
Power Appsのデータフローを利用すれば、 ExcelやCSVファイルのデータをDataverseに簡単に取り込むことができます。
ソース元のファイルのデータが変更されたり新たにデータが追加されても、データフローではそれが定期的に更新され、Dataverseに反映されます。
都度取り込むのではなく自動的に更新されるため、作業量が削減され、業務の効率を上げることもできます。
では、どのように作成するのか、具体的にご紹介していきますね。
ソース元のファイルのデータが変更されたり新たにデータが追加されても、データフローではそれが定期的に更新され、Dataverseに反映されます。
都度取り込むのではなく自動的に更新されるため、作業量が削減され、業務の効率を上げることもできます。
では、どのように作成するのか、具体的にご紹介していきますね。
1. データフローとは
データフローはPowerApps上でPowerQueryを使い、データの取り込み、変換、読み込みを手動、または自動で行うことができます。
メリット
・Dataverseのインポート機能と比べて自由度が高い
・自動で更新ができる
・作成済みのExcelファイルに存在するクエリの情報を引き継ぐことができる
・自動で更新ができる
・作成済みのExcelファイルに存在するクエリの情報を引き継ぐことができる
デメリット
・所有者しか編集や実行ができないという仕様上、複数のユーザーに共有することができない
2. データフロー実践編
2-1. データフローを使うには
データフローはPowerAppsから使うことができます。
左のサイドバーからデータフローを表示します。
※データフローがない場合は詳細を押下してデータフローを選択してください
左のサイドバーからデータフローを表示します。
※データフローがない場合は詳細を押下してデータフローを選択してください
2-2. データフローを作成
左上の新しいデータフローを押下することでデータフローを作成することができます。
2-3. データフローに名前を入力
データフローに名前を付けて作成を押下します。
2-4. ソースの選択(Excelブック)
下記の画像のような画面が表示されます。
こちらではデータフローのソースを選択します。
今回はExcelブックを指定します。
こちらではデータフローのソースを選択します。
今回はExcelブックを指定します。
2-5. 接続設定
Excelファイルをソースにする場合はファイルのリンクを指定する方法とファイルをアップロードする方法があります。
ファイルのリンクがわかる場合はファイルパスを直接記載します。
ファイルのリンクがわかる場合はファイルパスを直接記載します。
2-6. OneDriveにある既存のファイルをソースにする場合
ファイルがOneDriveにある場合は、「OneDriveの参照」を押下することでOneDrive上のファイルをソースにすることができます。
ファイルパス入力後に「次へ」を押下します。
アップロード完了後は次へを押下します。
左から取得したいテーブルにチェックを付けて、作成を押下します。
タブから「データを取得」→「空のクエリ」を選択します。
右の「名前」からテーブル名の変更ができます。今回は商品情報という名前にします。
選択後は結合の種類を選んで、「OK」を押下してください。※何も選択しないと左外部が選ばれます
マージしたテーブルを展開するため、値段列の左右に広がる矢印のようなマークを押下し、展開する列を選択後、「OK」を押下します。
元々値段という名前の列があったため、値段.1という列が展開されました。気になる場合は列名の修正を行ってください。
次に旬テーブルも同様にマージを行います。
この場合はリボンから「ホーム」→「変換」→「1行目をヘッダーとして使用」を押下してください。
上記のような手順を踏むことで、1行目をヘッダーにすることができます。
「新しくテーブルに読み込む」、「既存のテーブルに読み込む」、「読み込まない」の3種類から選ぶことができます。
Dataverseに登録しないテーブルは、「読み込まない」を選択してください。
※デフォルトでは「新しいテーブルに読み込む」が選択されています
テーブル名と表示名は編集することが可能ですが、列名は編集することができず、列のスキーマ名はシステムが生成したものになります。
「公開」を押下するとDataverseにテーブルが作成され、データが追加されます。
今回はあらかじめ作成しておいたテスト_商品情報というテーブルを選択しています。
※テーブルは表示名ではなく、スキーマ名で表示されます。
宛先の列には選択したテーブルの列が表示されます。列の表示名ではなく、スキーマ名が表示されます。
今回はコードと名前の列に問題があるようなので、修正を行います。
こちらはシステム側が宛先の列名とソース列の名前が一致しないと認識したことによって発生したものになります。
この場合は空欄のプルダウンから手動で列を選択することで解決できます。
※ソース列と宛先の列の状態がマップになっていてもシステム側が誤認しているケースがあるため、確認は怠らないようにすることを推奨します。
データ型が違うというメッセージが出ているため、宛先の設定画面から「戻る」を押下してPowerQueryの画面に戻り、列名に左にあるデータ型のアイコンを押下します。
Dataverseのコードはテキスト型のため、こちらもテキストに変更しておきます。
これでデータフローが更新され、Dataverseのテーブルにデータが投入されます。
データフローはデータの件数によって完了するまでの時間が変わります。
今回は件数が少なかったため、1分も経たないうちにデータが投入されました。
※データの件数によっては10分以上かかることもあります。
ソース元を変更した際にはデータフローを更新することでDataverseのテーブルも更新されます。
2-7. ファイルをアップロードする場合
ファイルのアップロードを選択した場合、「参照」を押下することでOneDriveへアップロードしたファイルをソースにすることができます。
アップロード完了後は次へを押下します。
2-8. 取得するデータの選択
以下の画像のような画面に遷移します。左から取得したいテーブルにチェックを付けて、作成を押下します。
2-9. PowerQuery起動
PowerQueryが表示され、データの加工を行うことができます。
2-10. 空のクエリ作成
今回は3つのテーブルを結合させて、一つのテーブルを作るために新しくクエリを作成します。タブから「データを取得」→「空のクエリ」を選択します。
2-11. 他のクエリをソースに設定
商品テーブルをベースにデータの結合を行うため、ソースを商品にして「次へ」を押下します。
2-12. クエリの名称変更
クエリが生成されました。右の「名前」からテーブル名の変更ができます。今回は商品情報という名前にします。
2-13. クエリのマージ
次に他のテーブルのデータを結合させるため、リボンの「ホーム」から「結合」→「クエリのマージ」→「クエリのマージ」を押下します。
2-14. マージの設定
マージ用の右テーブルからテーブルを選択し、マージする列を選択します。今回は値段テーブルの食べ物列と商品情報の名前列を選択しています。選択後は結合の種類を選んで、「OK」を押下してください。※何も選択しないと左外部が選ばれます
2-15. テーブルの展開
商品情報テーブルに値段という列が追加されました。マージしたテーブルを展開するため、値段列の左右に広がる矢印のようなマークを押下し、展開する列を選択後、「OK」を押下します。
元々値段という名前の列があったため、値段.1という列が展開されました。気になる場合は列名の修正を行ってください。
次に旬テーブルも同様にマージを行います。
2-16. 列名が1行目になってしまった場合
以下のように列名が認識されず、行として追加されてしまうことがあります。 この場合はリボンから「ホーム」→「変換」→「1行目をヘッダーとして使用」を押下してください。
上記のような手順を踏むことで、1行目をヘッダーにすることができます。
2-17. データ整形完了後
こちらは旬テーブルをマージし、展開したものです。完成後は「次へ」を押下してください。
2-18. 宛先の設定
画面が遷移し、読み込みの設定を行います。「新しくテーブルに読み込む」、「既存のテーブルに読み込む」、「読み込まない」の3種類から選ぶことができます。
Dataverseに登録しないテーブルは、「読み込まない」を選択してください。
※デフォルトでは「新しいテーブルに読み込む」が選択されています
2-19. 新しくテーブルに読み込む場合
「新しくテーブルに読み込む」を選ぶとテーブル名と表示名の候補が自動で生成されます。テーブル名と表示名は編集することが可能ですが、列名は編集することができず、列のスキーマ名はシステムが生成したものになります。
「公開」を押下するとDataverseにテーブルが作成され、データが追加されます。
2-20. 既存のテーブルに読み込む場合
「既存のテーブルに読み込む」の場合は宛先テーブルからデータを投入するテーブルを選択します。今回はあらかじめ作成しておいたテスト_商品情報というテーブルを選択しています。
※テーブルは表示名ではなく、スキーマ名で表示されます。
2-21. 列マッピング
「既存のテーブルに読み込む」を選択した場合は「列マッピング」を押下して、ソース列と宛先の列が正しく紐づいているかを確認してください。宛先の列には選択したテーブルの列が表示されます。列の表示名ではなく、スキーマ名が表示されます。
今回はコードと名前の列に問題があるようなので、修正を行います。
2-22. 手動で列を選択
先に空欄になっている名前列の方から修正を行います。こちらはシステム側が宛先の列名とソース列の名前が一致しないと認識したことによって発生したものになります。
この場合は空欄のプルダウンから手動で列を選択することで解決できます。
※ソース列と宛先の列の状態がマップになっていてもシステム側が誤認しているケースがあるため、確認は怠らないようにすることを推奨します。
2-23. データ型の変更
続いてコード列の修正を行います。データ型が違うというメッセージが出ているため、宛先の設定画面から「戻る」を押下してPowerQueryの画面に戻り、列名に左にあるデータ型のアイコンを押下します。
Dataverseのコードはテキスト型のため、こちらもテキストに変更しておきます。
2-24. データフローの公開
問題がなければ「公開」を押下します。これでデータフローが更新され、Dataverseのテーブルにデータが投入されます。
データフローはデータの件数によって完了するまでの時間が変わります。
今回は件数が少なかったため、1分も経たないうちにデータが投入されました。
※データの件数によっては10分以上かかることもあります。
2-25. データの反映について
データフローではソース元のデータが変更されるとデータフローでもその変更が反映されます。ソース元を変更した際にはデータフローを更新することでDataverseのテーブルも更新されます。
3. 自動更新
データフローの更新には手動による更新と自動で更新を行う自動更新という2つの更新方法が存在します。
定期更新の設定するにはデータフローの三点リーダを選択し、「更新設定を編集する」を押下します。
また、データフロー所有者に通知を送るかどうかの設定もこちらから行えます。
特定の日付と時刻に更新するを選択した場合は、下記画像のようになります。
こちらではタイムゾーンの指定や更新の頻度を毎日か毎週かを選択できます。
毎週を選択すると曜日の指定などが設定できます。
3-1. 自動更新の設定方法
続いて更新を自動で行う方法についてご紹介します。データフローの更新には手動による更新と自動で更新を行う自動更新という2つの更新方法が存在します。
定期更新の設定するにはデータフローの三点リーダを選択し、「更新設定を編集する」を押下します。
3-2. 更新方法の選択
下記画像のように初期状態では手動更新に設定されており、ラジオボタンを切り替えることで更新方法を変更することができます。また、データフロー所有者に通知を送るかどうかの設定もこちらから行えます。
3-3. 自動更新の間隔の設定
自動更新にも2種類の方法が存在し、周波数ベースの更新では更新間隔と開始日の設定ができます。 特定の日付と時刻に更新するを選択した場合は、下記画像のようになります。
こちらではタイムゾーンの指定や更新の頻度を毎日か毎週かを選択できます。
毎週を選択すると曜日の指定などが設定できます。
4. キー設定
テーブルには特定のデータを一意にするキーというものがあるのでこちらを使用します。
4-1. データを更新するには
データを追加するのではなく、更新したいという場合は以下の方法をお試しください。テーブルには特定のデータを一意にするキーというものがあるのでこちらを使用します。
4-2. キー設定を行っていない場合
テーブルのキー設定を行っていない場合、データフローを更新するとテーブルの中身が更新されずに追加されていきます。
4-3. キー設定後
このようにキーを設定することで、Dataverseのテーブルにデータがあった場合、追加ではなく更新することが可能になります。
予告
最後までご精読いただきありがとうございました。
第二回ではこちらについてご紹介します。
・Dataverse、Sharepointファイル、Sharepointフォルダ、pqtファイル、CSVファイルのデータを使ってデータフローを活用する方法
・PowerAutomateでデータフローを活用
第二回ではこちらについてご紹介します。
・Dataverse、Sharepointファイル、Sharepointフォルダ、pqtファイル、CSVファイルのデータを使ってデータフローを活用する方法
・PowerAutomateでデータフローを活用
Microsoftを導入して
コスト効率をよくしたい
Microsoftに関して
気軽に聞ける相談相手が欲しい
Microsoftを導入したが、うまく活用できていない・浸透していない
社内研修を行いたいが
社内に適任者がいない
Bizwindでは、Microsoft導入支援事業などを中心に
IT・DX推進に関する様々なご相談を承っております。
ご相談・お見積りは無料です。まずはお気軽にお問い合わせください。
Ranking
ランキング
Business Efficiency
6月 10, 2024
SharePointとは?SharePointの機能や使い方を徹底解説!
SharePointとは? SharePointとは、マイクロソフト社が提供する企業向けのファイル共有・コラボレーションを行うためのサービスです。 SharePointと比較されるサービスとして、 […]
営業/マーケティング支援
1月 12, 2024
Microsoft Dynamics 365とは?その概要を分かりやすく徹底解説!
Dynamics 365とは? Dynamics 365とは、Microsoft が提供するビジネスアプリケーションです。 Dynamics 365は、企業活動を効率的に進めるために必要な業務システ […]
Business Efficiency
6月 11, 2024
仕事の時短を実現する!エンジニアが教える圧倒的な仕事時短術!
業務効率化とは 業務効率化とは、少ない労力で仕事の生産性をあげることです。 要は、今まで1時間かかっていた仕事を30分で終われるようにすることです。 そうは言っても、そんな簡単なことではありません。 「日々の業務に一生懸 […]
ビズウインドでは、 様々な課題でお困りの お客様に対して、 無料相談を実施しております。
無料相談に申し込む