見出し画像

社内イベント(和服の日)を可視化してみた(Power BIまとめ版)

 

今回の内容

社内イベント(和服の日)に伴い、Power Apps・Power Automate・Power BIを使用した際のデータ可視化(Power BI)部分の記事を今回改めてまとめてみた。

和服の日とは

 佐賀県の企業(勤務先)が、創業120周年の一環で、日本記念日協会に申請し、10月29日が「和服の日」として正式に認められ、去年より社員で和服を着て街を散策するイベントを行っています。

 今年は密を避けるためグループ毎に街を散策することになり、一体感を持たせるのと、Power Platformに興味があったので挑戦してみた。

データ構造の説明

 データを可視化する際、データ構造を知らないとPower Queryやデータ可視化の際に失敗する恐れがありますので、データ構造の把握は重要です。

Power Appsのデータ構造

 Power Appsで撮影した写真が保存しており、位置情報(経度・緯度)も、可視化で利用するため取得しています。


画像認識のデータ構造(Power Automate)

 Power Appsで撮影した写真は、Power Automate(Computer Vsion,Face API)にて画像分析が行われデータとしてセットされます。

Power Queryとデータモデリング 

Power Queryについて

 自分でアプリ作成しデータ内容も把握してるため、簡単なUI操作で済みました。

Power Query画面

データモデリングについて

モデルビュー画面

Power BI ビジュアル・DAX部分

DAX関数使用して、顔認識の人数、写真枚数、笑顔の写真割合を計算する。

顔認識人数

 顔認識の人数については、単純に顔認識情報のデータ件数が人数となるため単純にcountrowsで集計します。

顔認識人数 = 
countrows(
    '顔認識情報'
) 

顔認識枚数

  顔認識枚数と同じCOUNTROWS関数を使用しますが、VALUES関数にてPHOTO_NAME(一意の値)の重複を削除し、顔認識枚数を集計します。

顔認識枚数 = 
COUNTROWS(
    VALUES(
    '顔認識情報'[Photo_name]
    )
)

笑顔写真の割合

顔認識での笑顔の強度が0.8(最大値1)以上の場合は笑顔ととらえ、先ほど書いたメジャー(顔認識人数)で除算し笑顔の写真人数の割合を算出します。

笑顔写真割合 = 
var __Smile = 
CALCULATE(
    countrows(
    '顔認識情報'
    ),
    '顔認識情報'[笑顔] >=0.8
) 
return DIVIDE(__Smile,[顔認識人数])

動作チェック

 正しくフィルタが適用されるかどうかの確認

フィルタ適用前

フィルタ適用後

ビジュアル部分作成

 サマリ部分については、コース(グループ)別の写真枚数や笑顔の写真の割合等を表示して、撮影写真を増やすようにしてみたり、笑顔写真を増やすようにビジュアル部分を工夫してみる。

 写真詳細画面については、AIで画像分析した情報が表示するようにする。(「顔ハメ看板」の顔を認識出来るのが驚き)

まとめ

 内製開発でアプリ作成(Power Apps)・自動化(Power Automate)・データ可視化(Power BI)を行ったが、何とか和服の日までに完成し、たくさんの写真を撮ってくれて、データ可視化も正しく動作したので自信に繋がりました。




この記事が気に入ったらサポートをしてみませんか?