比较并划分报表生成器

时间:2017-09-13 10:24:07

标签: sql-server reporting-services

我有一个条件我想在报表生成器中将两个值分成相同的日期,但同一个表中的样本名称不同...
例如,在此图像中,我想要分割CM2(2.85)和原始膳食(0.58)值。他们的结果应该是4.9。 image 如果这两个参数(CM2和Raw Meal)不在同一天,则该值应为空或无。请帮助我是新手报告构建器表达式。

我已经尝试过这个表达,但它没有给我我需要的东西

IIf(InStr(Fields!Sample_Code.Value,"CM2") > 0, Fields!So3.Value, nothing) / IIf(InStr(Fields!Sample_Code.Value,"Raw Meal") > 0, Fields!So3.Value, nothing)

1 个答案:

答案 0 :(得分:0)

记录将是CM2或Raw Meal,但它永远不会同时包含两者。如果Fields!Sample_Code.Value = "CM2"为真,则表达式的后半部分将为false,反之亦然。 Fields!Sample_Code.Value不能同时是两个不同的值,它只能包含单个记录中的数据。

您的表达式将导致:

nothing/Fields!So3.Value

Fields!So3.Value/nothing.  

作为简化示例:

IF( x=1 , 1 , null) / IF( x=2 , 1 , null)

X不能同时是两个不同的值,因此表达式永远不会返回非null结果。

您需要将CM2和RAW MEAL记录一起加入以同时评估它们。这可能需要对您目前发布的内容进行重大更改。