是否有可能以“在线”的方式以某种方式在rdlc
报表表达式中创建变量?
例如,我有以下表达式:
=IIf(First(Fields!BillingAccount_billtostateprovince.Value, "Invoice") <> "",
First(Fields!BillingAccount_billtostateprovince.Value, "Invoice") + " ",
"")
我想我正在评估以下表达式First(Fields!BillingAccount_billtostateprovince.Value, "Invoice")
两次。我不喜欢它,它看起来很难看......我宁愿在当前表达式的范围内创建变量并使用它。
有可能吗?
答案 0 :(得分:3)
正如用户3056839所说,欢迎使用SSRS!
无论如何,你想要的是不可能的,因为你现在所写的不是一个剧本,而是一个表达。它是一个返回值的单个语句,因此您不能声明变量,使用循环或任何属于脚本的内容。
你必须准确使用你所写的内容。
同样,看到像你这样的IIF表达并不罕见。我经常看到的是IFF(IS NOT NULL,'N / A')。该字段实际上可以被评估两次,但是你无能为力。这很难看,但这是你能做到的唯一方法。
想想CASE WHEN条款:
SELECT
CASE WHEN MyField IS NOT NULL THEN
MyField ELSE 0
END
您正在评估该字段两次,但您无能为力:)
答案 1 :(得分:0)