SSRS评估填充表达式中的列

时间:2015-12-08 10:06:51

标签: sql-server reporting-services ssrs-2008 ssrs-2008-r2 ssrs-expression

我在SSRS中有一张表,按客户编号分组。 我需要在填充表达式中评估相同的列。

评估应该是 - 如果两个不同客户的ABTAX相同且AIMAXO也相同,则填充红色,否则将列留白。

我已经尝试了下面的表达式,但它只是将整个列填充为红色。

=iif(Fields!ABTAX.Value = Fields!ABTAX.Value and (Fields!AIMAXO.Value = Fields!AIMAXO.Value), "RED","WHITE")

数据:

CustomerNo     ABTAX                AIMAXO
--------------------------------------------
999991       00592235 COF           235000
999992       00592235 COF           235000

1 个答案:

答案 0 :(得分:0)

假设你可以改变底层SQL,我会创建一个标志来显示重复。像这样的查询会引发正确的标志*

SELECT 
    A.CustomerNo, 
    ABTAX, 
    AIMAXO, 
    CASE WHEN B.CustomerNo = A.CustomerNo THEN 1 ELSE 0 END AS Duplicate
FROM @Temp A
LEFT JOIN (
    SELECT CustomerNo FROM @Temp
    WHERE ABTAX = (
        SELECT ABTAX
        FROM @Temp
        GROUP BY ABTAX,AIMAXO
        HAVING COUNT(*) > 1)
    AND AIMAXO =(
        SELECT AIMAXO
        FROM @Temp
        GROUP BY ABTAX,AIMAXO
        HAVING COUNT(*) > 1)
ON A.CustomerNo = B.CustomerNo

使用此源数据集

CustomerNo  ABTAX         AIMAXO
999991      00592235 COF  235000
999992      00592235 COF  235000
999993      00592236 COF  235000
999994      00592235 COF  235001

将使用标志

返回以下数据集
CustomerNo  ABTAX         AIMAXO  Duplicate
999991      00592235 COF  235000  1
999992      00592235 COF  235000  1
999993      00592236 COF  235000  0
999994      00592235 COF  235001  0

然后,您可以使用此重复标记来适当地为单元格着色

*(我愿意承认可能有更有效的编码方式)

相关问题