Visualforce でレポート表示

analytics:reportChart コンポーネントを利用することで、既存のレポートを表示することができる。

cap1

<apex:page >
    <analytics:reportChart reportId="00OO0000000G1hd" />
    <analytics:reportChart reportId="00OO0000000G1hd" filter="{column:'STAGE_NAME', operator:'equals', value:'Closed Won'}" />
    <analytics:reportChart reportId="00OO0000000G1hd" filter="{column:'Opportunity.Text1__c', operator:'equals', value:'test'}" />
</apex:page>

reportId は、00OO0000000G1hd といったレポートの Salesforce ID。
filter で指定する column は API 名だが、カスタムフィールドの場合はオブジェクト名が Namespace のようになる。正確には Analytics API で確認できる。

Workbench の REST Explore で確認する:

Workbench にログインして、[utilities] | [REST Explore] で実行。

/services/data/v29.0/analytics/reports/00OO0000000G1hd/describe

cap2

Opportunity Information.columns… に標準フィールド
Opportunity: Custom Info.columns… にカスタムフィールド


Apex で確認する:

Reports.ReportDescribeResult rdr = Reports.ReportManager.describeReport('00OO0000000G1hd');
for (String columnStr : rdr.getReportMetadata().getDetailColumns()) {
  System.debug(columnStr);
}
09:45:41.433 (433238000)|USER_DEBUG|[3]|DEBUG|AMOUNT
09:45:41.433 (433290000)|USER_DEBUG|[3]|DEBUG|Opportunity.Number1__c
09:45:41.433 (433322000)|USER_DEBUG|[3]|DEBUG|Opportunity.Text1__c
09:45:41.433 (433353000)|USER_DEBUG|[3]|DEBUG|Opportunity.Formula1__c

コメントを残す