LoginSignup
6

More than 1 year has passed since last update.

Power BIとconnpassのWeb APIでデータとともにコミュニティの一年を振り返る

Last updated at Posted at 2021-12-24

はじめに

 年末に一年を振り返る、来年を想う、大事ですね。そんな振り返りをデータとともに行うと、想いも深まります。例として、connpassのWeb APIでPower BIで接続しデータ取得する、ということともに、Power BIやPower Platformの一年を振り返ってみます。

connpassの APIからデータ取得

まずはサンプルで

connpassのページ下部にリンクがあります。
image.png

リクエストURL、検索クエリと、はじめての方は難しいな、と思われるかもしれませんが、サンプルがあるので、そこをアクセスしてみましょう。pythonをキーワードとしてデータをひっぱる場合ですね。

サンプル
https://connpass.com/api/v1/event/?keyword=python

ずらっと文字列が並びます。ざぁーっと見てみると、それほど取得データが多くないように見えます。検索クエリの表のcount、取得件数を見てみると、初期値: 10なので、デフォルト(既定)で10件しかとらないようですね。最大値は100とあります。表の欄外に

パラメータを複数指定する場合は、 name=value1&name=value2&... または name=value1,value2... のように指定できます。

とあるので、サンプルに付け足してみます。

サンプルに2つめのパラメータ(&count=100)をプラス
https://connpass.com/api/v1/event/?keyword=python&count=100

10倍データを引っ張れました。このような形でテータが取れれば、Power BIでデータを読み込むことができます。

Power BI 勉強会の場合

image.png

ハッシュタグは、PBIJPなので、キーワードを変えてみます。

サンプルのキーワードを変更
https://connpass.com/api/v1/event/?keyword=PBIJP

そうすると得られる応答からconnpassグループのIDが、seriesのIDが、3366とわかります。

image.png

再度書き換えてみます。

サンプルに2つめのパラメータ(&count=100)をプラス
https://connpass.com/api/v1/event/?series_id=3366&count=100

取得できたようですね!

image.png

Power BI Desktopで取得~可視化

Power BI Desktopでデータの取得

「データの取得」/「Web」から

image.png

URLを指定します。
image.png

Power Query エディターで整理

image.png

データが取得できているようですが、まだデータが見えません。いくつか対応方法がありますが、今回は、データのアイコンを右クリックから進みます。

image.png

応答データはJSON形式なのでJSONを選択します。
image.png

そうすると、データは89件取れていることがわかります(最大値100件に収まっていてますね)。ここで、listで中身に入っていき

image.png

レコードのリストが並んだところで、

image.png

テーブルに変換します。
image.png

確認画面はエラーがでたときの対処です。

image.png

適用したステップでテーブルへの変換が処理されたことを確認し

image.png

今並んで見えているものは(リストとはあまり変わらないように見えても)テーブルで展開ができるので

image.png

プレフィックス(列名に接頭辞を付ける)は不要なのでチェックをはずし展開すると

image.png

データが取得できます。

あとは、いつもの

  • 必要な列を残す、不要な列は消す
  • 型を[ABC/123]のAnyのままにしない。テキストなり数値なり決める。
  • 日付と時刻は日付に

といった鉄則的な整理で綺麗にします。

image.png

Power Queryの鉄則(ベストプラクティス)に関してはこちらもご参照を

Power BI Desktopによる可視化

日付テーブルは忘れずに正しく作りましょう。

image.png

慣れれば1分ぐらいですね。あとは可視化するだけです(略)

Power BI 勉強会

コロナ禍と思えない開催回数、人数等ですね。内容もレベル高なので本当にありがたいです。

image.png

image.png

分科会(DAX BootchampとPower Query 秘密特訓「虎の穴」)

半日、少人数でじっくりと聞いていただき、アドバイス、フィードバックもいただける、という贅沢な機会をいただきました。
新らしく来られれる方、お待ちしておます。

image.png

市民開発者 なってみよう!

今年の1月から、Microsoft の森口理恵さんのアドバイスも受けて、MVPになるためにも取り組もうと始めました。集計してみてびっくり!

私も結構な数の開催と、参加の方々がいらっしゃったんですね!可視化して実感できました。Power BIいいねw

image.png

image.png

APIはどんな動きをするのか、より知る

 今年、特に私が学んだのは、
  勉強会やブログ等で見たことをやってみた、できた
というのは
  第一歩
次の二歩目は、その操作したことや動きはどんな意味を持つのか、というのを
  考えること
が大事ということです。

 例えば、このconnpassからAPIを通じて、Power BIで可視化するというのは、今回の記事を書くにあたって、先人が書かれているか、グルることで確認しました。
そうすると、 @kenakamu (けんさん)がかなり丁寧にかつコードの説明やAPIの特性も含めて、技術的な側面もきちっと書かれています。

 一年前の私では、Power QueryのM言語の理解が浅く、記載されていることをどう解釈すればよいのかわからなかったと思います。

Power BI 勉強会のPower Query 虎の穴で、非常に多く、参加の皆さんの取り組みやかがたさんのアドバイスを聞いてきた今の私は、大概の技術的な文書をみても、ひるまなくなることはできましたw

けんさんが書かれていることを参照しながら、やってみると... 例えば「Postman で実行してみる」は...

Postmanはこちらのサイトですね。

このように非常に見やすくAPIの応答、JSONの内容がわかります。

image.png

Qiitaのコードの貼り付けは、このボタンでコピーして...

image.png

Power Query エディターで空のクエリを呼び出して

image.png

右クリックまたはリボンから「詳細エディター」を開き、クエリの全てが見えるようにし

image.png

Ctrl + Aで全部消して

image.png

置き換えちゃいます。
image.png

そうすると、適用したステップが分解されるとともに、データが取得できます。

image.png

その上で、けんさんの記事を合わせて読み進めたり、Power Queryを眺めたりします。

このステップとその結果が、

image.png

M言語ではこうなるのか

let
    Count = 10,

とわかったり、さらにけんさんのブログやさらにリファレンスされているかがたさんのブログの観点を確認していき、なるほど~と味わうできるだけ腹落ちする といったことが、三歩、四歩、トコトコ... という感じかなと思います。

その他:Udemyの可視化

11月にリリースしたUdemyコンテンツ「Power BIの基本」の受講者概況です。12月にはUdemy Businessにも選定され、約500名と多くの方に学んでいただき、本当にありがたいです。

image.png

おわりに

 たくさんのことを勉強する機会をいただき、1月から自分でもコミュニティ「市民開発者 なってみよう!」を立ち上げたくさんの方に参加いただき、9月にMicorosoft MVP (Data Platform)を受賞し、人生初のMCPも、PL-900、SC-900、DA-100と合格でき、11月にはUdemyコンテンツを提供し約500名の方に受講いただき、なんとか健康に過ごすこともできて、本当にありがたい1年でした。
 年末年始は、PL-900の本の執筆をほぼやりきりたいと思っています。来年もさらに継続して取り組んでいきたいです。

 今年一年ありがとうございました。Advent Calender 2021も50本の素晴らしい記事で感謝、感謝です。皆様、よいお年を!来年もよろしくお願いいたします。

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
6