如何在单个表达式中实现多个报表项?

How to achieve multiple reportitems in single expression?

我想在 rdlc 报告的 header 部分的单个表达式中使用两个报告项。

我试过了,

= IIF(ISNothing(ReportItems!R.value),ReportItems!R1.value,ReportItems!R.value)

= SWITCH(ISNothing(ReportItems!R.value),ReportItems!R1.value, 
       ISNothing(ReportItems!R1.value),ReportItems!R.value)

我也试过写自定义代码函数。

但是我明白了,

The Value expression for the textrun refers to more than one report item. An expression in a page header or footer can refer to only one report item.

你的错误是告诉你关于这个问题你需要知道的一切。您正试图引用两个报告项目,这在 header 或页脚中是不可能的。

您是否考虑过将您的计算值放在报告 body 中,然后从 header 中引用它?

考虑到以下示例,我已将 RCalc 的值设置为您的表达式

= IIF(ISNothing(ReportItems!R.value),ReportItems!R1.value,ReportItems!R.value)

我也将RCalc的可见性设置为隐藏

然后 header 中的文本框只引用 RCalc

=ReportItems!RCalc.value

设计因此看起来像这样

当运行给出这个输出

这是您想要的行为吗?这是否适用于您的情况。如果我可以进一步协助,请告诉我。

更新

当值来自不同的 Tablix 时,理论是相同的。

假设文本框R和R1在总行中,它们可以被RCalc以同样的方式引用。注意它们不能在数据的主行集中

像这样的布局在行 grouping/filtering 之外的报告底部设置了文本框(红色文本)。它们是 R 和 R1。请注意,在输出中我已将它们的可见性设置为隐藏。

这导致输出

RCalc 可以是文本框页面上的任何位置 – 它不必在数据集中。