You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无年份、季度字段时如何为SSRS Fetchxml创建年季度参数

Dynamics365 FetchXML 实现SSRS年/季度筛选参数方案

不需要在源实体新增独立的年份、季度字段,通过SSRS参数配置+FetchXML原生日期运算符即可实现,操作步骤如下:

1. 新建两个筛选参数

打开SSRS报表设计器的参数面板,新增以下两个参数:

  • ReportYear:数据类型选整数,参数提示设置为「选择年份」,可根据需求决定是否开启多值选择
  • ReportQuarter:数据类型选整数,参数提示设置为「选择季度」

2. 配置参数可选值

年份参数配置

两种方案选其一即可:

  • 静态值:手动添加常用年份选项,适合年份范围固定的场景
  • 动态拉取:新建独立FetchXML数据集,自动读取系统中已存在案例的所有不重复年份,不需要手动维护,FetchXML代码如下:
<fetch distinct="true">
  <entity name="incident">
    <attribute name="case_received_date" groupby="true" dategrouping="year" alias="year_num"/>
  </entity>
</fetch>

将数据集返回的year_num字段绑定为ReportYear的可用值即可。

季度参数配置

直接手动添加固定静态选项即可,不需要查询数据源:

  • 参数值填1,选项标签填「第一季度(1-3月)」
  • 参数值填2,选项标签填「第二季度(4-6月)」
  • 参数值填3,选项标签填「第三季度(7-9月)」
  • 参数值填4,选项标签填「第四季度(10-12月)」

3. 主数据集关联筛选参数

打开你原有拉取报表数据的主FetchXML数据集,在筛选节点中新增两个日期匹配条件,直接通过case_received_date字段匹配传入的年、季度参数,不需要额外做日期拆分计算,示例代码:

<fetch>
  <entity name="incident">
    <!-- 保留你原有需要查询的字段、关联实体配置即可 -->
    <filter type="and">
      <!-- 匹配选中的年份 -->
      <condition attribute="case_received_date" operator="eq-year" value="@ReportYear"/>
      <!-- 匹配选中的季度 -->
      <condition attribute="case_received_date" operator="eq-quarter" value="@ReportQuarter"/>
    </filter>
  </entity>
</fetch>

注意:eq-year、eq-quarter是FetchXML原生支持的日期运算符,会自动适配Dynamics365的用户时区设置,不会出现日期偏移、季度计算错误的问题。

可选优化配置

  • 如果需要报表打开默认展示当前年、当前季度数据,给两个参数设置默认值即可:ReportYear默认值填表达式=Year(Today()),ReportQuarter默认值填表达式=DatePart(DateInterval.Quarter, Today())
  • 如果需要支持多年、多季度批量选择,开启参数的「允许多个值」选项,同时将FetchXML里的运算符从eq-year/eq-quarter替换为in,SSRS会自动适配多值参数传参格式
  • 如果筛选无结果,优先检查case_received_date字段的逻辑名称是否正确,Dynamics365实体字段需使用全小写加下划线的架构名,不能直接用显示名。

内容的提问来源于stack exchange,提问作者user19505324

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 20:42:21