4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Power BI: Forms 分析用のカスタムコネクターを作ってみた

Last updated at Posted at 2021-12-30

背景

元々は会社内でアンケートの解析で Forms の Excel を解析しなければいけないってのが嫌だった。
ある時、Forms API の存在を知った。
Power Automate で取得出来ることを知った。
Power BI でカスタムコネクターが会社でも使えることに気付いた。<ダメだと思っていた。

ってことで、作ればいいじゃんってことで作ってみたので公開

すぐ使ってみたい人用の使い方

まずはダウンロード

カスタムコネクター認識フォルダーへ保存

以下で多分行ける筈。

%userprofile%\ドキュメント\Power BI Desktop\Custom Connectors

Power BI を(再)起動して、今回のコネクターを探す

image.png

以下が出るので「続行」(詳細省略)

image.png

不安な場合は、GitHub からコードをダウンロードして、中身を確認してからにしてください。

Forms の URL をコピーして貼り付けして、「OK」

"FormId" を含んだURLであれば、なんでもOKな筈
※"FormId=([^&]+)" を探して利用してるので、URLじゃなくてもOKですが・・

image.png

あとは煮るなり焼くなり

  1. テーブル変換
  2. 展開
  3. [answers] に回答が JSON 形式で入ってるので、さらにそこを分析

image.png

GitHub で公開

Forms API について

上でも書いたけれど、現状利用している odata 系の API が廃止される可能性もあるのでその際は、light 系へ

公開関数について

正規表現のとか一緒に公開してるだけなので、不要な人は削除してもらうのが吉

アイコン

ここのを利用させてもらっています。

困ったこと

ダイアログをどうやって出すの?

こいつで出してた方法を参考に

shared PQExtensionFormsAPI.Contents = Value.ReplaceType(PQExtensionFormsAPIImpl, PQExtensionFormsAPIType);

こんな感じで、Impl, Type を実装して変換してやると出せるって理解した・・けど・・なんかもっと簡単な方法がありそう・・(未調査

FormsAPI への認証

ここら辺をみて以下に例を記述

Visual Studio で開発なのに、break points は無いの?

無さそうなので諦め

Icons

png で保存されてて、それを置換すればいいんだけど・・
プロジェクト生成すると、80pix の画像があるんだけど、参照されてない。

以下を見ても、記述がないので、Project Template のミスと認識

その他

あとがき

GitHub が Access Token 化されてて Push 出来なくて焦りました。
SourceTree だと簡単に OAuth で繋げたのでそのまま行けるかと思いきや、保存してある Basic 認証のパスワードを Access Token として利用されるとは思ってなかった・・。

keyword

release Microsoft Forms custom data connector for Power BI

4
4
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
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?