前回のExcelで集計する方法よりも見た目良く、次回の更新もより簡単な方法を紹介しましす。
目次
Power BI Desktopを利用
以前にも紹介しましたが、どうも私のExcelのバージョンが低くてできないことが多いらしい。できれば最新の技術でやるのがベター。
よって今回はダッシュボードやレポートとしてデータを可視化するツールである、Power BIを利用します。
Power BIのライセンス形態も色々ありますが、ローカル環境にインストールして使える「Power BI Desktop」は無料で使えます。
インストールしてしまいましょう。
▼Microsoft Power BI
1.事前準備
Instagramからデータをダウンロードするのは同じです。
前回の「1.事前準備」の部分を実行してください。
2.データ取り込み
早速データをPower BI Desktopに取り込み、加工できる環境を整えます。
まずは適当な場所にデータ保存用のフォルダを作っておきます。今回はドキュメントフォルダに作っておきました。
C:\Users\XXXXX\Documents\instagram_analytics
この中に事前準備で用意しておいたファイルにある、「connection.json」を配置しておきます。
こんな感じ。次はPower BI Desktop作業です。
Power BI Desktopを開きましたら、「データを取得」をクリックします。
「JSON」を選択し、「接続」をクリックします。その先で先ほど保存しておいた「connections.json」を選択し読み込みます。
このような画面になりますので、「followers」の「Record」をクリックします。
プロパティの名前を「followers」に変更し、「テーブルへ変換」をクリックします。
画面が切り替わりましたら「閉じて適用」をクリックします。
読み込みが終わりましたら画面が閉じますので、先ほどと同じ手順で再度「connections.json」を読み込みます。
次は「following」の「Record」をクリックします。
プロパティの名前を「following」に変更し、「テーブルへ変換」をクリックします。
画面が切り替わりましたら「閉じて適用」をクリックします。
2.リレーションを組む
画面が戻りましたらこの「モデル」のアイコンをクリックします。
左の「followers」の「Name」を左クリックしてつかんだまま移動し、右の「following」の「Name」へ重ねて離します。
このように線でつながれば完了です。
3.計算用レコードを追加
「レポート」のアイコンをクリックします。
右にある「followers」を選択し、「新しい列」をクリックします。
following_Name = related(following[Name])
赤枠の欄に上記のコードをコピペし、Enterを押下すると、オレンジ枠にあるような新しいカラムが生成されます。
右にある「following」を選択し、「新しい列」をクリックします。
followers_Name = related(followers[Name])
赤枠の欄に上記のコードをコピペし、Enterを押下すると、オレンジ枠にあるような新しいカラムが生成されます。
これらの作業ではfollowing(フォローしている)とfollowers(フォローされている)で相互にアカウントが存在している。つまり“相思相愛”であるか”片想い”であるかを判別しています。やっていることはExcelでのvlookup関数と同じ。
例えば上図の「Name」と「following_Name」双方に同じアカウントが表示される場合、これは”相思相愛”と判断できます。
次に「followers」を選択し、「クイックメジャー」をクリックします。
「計算を選択してください」から「減算」を選択します。
「基準値」へ「Name」を、「減算する値」へ「following_Name」をドラッグし、最後に「OK」をクリックします。
このように「followers」の下に「Nameのカ…」が表示されていればOKです。
次に「following」を選択し、「クイックメジャー」をクリックします。
先ほどと同じように「減算」を選択し、「基準値」へ「Name」を、「減算する値」へ「followers_Name」をドラッグし、最後に「OK」をクリックします。
4.「両想い」を可視化
「視覚化」にある「カード」を選びます。
「following_Name」を掴んだまま「フィールド」欄下の部分へドラッグします。
「▼」をしてドロップダウンメニューを表示し、「カウント」をクリックします。
ここで表示されたのが「両想い」のアカウント数です。
5.「フォローされているがフォローしていない」を可視化
「視覚化」にある「カード」を選びます。
「followers」の「Nameのカ…」を掴んだまま「フィールド」欄下の部分へドラッグします。
「フォローされているがフォローしていない」(=相手の片想い)のアカウント数です。
次に視覚化から「テーブル」をクリックします。
「followers」の「Name」を「値」欄下の部分へドラッグし、同じように「Value」を「値」欄下へドラッグします。
「following_Name」を「ここにデータ フィールド…」へドラッグします。
「▼」をしてドロップダウンメニューを表示し、「高度なフィルター処理」をクリックします。
「次の値のときに項目を表示:」で「空白である」を選択し「フィルターを適用」をクリックします。
「フォローされているがフォローしていない」(=相手の片想い)のアカウントリストです。
6.「フォローしているがフォローされていない」を可視化
次に視覚化から「カード」をクリックします。
「following」の「Nameのカ…」を掴んだまま「フィールド」欄下の部分へドラッグします。
「フォローしているがフォローされていない」(=自分の片想い)のアカウント数です。
次に視覚化から「テーブル」をクリックします。
「following」の「Name」を「値」欄下の部分へドラッグし、同じように「Value」を「値」欄下へドラッグします。
「followers_Name」を「ここにデータ フィールド…」へドラッグします。
「▼」をしてドロップダウンメニューを表示し、「高度なフィルター処理」をクリックします。
「次の値のときに項目を表示:」で「空白である」を選択し「フィルターを適用」をクリックします。
「フォローしているがフォローされていない」(=自分の片想い)のアカウントリストです。
7.完成
このように両想いと片思いの人数と、そのアカウントリストを表示できました。
レイアウトは自分の好きなように見せることができます。
まとめ
先ほど作成したレポートのデザインをいじくりまわしてこのようなレイアウトにしてみました。以前のExelよりよっぽど見やすくなりましたね。
定期的にチェックする場合は最初に用意したフォルダのファイルを上書きして更新すればOKです。
Power BIは分析ツールとしても最近はやりですので他にも色々活用していこうかなと思います。例えばブログのアクセス解析などにも使えそうですね。
今回はInstagramのアカウントの関係性を外部の第三者サービスに登録しなくても簡単に可視化できる手法の紹介でした。
コメント
コメント一覧 (2件)
はじめまして。記事を読ませていただきました。
【Instagram】Power BIで簡単に相互フォロー/片思いをチェックする方法にて紹介されているconnection.jsonが現在はなく、たぶんそれの変わりだと思いますが「followers_and_following」というファイルフォルダにfollowers.jsonとfollowing.jsonが入っていました。
そのデータでできないか試してはみたのですが、jsonファイルとPower BIに馴染みがなく詰まってしまいました。お忙しい中、お手数をおかけしてしまいますが方法をご教授いただけますと幸いです。
仕様が変更されているようですね。
本業多忙につき、今詳細な確認とブログの更新はできませんが、followers.json、following.jsonの「string_list_data」に「value」がユーザIDとして、timestampが(恐らく)登録日として格納されているようです。
1つのjsonファイルから別々のjsonファイルに分解されたようなので別々にインポートしてください。
取り急ぎご返信まで。