背景
元々は会社内でアンケートの解析で Forms の Excel を解析しなければいけないってのが嫌だった。
ある時、Forms API の存在を知った。
Power Automate で取得出来ることを知った。
Power BI でカスタムコネクターが会社でも使えることに気付いた。<ダメだと思っていた。
ってことで、作ればいいじゃんってことで作ってみたので公開
すぐ使ってみたい人用の使い方
まずはダウンロード
カスタムコネクター認識フォルダーへ保存
以下で多分行ける筈。
%userprofile%\ドキュメント\Power BI Desktop\Custom Connectors
Power BI を(再)起動して、今回のコネクターを探す
以下が出るので「続行」(詳細省略)
不安な場合は、GitHub からコードをダウンロードして、中身を確認してからにしてください。
Forms の URL をコピーして貼り付けして、「OK」
"FormId" を含んだURLであれば、なんでもOKな筈
※"FormId=([^&]+)" を探して利用してるので、URLじゃなくてもOKですが・・
あとは煮るなり焼くなり
- テーブル変換
- 展開
- [answers] に回答が JSON 形式で入ってるので、さらにそこを分析
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