reporting-services - 从水晶报告翻译的 ssrs 中的上一个/下一个表达式
问题描述
我得到了这个表达:
=Switch(Fields!Kod.Value=1, "text",
Fields!Kod.Value=2, "text",
Fields!Kod.Value=3, "text",
Fields!Kod.Value=4, "text",
Previous(Fields!Kod.Value) = 4 and (Fields!Kod.Value = 5 or
Fields!Kod.Value = 6 or fields!Kod.Value = 7 or
fields!Kod.Value=8), "more text",
Fields!Kod.Value=5, " text",
Fields!Kod.Value=6, " text",
Fields!Kod.Value=7, " text",
Fields!Kod.Value=8, " text",
Fields!Kod.Value=9, "text")
这一行
Previous(Fields!Kod.Value) = 4 and (Fields!Kod.Value = 5 or Fields!Kod.Value = 6 or fields!Kod.Value = 7 or fields!Kod.Value=8)
导致错误:
“范围参数必须设置为等于包含组名称、包含数据区域名称或数据集名称的字符串常量”
有问题的行是尝试翻译这个来自抑制的水晶报告公式:
if {SP;1.Kod} = 4 and
(next({SP;1.Kod})=5 or
next({SP;1.Kod})=6 or
next({SP;1.Kod})=7 or
next({SP;1.Kod})=8
)
then false
else true
但我在想我可以把这两个公式放在一起,得到“更多的文字”来显示如果上一个(kod = 4)和下一个(kod)= 5、6、7、8。
我怎样才能使这个表达式起作用?还是我这样做是错误的?
解决方案
您需要为上一个函数添加范围。例如,这可能只是您的数据集名称(也可以是组名等),如下所示。
PREVIOUS(Fields!Kod.Value, "dataset1")
注意:引号是必需的。
推荐阅读
- javascript - 输入 Object.prototype.function() 的原型,其中所有的 EventListener 都是安全的(Javascript)
- java - Selenium/Java - 是否可以验证 driver.switchTo().frame(element) 是否成功?
- python - \models\official\vision\image_classification\efficientnet\efficientnet_model.py 语法无效
- architecture - 微服务:没有计数器的并行计算
- javascript - 在 textarea 中添加新行在我的 CI 项目中不起作用
- linux - 在 Docker 容器中运行 sshd
- computer-vision - 如何将 yolo 暗网格式转换为 .csv 文件
- javascript - 计时器未在 React 组件内运行
- sublimetext3 - 如何在 Linux 上的 sublime 中为命令添加助记符
- nest-api - 在设备访问控制台上访问和编辑 Pub/Sub 主题