tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:analytics:reportChartタグの使い方を勉強しました

以前、analytics:reportChartタグについて簡単に調べてみたのですが、イマイチわかっていないことが多かったのでいろいろ検索してみました。


こちらのサイトがすごく参考になりました。

Visualforce でレポート表示 | FOLGORE.JP


それとDeveloper Guideも公開されていました。

Salesforce1 Reporting REST API Developer Guide


今回知りたかったのは『filter』の指定の部分です。API名が通常の指定の仕方と異なるのでどうなっているのかなと思っていたのですが、これは『Analytics API』の項目API名となるみたいで、『オブジェクトAPI名.項目API名』というように指定すればいいみたいです。

f:id:tyoshikawa1106:20150131165921p:plain


また、operatorで指定できる内容はつぎのようになっていました。

  • equals
  • notEqual
  • lessThan
  • greaterThan
  • lessOrEqual
  • greaterOrEqual
  • contains
  • notContain
  • startsWith
  • includes
  • excludes
  • within
  • between

f:id:tyoshikawa1106:20150131171130p:plain


もう一つ参考になったのが次のサイトです。

Peter Knolle | Apex Analytics API and Report Chart Component


filterを指定するとき『JSON.serialize』を利用することでApexクラス内でfilterに指定する条件を用意できるみたいです。

こんな感じのラッパークラスを用意

f:id:tyoshikawa1106:20150131193110p:plain

Controller内で値をセット

f:id:tyoshikawa1106:20150131193805p:plain

filterに指定する

f:id:tyoshikawa1106:20150131193213p:plain


これで指定した条件で絞込みされたレポートのグラフを表示できます。

f:id:tyoshikawa1106:20150131193336p:plain:w300

おまけ