Skip to content
Donghai's Blog
Go back

Dynamics 365使用FetchXML创建自定义报表

本文是 Dynamics 365 SSRS 报表开发的完整指南,不仅涵盖从 Visual Studio 环境搭建到使用 FetchXML 创建自定义报表的全过程,还包含“获取用户最后一次登录时间”的实例、连接字符串配置及报表发布步骤

Table of contents

Open Table of contents

1. 环境搭建

请按下面的顺序执行以下步骤,否则会出现意想不到的问题

  1. Visual studio 2019 → 开发环境
  2. SQL Server Data Tools → 报表设计基础工具
  3. Microsoft Reporting Services Projects 下载
  4. 重启电脑 → 确保组件正确加载
  5. 安装 Dynamics 365 Report Authoring Extension 下载

TIP

完成第3步安装后必须重启计算机!重启后再继续安装 Dynamics 365 Report Authoring Extension 扩展

2. 实例:获取用户最后一次登录时间

Step 1. 创建报表项目

  1. 打开 Visual Studio 2019,选择 “创建新项目”
  2. 在搜索框中输入 “报表”,选择 “报表服务器项目”
  3. 点击 “下一步”,输入一个有意义的项目名称,然后创建项目

Visual studio 2019 创建报表项目

项目创建成功后,文件结构如下:

Visual studio 2019 报表项目文件结构

Step 2. 添加报表文件

  1. 右击报表项目下的 “报表” 文件夹(上面截图中D365CrmSampleCode.Reports项目下的报表文件夹)
  2. 选择 “添加” → “新建项”
  3. 选择 “报表” 模板,输入一个有意义的报表名称(中文、英文都可以)

Visual studio 2019 添加报表

Step 3. 配置数据源

  1. 右击左侧报表数据面板中的 “数据源” 文件夹 → 选择 “添加新数据源”
  2. 设置数据源属性,请看下方表格
#数据源属性
1名称输入一个有意义的名称就行,一般我写的是 “DynamicsCRMDataSource
2类型选择 “Microsoft Dynamics 365 Fetch
3连接字符串根据实际情况填写,格式为 {环境URL}/{环境唯一名称}

TIP

(1) 如果不小心关掉了左侧的“报表数据”,可以通过快捷键重新打开,快捷键:Ctrl + Alt + D

(2) 连接字符串获取方法可以参考本文补充说明章节中的 “获取连接字符串”

点击添加数据源 填写数据源属性信息

Step 4. 准备 FetchXML 查询

本实例使用到的 FetchXML 如下

<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>

Step 5. 创建数据集

  1. 右击右击左侧报表数据面板中的 “数据集” 文件夹 → 选择 “添加数据集”

添加数据集

  1. 配置数据集属性:
    • 使用 “嵌入在报表中的数据集”
    • 选择之前创建的数据源(DynamicsCRMDataSource)
    • 查询类型选择 “文本”
    • 粘贴 Step 4 中的 FetchXML

TIP

首次连接时会弹出 Dynamics 365 登录框,请使用开发账号登录

填写数据集信息

Step 6. 设计报表界面

  1. 添加标题:从工具箱拖拽 “文本框” 控件,输入报表标题

添加文本框组件

  1. 添加表格:拖拽 “表(Table)” 控件到设计区域,设计列标题和样式

添加表格组件

Step 7. 绑定数据字段

以 “用户名称” 列为例,后续是列操作都是差不多的,相信你能搞定的!

  1. 右击单元格 → 选择 “表达式”
  2. 在表达式编辑器中,双击 “字段” 下的 “FullName”
  3. 点击 “确定” 完成绑定。

数据绑定

重复上述步骤,为所有列绑定对应字段:

为各列添加表达式

Step 8. 预览报表

点击 “Preview” 选项卡查看报表效果:

预览报表

最终的效果如下:

效果

Step 9. 发布到 Dynamics 365

  1. 进入 Power Apps 门户,创建或打开解决方案
  2. 点击 “新建” → 选择 “报表”

在解决方案新添报表

  1. 上传 .rdl 文件,填写一个有意义的报表名称

填写报表信息

完成后将会看到我们新建的报表,打开报表就可以查看了

在环境中打开报表

补充说明

自定义报表的分类

Dynamics 365 中,自定义报表主要分为两类:

获取连接字符串

连接字符串格式:{环境URL}/{环境唯一名称}

例如你的环境 URLhttps://sample.crm.dynamics.cn,你的环境唯一名称是 123456789,那么完整的连接字符串应该是 https://sample.crm.dynamics.cn/123456789

方法一:UCI 界面(推荐)

  1. 登录 Power Apps

TIP

注意区分 Power Apps 版本:

国际版:https://make.powerapps.com

世纪互联版:https://make.powerapps.cn

  1. 点击右上角设置按钮(⚙️) → 选择 “开发人员资源”

UCI界面获取环境唯一名称

在这里就能看到环境唯一名称:

环境唯一名称

方法二:经典 UI 界面

  1. 设置 → 自定义项 → 开发人员资源

经典UI界面打开自定义项

选择自定义项

  1. 在页面中查找”实例唯一名称”

环境唯一名称


Share this post on:

Previous Post
为Dynamics 365选项(OptionSet)添加颜色标签
Next Post
使用API调式工具(Postman)访问Dynamics 365
BlogsClub Meo Forever Blog