Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

【Dynamics CRM】【8.0】Excelテンプレートの利用

Dynamics CRM 2016(8.0)の新機能紹介です。

今回はさらに強化されたExcel連携のテンプレートについて紹介します。

概要

Dynamics CRM 2015 SP1(7.1)のころからExcel Onlineとは連携していましたが、サポートされてた機能としては、主に一覧表示と一括編集のみ。

何かExcelのAnalyticsとして利用する場合は、ローカルにダウンロードして、動的ピボットテーブルなどを利用する必要がありました。

そこが今回のアップデートではグラフなどを付与したExcelファイルを作成し、Dynamics CRMに登録、Online上で閲覧できるようになりました。

Analyze your data with Excel templates | Microsoft Dynamics CRM

Dynamics CRMにはいろいろとAnalytics系の機能が充実していますが、普段使い慣れているExcelベースでこのように実施できるのは嬉しい限りですね。Excel Onlineの一括編集も結構人気な感じがしますし。

サンプル

いくつかのエンティティには初期状態で利用できるサンプルテンプレートが付いています。

最初はこれを見て、こんなものが作れるのかというイメージを持ってもらうのがいいかと思います。

例えば、営業案件エンティティでは以下の様なテンプレートを実行することができます。

f:id:sugimomoto:20151222160400p:plain

f:id:sugimomoto:20151222155126p:plain

表示されるデータは実行前に表示していたレコードに依存します。

つまり、フィルタリングをかけた状態でExcelテンプレートを実行しますと、そのフィルタリング結果を元にExcelテンプレートのデータが表示されます。

表示列は依存せず、あくまでもともとテンプレートに設定されていた列が表示されていきます。

作り方

そこまで込み入ったものではないですが、Excelテンプレートの作り方を記載します。

ちなみにExcelテンプレートですが、ビューやダッシュボードと同じ用にシステムテンプレートとパーソナルテンプレートの2種類が存在します。

システムテンプレートは組織全体に公開されますが、パーソナルテンプレートは作成した個人のみしか原則閲覧できません。他のユーザーにも閲覧させたい場合はShareする必要があります。

以下ではシステムテンプレートの作り方、という観点で解説していきます。

[設定]→[テンプレート]→[ドキュメント テンプレート]をクリックします。

f:id:sugimomoto:20151222155144p:plain

現在登録されているテンプレートの一覧が表示されます。ここに登録されているものがシステムテンプレートになります。初期状態で9種類、サンプルとなるテンプレートがあります。

ここから[新規]をクリックし、ベースとなるExcelをダウンロードしていきます。

f:id:sugimomoto:20151222155213p:plain

対象のエンティティと元になる項目が含まれているビューを選択します。[列の編集]ボタンがあるので、ここで対象となる項目を含めても大丈夫です。

なお、あくまで列項目だけが必要な部分となり、対象となるビューのフィルタ条件などは実行段階では関係無くなります。(ただ、テンプレート作りの元データになるので、データが表示されるビューが望ましいです)

f:id:sugimomoto:20151222155319p:plain

[ダウンロード]をクリックすると、対象エンティティ・ビューのExcelがダウンロードされていきます。これをベースにテンプレートを作成します。

Excelテンプレートにグラフなどのコンテンツを追加する場合、初期状態で表示される一覧の上または右、もしくは新しいシートを追加するのが望ましいみたいです。

また、通常のグラフですとうまく同期されない場合がありますので、おすすめはピボットグラフです。

f:id:sugimomoto:20151222155711p:plain

以下の様な形でピボットグラフを別シートに構成してみました。

f:id:sugimomoto:20151222160538p:plain

一点、このグラフを扱う上で注意すべき点があります。グラフを右クリックで設定できる[ピボットテーブル オプション]→[データ(タブ)]→[ファイルを開くときにデータを更新する]にチェックを入れないと、Excel Onlineでテンプレートを表示した時に値が更新されません。(右クリックで更新できますが……)

f:id:sugimomoto:20151222155917p:plain

あとはDynamics CRMに作成したExcelファイルを登録してくだけです。

f:id:sugimomoto:20151222160107p:plain

f:id:sugimomoto:20151222160136p:plain

f:id:sugimomoto:20151222160145p:plain

以下の様な形で登録されました。

f:id:sugimomoto:20151222160158p:plain

f:id:sugimomoto:20151222160724p:plain

注意 データの更新

試している時に気づいたのですが、時々更新したデータがExcelテンプレートに反映されないことがあります。

何が原因だろうと思って調べてみたら、Excelテンプレートが表示されているビューのレコードと連動している手前、ビューを更新(並び替えやフィルター、ビューの切り替えなど)をしないといけないみたいでした。

逐次値を更新して即実行というシチュエーションはあまり無いかもしれませんが、データが更新されていないなぁと思った時は、並び替えなどを行ってみてください。

権限について

権限ですが、当初私自身Excelだし、Excelエクスポートの権限が絡んでいるのかなぁと思っていたら、全然違いました!

ドキュメントテンプレート用の権限が別途存在しています。

f:id:sugimomoto:20151222160210p:plain

ただー……残念ながら、Excelエクスポートでダウンロードを防いだとしても、Excelテンプレートからダウンロードできてしまうので、あまり意味がありません……。

なので、どちらにしてもExcelダウンロードを防ぎたい方は、権限をOFFにしてもらうしかないですね……。