Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >salesforce零基础学习(八十三)analytics:reportChart实现Dashboard(仪表盘)功能效果

salesforce零基础学习(八十三)analytics:reportChart实现Dashboard(仪表盘)功能效果

作者头像
Zero-Zhang
发布于 2018-01-05 03:49:42
发布于 2018-01-05 03:49:42
94000
代码可运行
举报
运行总次数:0
代码可运行

项目中经常会用到Report以及Dashboard来分析汇总数据,Dashboard可以指定view as user,如果针对不同的用户需要显示其允许查看的数据,比如  根据role hierarchy来显示数据,需要指定run as login user.但是dashboards runas the logged-in user是有数量的限制的,针对此种情况,就需要使用自定义实现Dashboard功能。

使用自定义操作可以通过apex class获取数据,在visualforce page上画不同组的chart,点击chart以后跳转到相关详情的report页面,但是这种情况无法处理funnel chart的情况,因为visualforce的api没有提供funnel chart样式的元素。

这种情况下,比较偷懒的操作为在Report上使用Role Hierarchy进行限制来对数据进行获取,然后在Report中配置chart,使用aynalytics:reportChart传递需要显示的report ids进行展示,从而实现dashboard的效果。

 功能:实现自定义Dashboard,Dashboard显示两个chart,分别为通过Type对Account进行分组以及通过State/Province对Account分组,每个用户只能看到当前用户以及下级的内容。

准备工作:

1.创建Report,此Report通过Type进行分组,developername为Account_Report_By_Type

2.创建Report,此Report通过State/Province进行分组,developername为Account_By_Billing_State_Province

3.创建Dashboard,包含上面的两个Report,datasource也分别对应上面两个report。

准备工作结束,现在需要通过程序来实现上面的Dashboard。

1.AnalyticsReportChartController:用来获取上述两个report id,并放在reportIds

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 public with sharing class AnalyticsReportChartController {
 2     public List<Id> reportIds{get;set;}
 3     public AnalyticsReportChartController() {
 4         reportIds = new List<Id>();
 5         reportIds.add(accountByTypeReportId);
 6         reportIds.add(accountByStateProvinceReportId);
 7     }
 8     public Id accountByTypeReportId{
 9         get {
10             if(accountByTypeReportId == null) {
11                 Report rt = [select id from Report where DeveloperName = 'Account_Report_By_Type' limit 1];
12                 accountByTypeReportId = rt.Id;
13             }
14             return accountByTypeReportId;
15         }set;
16     }
17 
18     public Id accountByStateProvinceReportId {
19         get {
20             if(accountByStateProvinceReportId == null) {
21                 Report rt = [select id from Report where DeveloperName = 'Account_By_Billing_State_Province' limit 1];
22                 accountByStateProvinceReportId = rt.Id;
23             }
24             return accountByStateProvinceReportId;
25         }set;
26         
27     }
28 }

2.AnalyticsReportChart.page:实现展示两个report的chart,点击后跳转到相关的report中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 <apex:page controller="AnalyticsReportChartController">
 2     <apex:panelGrid columns="2">
 3         <apex:outputPanel id="reportPanel">
 4             <apex:repeat value="{!reportIds}" var="report">
 5                 <div style="display: inline-block;width: 400px;height: 400px;vertical-align: top;">
 6                     <analytics:reportChart reportId="{!report}" showRefreshButton="false" size="small" cacheResults="false"></analytics:reportChart>
 7                 </div>
 8             </apex:repeat>
 9         </apex:outputPanel>
10     </apex:panelGrid>
11 </apex:page>

效果展示:

总结:使用analytics:reportChart可以很方便的实现DashBoard的展示效果,但是此种方式仅限于Dashboard中的一个Chart对应一个Report,而不是一个Chart对应多个Report,如果出现一个Chart对应多个Report,需要创建成一对一的关系才能实现。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-11-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
salesforce 零基础学习(六十七)SingleEmailMessage 那点事
 在salesforce开发中,发送邮件是一个很常见的功能。比如在进入审批流以后的通过和拒绝的操作需要发送邮件给记录的owner,和其他系统交互以后更改了某些状态通知相关的User或者Contact等
Zero-Zhang
2018/01/05
9820
salesforce 零基础学习(六十七)SingleEmailMessage 那点事
salesforce 零基础学习(四十四)实现checkbox列表简单过滤功能
本文讲述了一种使用Apex实现复选框(Checkboxes)的搜索功能,该功能可以根据输入的关键词进行搜索,并显示匹配的选项。同时,该功能还支持对搜索结果进行实时筛选,并提供了丰富的展示样式。
Zero-Zhang
2018/01/05
9670
salesforce 零基础学习(四十四)实现checkbox列表简单过滤功能
salesforce零基础学习(八十二)审批邮件获取最终审批人和审批意见
项目中,审批操作无处不在。配置审批流时,我们有时候会用到queue,related user设置当前步骤的审批人,审批人可以一个或者多个。当审批人有多个时,邮件中获取当前记录的审批人和审批意见就不能随
Zero-Zhang
2018/01/05
1.4K0
salesforce零基础学习(八十二)审批邮件获取最终审批人和审批意见
salesforce零基础学习(一百三十三)ListView的button思考
salesforce零基础学习(一百一十)list button实现的一些有趣事情
Zero-Zhang
2023/10/22
3000
salesforce零基础学习(一百三十三)ListView的button思考
salesforce零基础学习(九十五)lightning out
随着salesforce对lightning的推进,越来越多的项目基于lightning开发,导致很多小伙伴可能都并不了解classic或者认为不需要用到classic直接就开始了lightning的开发。其实有精力了解classic的使用还是很有必要的,因为lightning还在不断的优化中,可能有一部分还需要使用classic的功能来实现或者来协助实现,比如list view的list button目前只能使用visualforce page搭配lightning component。那么vf 如何去引用已经弄好的lightning component呢,我们接下来使用一个demo去简单了解一下。
Zero-Zhang
2020/02/11
8930
salesforce零基础学习(九十五)lightning out
salesforce 零基础学习(六十四)页面初始化时实现DML操作
有的时候我们往往会遇到此种类似的需求:用户在访问某个详细的记录时,需要记录一下什么时候哪个用户访问过此页面,也就是说进入此页面时,需要插入一条记录到表中,表有用户信息,record id,sObjec
Zero-Zhang
2018/01/05
9020
salesforce 零基础学习(六十四)页面初始化时实现DML操作
salesforce 零基础学习(二十八)使用ajax方式实现联动
Zero-Zhang
2018/01/05
1.1K0
salesforce 零基础学习(二十八)使用ajax方式实现联动
salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件
在classic环境中,salesforce提供了<apex:inputFile>标签用来实现附件的上传以及内容获取。salesforce 零基础学习(二十四)解析csv格式内容中有类似的使用此标签进行解析附件内容,后台只要声明String类型变量用来存储附件名称,Blob类型变量用来存储附件的内容即可。
Zero-Zhang
2018/10/08
1.5K0
salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件
salesforce零基础学习(七十一)级联表DML操作
该文讲述了在开发过程中遇到的级联操作中,由于业务逻辑或数据自身操作失败导致需要回滚情况下,如何避免出现数据库中不存在本条记录然而后台绑定的对象却相关复制的问题。在文中提到了使用clone操作或其他好的操作方法来避免此类问题。
Zero-Zhang
2018/01/05
6360
salesforce零基础学习(七十一)级联表DML操作
salesforce零基础学习(八十四)配置篇: 自定义你的home page layout
Zero-Zhang
2018/01/05
1.5K0
salesforce零基础学习(八十四)配置篇: 自定义你的home page layout
salesforce零基础学习(一百二十七)Custom Metadata Type 篇二
salesforce零基础学习(一百一十一)custom metadata type数据获取方式更新
Zero-Zhang
2023/03/16
5780
salesforce零基础学习(一百二十七)Custom Metadata Type 篇二
salesforce的功能_salesforce开发
161、【String.format escape curly braces – 转义花括号】:
全栈程序员站长
2022/11/01
7K0
salesforce的功能_salesforce开发
salesforce零基础学习(一百)Mobile Device Tracking
UserDevice | SOAP API Developer Guide | Salesforce Developers
Zero-Zhang
2021/01/29
6880
Salesforce Sharing And Visibility 零基础学习(一)基础知识篇
https://trailhead.salesforce.com/en/users/strailhead/trailmixes/architect-sharing-and-visibility
Zero-Zhang
2020/02/18
1.2K1
Salesforce Sharing And Visibility 零基础学习(一)基础知识篇
salesforce零基础学习(一百一十)list button实现的一些有趣事情
https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lightning_out_considerations
Zero-Zhang
2021/12/31
5650
salesforce零基础学习(一百一十)list button实现的一些有趣事情
salesforce 零基础学习(五十)自定义View或者List以及查看系统原来的View或者List
本文主要介绍了如何通过自定义视图来查看Salesforce记录的真实数据,包括标准视图、自定义视图和查看原始视图的方法。
Zero-Zhang
2018/01/05
9390
salesforce 零基础学习(五十)自定义View或者List以及查看系统原来的View或者List
salesforce lightning零基础学习(二) lightning 知识简单介绍----lightning事件驱动模型
看此篇博客前或者后,看一下trailhead可以加深印象以及理解的更好:https://trailhead.salesforce.com/modules/lex_dev_lc_basics 做过classic的朋友知道,前台和后台交互可以在页面上使用多种方式,比如在VF page中apex:commandButton等标签绑定action,使用actionFunction,使用ajax toolkit,使用VF Remoting或者使用action:support多种方式实现和后台的交互。如果你习惯性的使用
Zero-Zhang
2018/05/28
1.6K0
salesforce零基础学习(一百四十)Record Type在实施过程中的考虑
https://help.salesforce.com/s/articleView?id=sf.customize_recordtype_considerations.htm&type=5
Zero-Zhang
2024/07/22
1780
salesforce零基础学习(九十七)Big Object
https://developer.salesforce.com/docs/atlas.en-us.224.0.bigobjects.meta/bigobjects/async_query_overview.htm
Zero-Zhang
2020/10/30
1.3K0
salesforce零基础学习(九十七)Big Object
salesforce零基础学习(一百二十三)Transaction Security 浅入浅出
本篇参考: https://help.salesforce.com/s/articleView?id=sf.enhanced_transaction_security_policy_types.htm
Zero-Zhang
2022/12/21
5120
salesforce零基础学习(一百二十三)Transaction Security 浅入浅出
推荐阅读
salesforce 零基础学习(六十七)SingleEmailMessage 那点事
9820
salesforce 零基础学习(四十四)实现checkbox列表简单过滤功能
9670
salesforce零基础学习(八十二)审批邮件获取最终审批人和审批意见
1.4K0
salesforce零基础学习(一百三十三)ListView的button思考
3000
salesforce零基础学习(九十五)lightning out
8930
salesforce 零基础学习(六十四)页面初始化时实现DML操作
9020
salesforce 零基础学习(二十八)使用ajax方式实现联动
1.1K0
salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件
1.5K0
salesforce零基础学习(七十一)级联表DML操作
6360
salesforce零基础学习(八十四)配置篇: 自定义你的home page layout
1.5K0
salesforce零基础学习(一百二十七)Custom Metadata Type 篇二
5780
salesforce的功能_salesforce开发
7K0
salesforce零基础学习(一百)Mobile Device Tracking
6880
Salesforce Sharing And Visibility 零基础学习(一)基础知识篇
1.2K1
salesforce零基础学习(一百一十)list button实现的一些有趣事情
5650
salesforce 零基础学习(五十)自定义View或者List以及查看系统原来的View或者List
9390
salesforce lightning零基础学习(二) lightning 知识简单介绍----lightning事件驱动模型
1.6K0
salesforce零基础学习(一百四十)Record Type在实施过程中的考虑
1780
salesforce零基础学习(九十七)Big Object
1.3K0
salesforce零基础学习(一百二十三)Transaction Security 浅入浅出
5120
相关推荐
salesforce 零基础学习(六十七)SingleEmailMessage 那点事
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验