本日、自身2作目となるアプリをTeamsのPower Appsで作成したので、備忘録も兼ねて記事に残したいと思います。
1作目も記事書こうと思っていたのですが書けずじまい・・・鉄は熱いうちに打たないとダメですね・・・
##TeamsにPower Appsでアプリを作成
どんなものを作成したかというと、Excelで管理していたケース一覧です。
弊社なんちゃってグローバル企業のため、グローバルに問い合わせたり依頼したりすることがあり、その一覧表をExcelで作成し、Teamsのタブに追加して使っていました。
列としては、問い合わせNo、作成者、作成日、内容、完了日、備考 というシンプルなもの。
何故か一番上の行を挿入して入力するというルールにしていたため、メンドウでした。
Excel管理もやだったし・・・
というわけで、
・入力フォームを作る
・データをExcel以外に格納できる
TeamsのPower Appsでアプリ作成することに決めました!
###手順
こちらの公式が分かりやすいかと思います。
https://docs.microsoft.com/ja-jp/powerapps/teams/create-first-app
####①チームにPower Appsを追加
Teamsの左のメニューの「・・・」をクリックしてPower Appsを選択するか、チームのタブの「+」から追加するか、どちらからでもいけます。
####②テーブルを作成
実は弊社、Dataverse(旧Common Data Service 名前変わったの今日知りました・・・)が使えず、それがPower Appsを使うハードルの1つだったんです。(まぁ他にもスキルとかスキルとかスキルとかありますけど・・・)
しかーし、TeamsのPower Appsでは、テーブルが作成できてそこにデータを格納できるというではありませんか!!
というわけで、テーブルを作成。
作り方は、列をどんどん追加していくだけなので至極簡単。
・・・なのですが、
https://docs.microsoft.com/ja-jp/powerapps/teams/create-first-app#paste-the-copied-data-into-the-table
ここの「コピーしたデータをテーブルにはりつける」ができないんです・・・・(´;ω;`)
200件弱くらいあるので、ポチポチ入れていくのはイヤ・・・・どなたかご教授くださいm(__)m
FacebookのPower Appsのユーザーグループで質問をさせて頂いたところ、@yamad365大先生がご教授くださいました!!神はいる!!
以前はコピペできたようなのですが、何故かできなくなったそうです・・・
「Dataverse for Teams の画面で「ビルド」→「テーブル」の画面にいって、該当テーブル三点(…)クリック→[データ] → [Excel でデータを編集]ってやると、Excelファイルで直接データが操作できると思いますのでお試しくださいませー。」
とご教授頂きましたので、
[Excel でデータを編集]ってやってみると、Excelがダウンロードフォルダにダウンロードされます。
ダウンロードされたExcelを開くと、Power Appsのアドインがインストールされていない場合にはインストールせよ的なメッセージが右側に表示されるので、インストールします。
インストールされている場合にはこのような表示になるかと思います。
シート上にデータを追加して、右下のアドイン窓の「Publish」をクリックすると、データがUpされます!
これで200件を泣きながらポチポチやらずにすみました・・・・!!
@yamad365大先生、本当にありがとうございました!!
####③作成したテーブルをデータ接続
アプリは作成するとデフォルトはこんな画面になっているので、右側の「データソース」から作成したテーブルを選択します。
テーブルを作成する以外にも、フツウのPower Appsのデータコネクタはあるようなので、そこからデータ追加して接続してもいけるかと。
####④ギャラリーにSearch関数を使って検索機能をつける
こちらのサイトを参考に、
https://www.geekfujiwara.com/tech/337/#gsc.tab=0
左側のギャラリーの上に検索用のテキストボックスを配置し、ギャラリー内を検索できるようにしようとしたのですが・・・
手順としては
①検索用のテキストボックスを挿入
②ギャラリーのItemsにSearch関数を使って数式を入力
なわけなのですが、
こんな風に怒られるのですよ・・・・(´・ω・`)
いや、ちゃんとあるんですよ、件名っていう列。だってデフォの列なんですから。
えー・・・と思って、候補を表示してみたら、
こんなことになってるですよ・・・・。
列名に自分が入力したのは表示名で、名前は勝手につけられているのですよ・・・・
これって、日本語で入力したからですかね・・・と思って、列名を英語にしたら
ふむふむ、やはりそうでした・・・・
ただ、テーブルを作成するとデフォルトで「件名」っていう列があるので、それはイミフな英数字の羅列(一番上の候補)になっちゃいますね・・・
デフォで「件名」って列があるから日本語OKかと思ったのですが・・・ここら辺ちょっとなんとかして欲しいですね・・・。
####⑤Teamsに公開
そんなこんなでアプリを作成して、完成したら右上の「Teamsに公開」をポチっとなすると、チームのタブに追加されて使用できるようになります!
##Dataverse for Teamsのテーブルのデータをソースにして、Power BIでレポートを作成
さて、アプリができたら、そのデータをPower BIでレポートアウトします。
参考にした公式はコチラ。
https://docs.microsoft.com/ja-jp/powerapps/teams/view-table-data-power-bi
ほぼこちらの手順通りなのですが、若干違っていた部分があり四苦八苦したので、その部分をメモしときますね。
####①データ取得
Power BI側でデータを取得する際に、公式では
と記載されているのですが、現状はこうなっております。
・・・ど、どれ???
正解は「Dataverse」でした。
「環境のドメイン」には公式の通りのURLを入れます。
そうすると、そのチーム内のデータが表示されるのですが、デフォルトで作成されるものがワンサカあるっぽく、しかもまたしても日本語問題が・・・
テーブル名、テーブルの列名は日本語は避けた方がよさそうです・・・。
テーブルを選択してデータを読み込んだら、あとは通常のレポート作成と同じ!・・・と思ったらもう1点困ったことが・・・
作成者の列を選択肢にしているのですが、どうやらPower BI側で選択肢を読み込んでくれない模様です・・・・(´;ω;`)
プレビュー機能だから仕方ないのでしょうか・・・??
####②Teamsに公開
レポートを作成して、どこかのワークスペースに発行したら、Teamsにタブとして追加することができます。
※補足追記
弊社環境はPower BI Premiumです。
Premium環境でない方は、Power BI Proライセンスのある人にしかレポートは共有できません。
ただ、レポートをインポートモードにした場合、アプリで入力したデータはすぐには反映しないので、Direct Queryモードにすれば即時反映するかな?と思ってデータ接続モードをDirect Queryにしてみたのですが、
なんかこんなこと言われた上に、このまま発行したら、Teams側でレポートが表示されなくなってしまいました・・・・(´;ω;`)
実はDirect Queryモードでレポートを作成したことがないので、作り方が悪いのかも・・・。
##まとめ(?)
●Dataverse for Teamsのテーブルは、直接コピペはできない。「Excelでデータを編集」から行う
●Dataverse for Teamsのテーブル名、列名は日本語は避けるべし
●Dataverse for TeamsのテーブルをPower BIで読み込む際は、
「Power Platform」>Dataverse
●Dataverse for Teamsのテーブルの選択肢の列は、Power BIで読み込めない模様
●Dataverse for TeamsのテーブルをDirect Queryモードで接続すると、Power BIサービス側でモデルの読み込みができない。作成方法が悪いのかもしれない。
・・・長くなってしまいましたが、やってみた感じを備忘メモ的に記事にしてみました。もうちょっと色々やって経験値を上げていきたいです。