将 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 和群组。

  1. 添加一个新参数。
  2. 将其设置为内部。
  3. 设置要从 ReportParameterDTO 数据集提取的可用值,值字段将为 GroupByCategory
  4. 同时设置默认值以从 ReportParameterDTO 查询中提取。
  5. 现在您可以在分组表达式中引用此内部参数,如下所示:

    =IIf(Parameters!GroupByCategory.Value = True, Fields!Category.Value, Nothing)