Я могу показать гистограмму, используя статические данные в vfp - apex. Однако есть в основном две проблемы - 1. Получение динамических данных нет. контактов в каждой учетной записи и 2. сделать каждую панель кликабельной и перенаправить на учетную запись
Попытался сделать динамический, используя следующую ссылку
https://hub.appirio.com/tech-blog/building-dynamic-stacking-bar-charts-in-visualforce
Справка Barchart от -
https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_charting_appearance_bar_charts.htm
Схожий вопрос по общности, связанный с кликом
https://salesforce.stackexchange.com/questions/119774/showing-each-account-with-number-of-contact-if-i-click-on-contact-count-it-has-t
VF
<apex:page controller="ChartController">
<apex:chart height="400" width="700" data="{!data}">
<apex:axis type="Numeric" position="left" fields="data1"
title="Opportunities Closed" grid="true"/>
<apex:axis type="Category" position="bottom" fields="name"
title="Month of the Year">
</apex:axis>
<apex:barSeries axis="left" xField="name" yField="data1"
orientation="vertical" />
</apex:chart>
</apex:page>
Код контроллера
public class ChartController {
// Return a list of data points for a chart
public List<Data> getData() {
return ChartController.getChartData();
}
// Make the chart data available via JavaScript remoting
@RemoteAction
public static List<Data> getRemoteData() {
return ChartController.getChartData();
//List<Account> accList=[select id,Name from account];
//return accList;
}
// The actual chart data; needs to be static to be
// called by a @RemoteAction method
public static List<Data> getChartData() {
List<Account> accList=[select id,Name from account];
List<Data> data = new List<Data>();
data.add(new Data('Jan', 30 ));
data.add(new Data('Feb', 44 ));
data.add(new Data('Mar', 25));
return data;
}
// Wrapper class
public class Data {
public String name { get; set; }
public Integer data1 { get; set; }
public Data(String name, Integer data1) {
this.name = name;
this.data1 = data1;
}
}
}