我在 SQL Server 2008 R2 Report Builder 3.0 中有两个表,每个表都有相同的三列:任务,分配给和截止日期。
我的目标是使用表达式构建器向我显示每个表的特定日期范围。
在第一个表格中,我只想显示截止日期早于或等于上周五的记录/行。上周(周一至周五)显示的所有记录必须将Fields!Due_Date.value突出显示为黄色。如果Fields!Due_Date.value是星期五或更早的星期五,则记录将突出显示为红色。
第二个表包含与第一个表相同的列。在此表中,我只想显示截止日期值在当前周(周一至周五)内的记录。不需要有颜色。
我的进展
第一个表格中有两个过滤器:
和
我为截止日期TextBox定制了背景颜色,并使用以下表达式:
=IIF(Fields!Due_Date.Value <= DateAdd("d", -8(today()), "Red", "Yellow")
这些表达式和过滤器只会在当天是星期一时给出我想要的结果。
重申一下,我希望该表显示截止日期小于今天的记录,以及当该值为上周的任何一天时,截止日期单元格的背景颜色为黄色,并且如果截止日期为两个过去的星期五或更早,然后背景颜色为红色。
答案 0 :(得分:0)
您需要按星期几(使用DATEPART)调整今日,并将星期日(-2 ...星期日 - 2 =星期五)标准化:
=IIF(Fields!Due_Date.Value <= DateAdd("d", -2 - DATEPART("dw", TODAY), TODAY), "Red", "Yellow")
我不确定这会做你想要的 - 记录上周五比(或=)更早的日期是红色而不是旧的黄色。它可能需要一些调整,但应该让你朝着正确的方向前进。