Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 多重嵌套IIF语句返回SSRS错误_Reporting Services - Fatal编程技术网

Reporting services 多重嵌套IIF语句返回SSRS错误

Reporting services 多重嵌套IIF语句返回SSRS错误,reporting-services,Reporting Services,我正在使用SSRS2014&多个嵌套IIF语句出现错误。可能我的方法完全错了,但我认为可以在另一个条件中嵌套一个条件/DWT/DWF三元组来代替DWT或DWF。这不适合我 基本上,我正在尝试根据满足某些条件对报告行进行颜色编码。简言之,一些地区被挑选出来,这取决于他们没有完成项目的天数 我把这个表达式扭曲得像魔方一样。我肯定我只是错过了一些明显的东西,但在这一点上,我已经断断续续地玩了几个小时,改变了语法元素,事情的顺序等等,而我从SSRS得到的只是一个关于右括号缺失的无用抱怨 以下是最新的迭代

我正在使用SSRS2014&多个嵌套IIF语句出现错误。可能我的方法完全错了,但我认为可以在另一个条件中嵌套一个条件/DWT/DWF三元组来代替DWT或DWF。这不适合我

基本上,我正在尝试根据满足某些条件对报告行进行颜色编码。简言之,一些地区被挑选出来,这取决于他们没有完成项目的天数

我把这个表达式扭曲得像魔方一样。我肯定我只是错过了一些明显的东西,但在这一点上,我已经断断续续地玩了几个小时,改变了语法元素,事情的顺序等等,而我从SSRS得到的只是一个关于右括号缺失的无用抱怨

以下是最新的迭代:

=iif(Fields!District.Value="999","LightGreen",
 iif(Max(Fields!DaysUnworked.Value) >60,"LightCoral",
 iif(Max(Fields! DaysUnworked.Value) >=45,"Khaki",
 iif(Fields!District.Value="50"
     OR Fields! District.Value="35"
     OR Fields! District.Value= "25"
     OR Fields! District.Value="19"
     OR Fields! District.Value="7","LimeGreen",
 iif(Max(Fields!DaysUnworked.Value) >60,"LightCoral",
 iif(Max(Fields!DaysUnworked.Value) >=30,"Khaki",                                  
 iif(Max(Fields!DaysUnworked.Value<30,"LightGreen","Transparent"))))
=iif(字段!District.Value=“999”,“浅绿色”,
iif(最大值(字段!日工作值)>60,“LightCoral”,
iif(最大值(字段!DaysUnworked.Value)>=45,“卡其色”,
iif(字段!District.Value=“50”
或字段!District.Value=“35”
或字段!District.Value=“25”
或字段!District.Value=“19”
或字段!District.Value=“7”,“LimeGreen”,
iif(最大值(字段!日工作值)>60,“LightCoral”,
iif(最大值(字段!DaysUnworked.Value)>=30,“卡其色”,
iif(Max)(字段!DaysUnworked.Value60,它们将使用=30,>60

SSRS对我尝试的任何东西都不会吐,除了“)”或“,”或两者

我知道,我知道,着色有点傻…但我只是按照我的要求去做(或者尝试,无论如何)

非常感谢您提供的任何帮助。我猜这将变得非常简单&稍后我会感到非常愚蠢。(虽然这不是第一次)。提前感谢您,你们是最棒的。

使用“切换”功能可能会更简单一些:

=switch(Fields!District.Value="999","LightGreen",
        Max(Fields!DaysUnworked.Value) >60,"LightCoral",
        Max(Fields! DaysUnworked.Value) >=45,"Khaki",
        Fields!District.Value="50","LimeGreen",
        Fields! District.Value="35","LimeGreen",
        Fields! District.Value= "25","LimeGreen",
        Fields! District.Value="19","LimeGreen",
        Fields! District.Value="7","LimeGreen",
        Max(Fields!DaysUnworked.Value) >60,"LightCoral",
        Max(Fields!DaysUnworked.Value) >=30,"Khaki",                                  
        Max(Fields!DaysUnworked.Value) <30,"LightGreen")
=开关(字段!District.Value=“999”,“浅绿色”,
最大值(字段!DaysUnworked.Value)>60,“LightCoral”,
最大值(字段!DaysUnworked.Value)>=45,“卡其色”,
字段!District.Value=“50”,“LimeGreen”,
字段!District.Value=“35”,“LimeGreen”,
字段!District.Value=“25”,“LimeGreen”,
字段!District.Value=“19”,“LimeGreen”,
字段!District.Value=“7”,“LimeGreen”,
最大值(字段!DaysUnworked.Value)>60,“LightCoral”,
最大值(字段!DaysUnworked.Value)>=30,“卡其色”,

最大值(字段!工作日.值)我看到了一种更简单的方法来处理这个问题,因为大部分值都是灰绿色的,就是将所有与不同值不匹配的值都设置为灰绿色。此外,似乎确实存在一些语法错误。我看到的主要是一些字段声明中的空格。它应该是
Fields!District.Value
没有空格。下面是我如何简化这个表达式的

=IIF(Fields!District.Value="999" OR MAX(Fields!DaysUnworked.Value < 30),"LightGreen",
    IIF(Max(Fields!DaysUnworked.Value)>=30,"Khaki",
        IIF(Max(Fields!DaysUnworked.Value)>60, "LightCoral", "LimeGreen")))
=IIF(Fields!District.Value=“999”或MAX(Fields!DaysUnworked.Value<30),“浅绿色”,
IIF(最大值(字段!DaysUnworked.Value)>=30,“卡其色”,
IIF(最大值(字段!DaysUnworked.Value)>60,“LightCoral”、“LimeGreen”))

当我看这个的时候,我注意到你有两个比较,一个比较是针对
=30
,另一个比较是针对
=45
。你应该能够用一个表达式捕获所有这些。你还有两个不同的比较是针对
DaysUnworked>60
。这个表达式应该涵盖所有内容。

Ink代码块的最后一行被切断了。我正在使用ipad来实现这一点,也许这就是原因。以防万一,这里是最后一行:iif(Max(Fields!DaysUnworked.Value)你可以随时编辑你的问题来修复它。最后一行缺少了表示代码的四个空格前缀,被推到了右边,现在修复了。+1。开关在这方面比IIF好得多。考虑到所有没有特别提到的都应该是LimeGreen,一个轻微的改进是删除LimeGreen条件d最后一行为
True,“LimeGreen”
。这样,任何未包含在上述条件中的内容都将落入LimeGreen,任何新的区域将自动着色,而无需添加新的条件。