Reporting services 缺少列的SSRS表达式不工作

Reporting services 缺少列的SSRS表达式不工作,reporting-services,expression,Reporting Services,Expression,我正在尝试创建一个缺少列的表达式。如中所示,列不是从查询返回的,而是存在于字段列表中 我遇到的问题是,每当我执行一个表达式时,其中一个参数来自一个没有查询返回的字段,查询就会自动失败。下面的示例正在查看一个字段“test”,如我所说,该字段存在于字段列表中,但未从查询中返回,如何让此is语句发送“警报” 我不返回该字段的原因是,这些列取决于我在过程中输入的参数(因此它们可以使用,也可以不使用,这取决于用户的要求) 感谢您阅读您的问题,我认为您有动态列,这些列将有条件返回 所以你应该做的是 1)

我正在尝试创建一个缺少列的表达式。如中所示,列不是从查询返回的,而是存在于字段列表中

我遇到的问题是,每当我执行一个表达式时,其中一个参数来自一个没有查询返回的字段,查询就会自动失败。下面的示例正在查看一个字段“test”,如我所说,该字段存在于字段列表中,但未从查询中返回,如何让此is语句发送“警报”

我不返回该字段的原因是,这些列取决于我在过程中输入的参数(因此它们可以使用,也可以不使用,这取决于用户的要求)


感谢您阅读您的问题,我认为您有动态列,这些列将有条件返回
所以你应该做的是

1) 在参数列表中创建参数,并将其设置为内部参数,并将字段值指定给该参数,假设该参数为
dyanmicfiledvalue

2) 把你的表情改成,
=IIF(IsNothing(Parameters!dyanmicfiledvalue.value),“alert”,Parameters!dyanmicfiledvalue.value)

应该这样做。如果有问题,请告诉我

或者,如果要检查该列的null或空值,只需更改为


=IIF(IsNothing(Fields!test.value),“alert”,Fields!test.value)

这是我尝试的第一件事,我将再次尝试确认,我得到了非常奇怪的行为,但似乎要做的是创建一个计算字段,并简单地在该计算字段中分配缺少的参数,因此,我将使用字段测试直接从查询接收值,然后使用test\t读取test的值。这将不返回任何内容:=IIF(字段!测试值>0,“tst”,“abc”),而这将=IIF(字段!测试值>0,“tst”,“abc”)您的示例将不返回任何内容。@您可以在查询中将
NULL
分配给该字段,并直接使用答案中的第二个表达式进行测试。如果该字段为NULL,则该字段将正常工作,没有问题。但是,我使用的是存储过程,无法更改存储过程本身。我不想为每个存储过程创建一个临时表,因为这会增加我的工作量。
=IIF(Fields!test.IsMissing,"alert",Fields!test.Value)