我需要为SSRS报告编写一个公式。我不确定确切的语法,但我认为它应该是嵌套的iif,但有多个标准,检查图表和分区字段的值。在一天结束时,如果chart = 110300并且division = 100,那么“Intercompany AP - USA”或者如果chart = 110300并且division = 200则是“Intercompany AP - RUS”,那么只需显示chartname。这样的东西,但实际上写得正确。
iif Fields!chart.Value="110300" and Fields!division.Value="100" then
Fields!chartname.Value="Intercompany AP - USA" if Fields!chart.Value="110300"
and Fields!division.Value="200" then Fields!chartname.Value=
"Intercompany AP - RUS" else Fields!chartname.Value
我非常感谢您的帮助!
答案 0 :(得分:16)
你自己几乎解决了这个问题!要在T-SQL中编写此代码,请右键单击“图表名称”并将其值更改为以下表达式:
IIF(Fields!chart.Value="110300" AND Fields!division.Value="100","Intercompany AP - USA",IIF(Fields!chart.Value="110300" AND Fields!division.Value="200","Intercompany AP - RUS","Default Chart Name")
有关IIF功能如何工作的说明,请参阅here
从链接中您可以看到它采用以下格式,其中使用逗号而不是“Then”或“Else”:
IIF ( boolean_expression, true_value, false_value )
所以要分解表达式:
IIF(Fields!chart.Value="110300" AND Fields!division.Value="100",
"Intercompany AP - USA",
IIF(Fields!chart.Value="110300" AND Fields!division.Value="200",
"Intercompany AP - RUS",
"Default Chart Name"
)
)