ssrs按大小写顺序为null-查询有效,ssrs错误

时间:2018-10-29 04:16:36

标签: ssrs-2008-r2

查询可以正常工作并进行排序。但是当ssrs数据集的一部分时查询错误。 如图所示,错误按大小写表达式按顺序缩小。接受语法。 运行期间的第一条错误消息:“报表处理期间发生错误。(rsProcessingAborted)” 错误弹出窗口的“详细信息>>”按钮在下面显示了try n错误。

select  <columns>
from    <view>
where   <criteria>
order by 

> error condition - try 1
        -- errors "The isnull function requires 2 argument(s)."
        case when isnull(<parm>, '') <> '' 
             then <column to be sorted>
        end, 

> error condition - try 2
        -- errors "An expression of non-boolean type specified in a context where a condition is expected, near ..."
        case when (<parm> is not null  or 
                   <parm> <> '')
             then <column to be sorted>
        end, 

> error condition - try 3
        -- errors "An expression of non-boolean type specified in a context where a condition is expected, near ..."
        case when <parm> is not null 
             then <column to be sorted>
             when <parm> <> ''
             then <column to be sorted>
        end, 

        <more columns to sort>

1 个答案:

答案 0 :(得分:0)

选项1:按原样运行整个查询,然后将数据插入到临时表中。然后,您就可以根据所需的排序依据执行其他操作了;首先在if语句中检查特定列的空值,然后以所需顺序运行select。选项2:以强制方式处理这些空值,即在插入具有isNull约束e.g. Col_1 = isnull(Col_1,'N/A')的临时表之前检查它们,这样您将有一种确定的方式来按'N / A'过滤数据。然后基于if-else进行检查。选项2可以方便地进行质量检查