Sql SSRS如何在表达式中使用多个条件-基于行值和字段名

Sql SSRS如何在表达式中使用多个条件-基于行值和字段名,sql,reporting-services,ssrs-2008,ssrs-2012,ssrs-expression,Sql,Reporting Services,Ssrs 2008,Ssrs 2012,Ssrs Expression,请看下图,我的数据集有两个过程,“处理日志”和“堆放在窑上” 我需要将“堆放在窑上”的总量除以每个长度的“处理的原木”总量 例如,对于字段名5.4(数据集字段长度),我想除以2784/2283以返回恢复的百分比 我现在的表情是 =Sum(IIf( (Fields!process.Value = "Logs Processed") AND (Fields!Length.Value=Fields!Length.Value) , Fields!cubes.Value , Nothing

请看下图,我的数据集有两个过程,“处理日志”和“堆放在窑上”

我需要将“堆放在窑上”的总量除以每个长度的“处理的原木”总量

例如,对于字段名5.4(数据集字段长度),我想除以2784/2283以返回恢复的百分比

我现在的表情是

=Sum(IIf(
(Fields!process.Value = "Logs Processed") AND (Fields!Length.Value=Fields!Length.Value)
    , Fields!cubes.Value
    , Nothing)
  , "Wetmill_to_Kiln")
但这将返回“处理日志”的所有长度的值,而不仅仅是示例中的长度5.4

因此,每个长度字段都是动态创建的(3.3,3.6,3.9…6,6.3,6.6) 我想得到每个长度字段的“堆放在窑上”/“处理的原木”总数

一如既往地感谢您的帮助

底部图像中所需输出的示例

电流输出:

期望输出:


*****根据TPHE更新*********

我在列组中创建了一个文本框。这将返回该组的值,但如何引用该文本框的值

如果我使用类似于
ReportItems的东西!tbxSource.Value
在列组中动态创建文本框时,如何引用文本框的值?然后有多个文本框名称的实例

参考图片,如何从带有绿色的文本框中获取白色的值

谢谢,

由于您使用的是列组,因此可以将表达式放入组中的文本框中,它将仅对每个列中捕获的数据执行。因此,如果日志处理行的代码类似于
Sum(Logs)
,而堆积在窑上的行的代码类似于
Sum(Stacked)
,则恢复行的表达式代码将是
Sum(Stacked)/Sum(Logs)
。关键是要确保它在column组中。

所以我要做的是在column组中创建两个变量。一个叫kilntotal,一个叫logtotal。变量值等于此表达式的结果:

=sum(iif(Fields!process.Value="logs",cdbl(Fields!cubes.Value),cdbl(`0)))`

然后,我在恢复%行的逻辑中使用以下变量:

=Variables!kilntotal.Value/Variables!logtotal.Value

感谢您的投入和时间。

您是使用列组来动态创建列,还是使用硬编码的长度?您好,我使用的是列组谢谢,您能在这里给我更多校准吗?我已经用我的设计视图的截图更新了我的问题。当前,列组中的文本框返回正确的值,但是当动态生成文本框时,如何获取日志的文本框和堆叠的文本框的值,因此我不知道要使用
ReportItems调用的文本框的名称!tbxSource.Value
很高兴您能使用它。作为将来的参考,我不认为这些变量是必要的——你可以写出你放入变量中的表达式,然后将它们彼此分开。但是,当你需要在不同的地方反复使用这些表达式时,变量作为速记工具是很有用的。只是使表达式中的语法分配更容易。感谢您的输入,谢谢。关键还在于iif语句上的cdbl()——检查数值。
=Variables!kilntotal.Value/Variables!logtotal.Value