我有一个(共享)数据集,当通过
选择时=First(Fields!TableColumn.Value, "DatasetName")
将返回类似于
的内容=IIF(ROWNUMBER(NOTHING) MOD 2, "WHITE", "WHITESMOKE")
我正在尝试使用它,以便我可以拥有多个具有动态、基于表达式的格式(主要是行背景颜色)的报告,我可以通过修改数据集中的单个记录来更新这些报告。问题是报表生成器似乎不想执行此代码,而是将其解释为转义字符串。有什么方法可以指定应将其作为表达式执行吗?
我已经尝试过:
=IIF(ROWNUMBER(NOTHING) MOD 2, "WHITE", "WHITESMOKE")
IIF(ROWNUMBER(NOTHING) MOD 2, "WHITE", "WHITESMOKE")
"=IIF(ROWNUMBER(NOTHING) MOD 2, "WHITE", "WHITESMOKE")"
"IIF(ROWNUMBER(NOTHING) MOD 2, "WHITE", "WHITESMOKE")"
最佳答案
我不相信 SSRS 会将您的字段值解释为表达式,而是始终将其视为字符串。
但是,为了实现您想要做的事情,可以将其分解成更小的部分。
名为“colors”的共享数据集:
SELECT 'WHITE' as color1, 'WHITESMOKE' as color
背景颜色表达式:
=IIF(
ROWNUMBER(NOTHING) MOD 2,
First(Fields!Color1.Value, "Colors"),
First(Fields!Color2.Value, "Colors"))
关于reporting-services - 将返回的数据作为表达式执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45196401/