SSRS 表达式求和值 IIF YearMonth = Parameter
SSRS Expression to Sum value IIF YearMonth = Parameter
我希望有人能够assist\help。
我有一个 Tablix,我试图根据一个参数从一个字段中填充三个单独的(求和的)值(当前月份、当前年份和上一年)。我的参数设置为yyyymm
。对于每个求和值,我的表达式逻辑如下:
对当前月份值求和
=SUM(Fields!Quantity.Value),IIF(Parameters!YearMonth.Value) = CDATE(Now()), "yyyyMM")
对当年的值求和
=SUM(Fields!Quantity.Value),IIF(Parameters!YearMonth.Value) = CDATE(Now()), "yyyy")
对上一年的值求和
=SUM(Fields!Quantity.Value),IIF(Parameters!YearMonth.Value) = CDATE(Now()), "yyyy")-1
尝试上述表达式时出现以下错误:
textrun Quantity5.Paragraphs[0].TextRuns[0]
的值表达式包含错误:[BC30205] End of statement expected
正如 Harry 所指出的,IIF 语句语法是
IIF([Expression to evalute], [Expression to return if true], [Expression to return if false])
此外,我认为您需要格式化从 now()
返回的日期,使其与您的参数格式相匹配。
所以,你的第一个表达式应该是这样的
=SUM(
IIF(Parameters!YearMonth.Value = FORMAT(Now(), "yyyyMM"), Fields!Quantity.Value, Nothing)
)
所以从内部表达式开始,我们将参数与格式为 yyyyMM
的今天日期进行比较。如果匹配 return Quantity
字段的值,如果不匹配 return 则什么都没有。
然后外部 SUM 只是对所有这些结果求和。
我希望有人能够assist\help。
我有一个 Tablix,我试图根据一个参数从一个字段中填充三个单独的(求和的)值(当前月份、当前年份和上一年)。我的参数设置为yyyymm
。对于每个求和值,我的表达式逻辑如下:
对当前月份值求和
=SUM(Fields!Quantity.Value),IIF(Parameters!YearMonth.Value) = CDATE(Now()), "yyyyMM")
对当年的值求和
=SUM(Fields!Quantity.Value),IIF(Parameters!YearMonth.Value) = CDATE(Now()), "yyyy")
对上一年的值求和
=SUM(Fields!Quantity.Value),IIF(Parameters!YearMonth.Value) = CDATE(Now()), "yyyy")-1
尝试上述表达式时出现以下错误:
textrun Quantity5.Paragraphs[0].TextRuns[0]
的值表达式包含错误:[BC30205] End of statement expected
正如 Harry 所指出的,IIF 语句语法是
IIF([Expression to evalute], [Expression to return if true], [Expression to return if false])
此外,我认为您需要格式化从 now()
返回的日期,使其与您的参数格式相匹配。
所以,你的第一个表达式应该是这样的
=SUM(
IIF(Parameters!YearMonth.Value = FORMAT(Now(), "yyyyMM"), Fields!Quantity.Value, Nothing)
)
所以从内部表达式开始,我们将参数与格式为 yyyyMM
的今天日期进行比较。如果匹配 return Quantity
字段的值,如果不匹配 return 则什么都没有。
然后外部 SUM 只是对所有这些结果求和。