みなさん、こんにちは。Power BI を担当している川原 純一郎です。
前回の投稿からずいぶん時間が経過してしまいましたが、Power BI の活用例をこれからいくつか投稿していきます。サンプルと作成手順をステップ バイ ステップで紹介しますのでご興味のあるトピックがありましたらご自分の環境で試していただき Power BI の良さを体感いただけたら嬉しいです。
[Power BI 利用シーン別サンプル]
- Skype for Business Online の利用状況を可視化する (本ブログ)
- 利用状況の表記項目をわかりやすく表現する (Coming Soon)
- 会議時間/会議室の利用状況を可視化する (Coming Soon)
今回紹介するのは社内の Skype for Business Online の活用度をユーザー/組織別にどのようにコミュニケーションするのかを可視化するサンプルです。矢印の方向でコミュニケーションの方向、コミュニケーションの種類 (チャット, Web 会議等) により色を変更し、矢印の太さで頻度を表現してみました。部門間で密にコミュニケーションしているのはどの部門なのか、部門/チーム内のコミュニケーションは活性化しているのか?という観点で分析することが可能なレポートです。
Power BI は様々なデータ可視化が可能なツールです。Excel のような使い勝手なのでツール利用時には難しいスキルセットは不要です。必要なことは「どういったデータ」を「どのように表示する」かの 2 点です。今回の Skype for Business 可視化にあてはめると以下のようになります。
- 「どういったデータ」=「Skype for Business のユーザー毎の操作ログ情報」
- 「どのように表示する」 = ユーザー間のやり取り量を可視化する Power BI カスタム ビジュアル
では早速レポート作成をしていきましょう。
今回の手順で作成したレポートは https://junkaw.blob.core.windows.net/public/SfB_1.pbixになりますので適宜ご参照ください。
1. 事前準備
本レポートを作成する際にはレポート作成ツール Power BI Desktop のインストールとカスタム ビジュアルを利用するため Power BI サービスへのサインアップが必要となります。事前に Power BI サイト https://powerbi.microsoft.comよりサインアップを実施してください。
Power BI Desktop をインストールされていない方はこちらからダウンロードしてください。
https://powerbi.microsoft.com/ja-jp/downloads/
Power BI Desktop は msi 版と Microsoft ストアからインストール可能なストア アプリ版があります。msi 版は毎月更新時に再インストールをする必要がありますが、ストア アプリ版は自動的に差分更新をしてくれます。Windows 10 を利用の方は是非 Microsoft ストアからインストールしてください。
Power BI Desktop を起動するとサインアップ画面が表示されます。すでに Power BI サービスにてサインアップを終了している方は画面最下部の "Power BI アカウントをお持ちではありませんか?サインイン" リンクをクリックしてサインインを実施してください。
2. Skype for Business のユーザー毎セッション ログ情報の取得方法
Office 365 管理センターの Skype 利用状況レポートには各ユーザーがどれくらいチャットや電話を実施したのかの情報が表示されますが、"誰と" 情報は利用状況レポートには表示されません。"誰と" 情報は Skype for Business のセッション情報に含まれており、その情報は PowerShell を利用することで取得可能です。
以下のブログにて各ユーザー単位で Skype for Business セッション情報の取得方法が公開されています。
Skype for Business Online 上のセッション情報を取り出す方法について
https://blogs.msdn.microsoft.com/lync_support_team_blog_japan/2016/10/13/get-csusersession/
PowerShell を使用して Office 365 (Skype for Business) へ接続するためには実行マシンにいくつかのモジュールをインストールする必要があります。手順は以下のサイトに記載がありますので設定されていない場合には参考にしてください。
単一の Windows PowerShell ウィンドウですべての Office 365 サービスに接続する
https://docs.microsoft.com/ja-jp/office365/enterprise/powershell/connect-to-all-office-365-services-in-a-single-windows-powershell-window
■ Skype for Business のセッション情報を CSV で取得する
上記ブログを参考に自社テナント内全ユーザーのセッション情報を取得して CSV として出力する PowerShell を作成してみました。
### Skype for Business への接続 ###
$cred = get-credential
Import-Module skypeonlineconnector
$SfBSession = New-CsOnlineSession -Credential $cred -Verbose
Import-PSSession $SfBsession -AllowClobber
### Skype for Businessのセッションログの取得 ###
$StartTime = (Get-Date).AddDays(-10)
$EndTime = (Get-Date).AddDays(-1)
$filename = Get-Date -Format "yyyyMMdd_HHmmss"
$output = Get-CsOnlineUser | Foreach {Get-CsUserSession -StartTime $StartTime -EndTime $EndTime -User $_.UserPrincipalName -WarningAction silentlycontinue | Where-Object {$_.MediaTypesDescription -ne "[RegisterEvent]" -and $_.MediaTypesDescription -ne ""} | select StartTime,EndTime,FromUri,ToUri,MediaTypesDescription}
### フォルダへCSVとしてエクスポート ###
$output | Export-csv -NoTypeInformation -Append -Path "C:temp$filename-SfBLog.csv"
$output >> c:temptest.txt
今回の PowerShell では過去 10 日間のデータを取得しています。取得したい期間に合わせて $StartTime, $EndTime の値は変更してください。
[注意事項]
取得データ量が多くなると、タイムアウト等のエラーでデータ取得ができないケースもあります。短い期間からスタートして様子を見ながら取得期間を設定してください。
実行手順 :
1. 任意の場所にテキストファイル(例:getlogs.txt)を作成し、上記スクリプトを貼り付け
2. テキストファイルを保存しファイル拡張子をtxtからps1に変更
3. (存在しない場合) C:temp フォルダを作成
4. Windows PowerShell を管理者権限で起動し、作成した ps1 ファイル (例:getlogs.ps1) を実行
5. 表示される認証ダイアログに Office 365 テナント管理者 ID/PW を入力
取得した CSV には誰から (FromUri) と誰へ (ToUri) 情報が 2 つの列にメールアドレス (厳密には SIP アドレスですが) として含まれています。これで誰が誰とやり取りしたかを可視化することが可能です。取得した CSV は以下のようになっているかと思います。
今回の手順では Power BI Desktop でレポートを参照しますので、c:temp フォルダに CSV ファイルを保存したままでレポート作成しますが、取得したデータを SharePoint Online フォルダや OneDrive for Business でもに保存しておくと Power BI サービス (クラウド環境) から) オンプレミス データ ゲートウェイ経由でのスケジュール更新や Power BI Desktop での最新情報取得/再発行を実施せずに最新データ取得が可能になります。
3. Power BI Desktop を使用してPower BI レポートを作成する
実行手順 :
1. Power BI Desktop のリボン メニューにて [ホーム]-[データを取得] を選択し "テキスト/CSV" を選択します。
2. PowerShell で取得した CSV を選択し、表示されたダイアログの "読み込み" を選択します。
■ ユーザー間のやり取りを表現する Power BI カスタム ビジュアルを取得する
Power BI を利用する利点の一つとして Excel などで利用されるような一般的なグラフ以外の表現力豊かなカスタム ビジュアルを自由に追加できる点があります。今回利用する矢印を使用したビジュアルは標準ビジュアルに含まれていないため、Marketplace からインポートします。
取得するカスタムビジュアルはこちらです。
Force-Directed Graph
https://appsource.microsoft.com/ja-jp/product/power-bi-visuals/WA104380764
実行手順 :
1. Power BI Desktop にて "視覚化" ペイン内の "…" を選択し "Marketplace からインポートする" を選択します。
2. ダイアログの検索ボックスに "Force" と入力して検索実施し、Force-Directed Graph 横の "追加" ボタンでビジュアルを追加します。
3. インポートした "Force-Directed Graph" を Power BI Desktop キャンバスに置き、各設定項目を以下のように設定します。
いかがでしょうか?ユーザー同士のコミュニケーション状況がテーブル形式のログ ファイルよりもわかりやすく表現されたかと思います。
次回はこのレポートをもとにメールアドレス形式で表示されている部分を漢字名や部門名で表示する方法を紹介します。