Morning Girl

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

【Dynamics CRM】【SSRS】監査の取得

Dynamics CRMの監査履歴ってちょっと見づらいですよね。

細かな変更内容が見れるのはいいんですが、標準ではエクスポートもできないので、

何かと調べごとをしたい、アクセス状況とかを見たい場合にはあまり向いていません。

今回は、簡単なものですが、SSRSで出力可能な監査履歴レポートを作成してみました。

レポートの作成とFetchXMLについてはいつかまとめたいところですが、とりあえず内部構造と実行結果イメージです。

FetchXML

エンティティにはauditが選択できます。

高度な検索などでは選択に上ってこないので、メタデータをエクスポートして、それぞれの内容を特定しました。

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
  <entity name="audit">
    <attribute name="auditid" />
    <attribute name="createdon" />
    <attribute name="operation" />
    <attribute name="userid" />
    <attribute name="objectid" />
    <attribute name="transactionid" />
  </entity>
</fetch>

クエリ結果

以下のような感じでデータが取得できます。

f:id:sugimomoto:20150526232321p:plain

SSRS構成

レポートの構成は、Excelエクスポートも考慮して、シンプルなものにしてみました。

f:id:sugimomoto:20150526232454p:plain

実行結果

こんな感じで出力しています。パラメータとかを駆使したり、Fecthの集計を利用すれば、どの人がどのくらいアクセスしているかなども取れるかと思います。

f:id:sugimomoto:20150526232630p:plain

その他

もう少しAuditエンティティの内容を調べれば、より詳しい内容が出せるかもしれません。

ただ、OnlineでかつFetchXMLでは結構限界があるかも?

より詳しく見たい場合は、あきらめてプログラムを書いて、CSVで出力とかのほうがいいかもしれないですね。