前言
在做实例前,请先完成 “环境准备” 。
可参考我之前写的文章:Dynamics CRM – SSRS报表开发(1)准备环境
实例-用户最后一次登录时间
(1)打开Visual studio 2019
(2)创建报表项目
a.选中解决方案并右击,点击【添加】,选择【新建项目】
b.搜索“报表”,选择【报表服务器项目】,点击“下一步”
c.填写项目名称,点击“创建”
d.报表项目创建完成后的结构如下
(3)新建报表
a.选中并右击报表项目中的“报表”文件夹
b.选择【添加】,再选择【新建项】
c.选择【报表】,输入报表名称,点击“添加”
d.报表添加完成,界面如下
(4)添加数据源
a.选中并右击“数据源”,选择【添加数据源】
P.S 如果 “报表数据”选项卡 被你不小心关掉了,可以通过快捷键打卡,快捷键:Ctrl + Alt + D
b.填写数据源名称(我习惯写DynamicsCRMDataSouce,这个名称无所谓,你用默认的也可以,后面都可以修改的),【类型】选择【Microsoft Dynamics 365 Fetch】,然后输入“连接字符串”,然后点击“确定”
“连接字符串”拼接格式:环境URL + 环境的唯一名称
例如:
环境URL:https://xxxx.crm.dynamics.cn
环境唯一名称:10290jasooasdjasodjasd1209
则“连接字符串”为 `https://xxxx.crm.dynamics.cn/10290jasooasdjasodjasd1209`
P.S 如何查看CRM环境的唯一名称(unique name)请看底下的补充说明章节。
(5)添加数据集
a.选中并右击“数据集”
b.填写“数据集名称”,选择 “使用在我的报表中嵌入的数据集”,选择刚刚我们添加的数据源,查询类型选择“文本”,填写Fetch,最后点击“确定”。注:点击“确定”后如果弹出登录框,登录自己的开发账号即可。
Fetch如下:
<fetch aggregate="true">
<entity name="audit">
<attribute name="createdon" alias="LastLoginDate" aggregate="max" />
<filter>
<condition attribute="operation" operator="eq" value="4" />
</filter>
<link-entity name="systemuser" from="systemuserid" to="objectid" link-type="inner" alias="SystemUser">
<attribute name="fullname" alias="FullName" groupby="true" />
<attribute name="domainname" alias="DomainName" groupby="true" />
<attribute name="isdisabled" alias="IsDisabled" groupby="true" />
<attribute name="accessmode" alias="AccessMode" groupby="true" />
<attribute name="userlicensetype" alias="UserLicenseType" groupby="true" />
</link-entity>
</entity>
</fetch>
(6)设计报表
a.标题
选择工具箱中的“文本框”,拖到报表设计界面,然后填写标题
b.选择工具箱中的“表”,拖到报表设计界面,在输入列标题,样式可以根据自己需求进行调整
c.为表格绑定数据
用“用户名称”列举例:右击用户名下边的空格,选择“表达式”
选择“字段”,然后双击“FullName”,双击后表达式会自动更新。当然,表达式你自己手动输入也是没有问题的,最后点击“确定”
然后为后面的列绑定好数据
(7)预览报表
预览效果:
(8)发布报表
将开发完成的报表,发布到环境
进入Power Apps ,打开解决方案。点击【新建】,选择【报表】
报表类型选择 “现有文件” ,然后选择刚刚我们开发完成的报表:用户最后一次登录时间.rdl,填写 “报表名称” ,最后点击“保存”
补充说明
1. 查看CRM环境的“唯一名称(Unique name)
(1)新版UI
a.打开Power apps
b.点击右上角的设置按钮,选择【开发人员资源】
(2)经典UI
设置 –》 自定义项
选择【开发人员资源】
Thanks