レポートメタデータの取得
レポートメタデータを取得して、レポートとその��ポートタイプの情報を取得できます。
メタデータには、絞り込み、グルーピング、詳細データ、集計のためにレポートで使用されている項目に関する情報が含まれます。メタデータを使用して、次のことを実行できます。
- レポートタイプで絞り込むことができる項目および値を確認する。
- 項目、グルーピング、詳細データ、集計に関するメタデータ情報を使用して、カスタムグラフ視覚効果を作成する。
- レポートの実行時にレポートメタデータの検索条件を変更する。
レポートメタデータを取得するには、ReportResults.getReportMetadata メソッドを使用します。次に、ReportMetadata クラスで「get」メソッドを使用して、メタデータ値にアクセスできます。
例
次の例では、レポートのメタデータを取得します。
1// Get the report ID
2List <Report> reportList = [SELECT Id,DeveloperName FROM Report where
3 DeveloperName = 'Closed_Sales_This_Quarter'];
4String reportId = (String)reportList.get(0).get('Id');
5
6// Run a report
7Reports.ReportResults results = Reports.ReportManager.runReport(reportId);
8
9// Get the report metadata
10Reports.ReportMetadata rm = results.getReportMetadata();
11System.debug('Name: ' + rm.getName());
12System.debug('ID: ' + rm.getId());
13System.debug('Currency code: ' + rm.getCurrencyCode());
14System.debug('Developer name: ' + rm.getDeveloperName());
15
16// Get grouping info for first grouping
17Reports.GroupingInfo gInfo = rm.getGroupingsDown()[0];
18System.debug('Grouping name: ' + gInfo.getName());
19System.debug('Grouping sort order: ' + gInfo.getSortOrder());
20System.debug('Grouping date granularity: ' + gInfo.getDateGranularity());
21
22// Get aggregates
23System.debug('First aggregate: ' + rm.getAggregates()[0]);
24System.debug('Second aggregate: ' + rm.getAggregates()[1]);
25
26// Get detail columns
27System.debug('Detail columns: ' + rm.getDetailColumns());
28
29// Get report format
30System.debug('Report format: ' + rm.getReportFormat());