将 IIF 与多个数据源一起使用的动态分组
Dynamic groupings using IIF with multiple datasources
我正在使用报表查看器并尝试在我的 table 上创建动态分组。在生成报告之前,我有一个弹出窗口询问生成的报告是否应该按 category
分组。
我有两个数据集,一个叫ReportParameterDTO
,第二个叫LoanDTO
Tablix 已连接到数据集 LoanDTO
。我想为该 tablix 创建一个父分组表达式,这样如果 ReportParameterDTO.GroupByCategory
的第一个值为真,那么它应该分组,否则什么也不做。
我试过的
=IIF(First(Fields!GroupByCategory.Value, "ReportParameterDTO") = true, Fields!Category.Value, ""))
它让我返回 Fields!GroupByCategory.Value
附近的错误,错误列表中的错误指出 tablix 的组表达式包含聚合函数。
如果我使用 LoanDTO
中的字段值,IIF 表达式将编译,但我不想这样做。
您可以创建 table 并让您的参数显示或隐藏 table 可见性。所以像这样我认为您可以更轻松地设置 table 和群组。
- 添加一个新参数。
- 将其设置为内部。
- 设置要从
ReportParameterDTO
数据集提取的可用值,值字段将为 GroupByCategory
。
- 同时设置默认值以从
ReportParameterDTO
查询中提取。
现在您可以在分组表达式中引用此内部参数,如下所示:
=IIf(Parameters!GroupByCategory.Value = True, Fields!Category.Value, Nothing)
我正在使用报表查看器并尝试在我的 table 上创建动态分组。在生成报告之前,我有一个弹出窗口询问生成的报告是否应该按 category
分组。
我有两个数据集,一个叫ReportParameterDTO
,第二个叫LoanDTO
Tablix 已连接到数据集 LoanDTO
。我想为该 tablix 创建一个父分组表达式,这样如果 ReportParameterDTO.GroupByCategory
的第一个值为真,那么它应该分组,否则什么也不做。
我试过的
=IIF(First(Fields!GroupByCategory.Value, "ReportParameterDTO") = true, Fields!Category.Value, ""))
它让我返回 Fields!GroupByCategory.Value
附近的错误,错误列表中的错误指出 tablix 的组表达式包含聚合函数。
如果我使用 LoanDTO
中的字段值,IIF 表达式将编译,但我不想这样做。
您可以创建 table 并让您的参数显示或隐藏 table 可见性。所以像这样我认为您可以更轻松地设置 table 和群组。
- 添加一个新参数。
- 将其设置为内部。
- 设置要从
ReportParameterDTO
数据集提取的可用值,值字段将为GroupByCategory
。 - 同时设置默认值以从
ReportParameterDTO
查询中提取。 现在您可以在分组表达式中引用此内部参数,如下所示:
=IIf(Parameters!GroupByCategory.Value = True, Fields!Category.Value, Nothing)