PowerApps :OneDrive 内の Excel ファイルをデータソースとして利用したい場合に陥りやすい罠

PowerApps でアプリを作る時に、業務アプリであるなら何かしらのデータを利用したアプリまたは何かしらにデータを保存するアプリを作る事が多いと思います。その一つの解が Common Data Service (以下「CDS」)ではあるのですが、プランの関係で利用できない事が多いと思います。次に SharePoint な人たちならカスタムリストを利用する事も考えられます。しかし、 SharePoint も誰でも触れるわけでもなく気軽にサイトやリストを作成できない環境である場合もあります。そう考えると、やはり手っ取り早く Excel ファイルのデータを利用するという方法も当然考えられます。例えばカタログアプリなど滅多に中のデータを変更しないような場合は、 Excel ファイルを利用しても良いと思います。

さて、 Excel ファイルを利用すると言っても大きく2通りの方法があります。 Excel ファイルのデータをアプリのデータソースに流し込んでしまうパターンと、 OneDrive などに保存している Excel ファイルのデータを読み込むパターン。
前者の場合はデータを変更したくなったら、そのたびに PowerApps 上から Excel ファイルをインポートし直さなければいけませんが、後者の場合は PowerApps のアプリを編集しなくても OneDrive 上の Excel ファイルのデータを更新すれば良いのでメンテナンス性は後者の方が良いと思います。

では、 OneDrive 内の Excel ファイルをデータソースとして利用してみます。まずは、Excelファイルを用意して OneDrive にアップロードします。

▼この Excel ファイルをデータソースにしたいと思います。

では、 PowerApps でデータソースを追加します!

ここで陥りやすい罠があるんです。

■陥りやすい罠

▼データソースで「+データソースの追加」

▼ここからコネクタを選択します

ココです! Excel ファイルを使うから Excel のコネクタを探しちゃうんです。特に Microsoft Flow を触っている人なら Excel コネクタを探しがちです。

▼「 Excel Online (Business)」コネクタを選択します

▼データソースにコネクタが追加されました

で??ってなるんですよね。感覚的にその次に OneDrive に保存した Excel ファイルを選択すればデータソースとして利用できると思うんです。 Microsoft Flow だとそんな手順でしたよね。でもここから Excel ファイルを選択できるUIはないんですよ。

▼「…」をクリックしても「削除」だけ

そうなんです。そもそも Excel コネクタを選択した時点で罠にハマっていたんですね。実はここでは「 OneDrive for Business 」コネクタを選択するのが正解だったんです。

■正解

▼「 OneDrive for Business 」を選択

▼これこれ!この画面が欲しかった!

ちゃんと上部にも「 Excel ファイルの選択」って記載されていますね。

▼保存している Excel ファイルを選択

▼テーブルを選択し接続

▼これでOK!

▼データテーブルコントロールを置いて追加したデータソースを設定すればこの通り!


と、ここまで記事の下書きを書き溜めておいて今再度確認したらデータソースのUIが変わっていました!

▼アプリの詳細設定でこの箇所がデフォルトでオンになったようです

プレビューや実験機能はアプリ単位でオンオフができるんだけど、元々ここはデフォルトでオフだったのが、最近オンになったようです。これがオンになるとどうUIが変わるのかというと…

▼左のパネルに表示されるんですよね

上部メニューの「データソース」をクリックしても左のパネルが開くし、サイドメニューのデータベースっぽい円柱アイコンをクリックしても左パネルが開きます。で、よく見ると…ここで「Excel」で検索しても「Excelからインポート」しかコネクタが表示されていないんですよね。つまり、従来のUIだと「 Excel Online (Business)」を選択しがちだったけど、新しいUIでは間違えて選択はしないですね。ただ、間違えて選択しないだけで、結果的には「 OneDrive for Business 」を選択するという事を知らないとコネクタがないからできないと思ってしまうかもしれないです。

▼こちらでも「 OneDrive for Business 」を選択すればOK

という事で、Excelファイルを使うからと Excel コネクタを探しがちですが、「 OneDrive for Business 」コネクタから Excel ファイルを選択しましょう!という事でした。