根据特定日期填充背景颜色的 SSRS 表达式
SSRS expression to fill back ground color based on perticuler date
我有这个查询,它将 return 来自 SQL 服务器
的日期
SELECT TOP 1
CASE
WHEN (SELECT TOP 1 CONVERT(DATE, [Duedate]) AS [Duedate]
FROM [dbo].[Table1]
WHERE CONVERT(DATE, [Duedate]) = CONVERT(DATE, GETDATE())) = CONVERT(DATE, GETDATE())
THEN CONVERT(DATE, GETDATE())
ELSE (SELECT TOP 1 CONVERT(DATE, [Duedate])
FROM [dbo].[Table1]
WHERE CONVERT(DATE, [Duedate]) > CONVERT(DATE, GETDATE())
ORDER BY CONVERT(DATE, [Duedate]) ASC)
END AS [ReturnRequiredDate]
FROM
[dbo].[Table1]
但是,当我尝试将其添加到 SSRS 报告中的数据集时,它是 returning 日期和时间格式。如何解决?
其次,我想根据这个 returned 日期(即前几天和包括 returned 日期)填充 table columns/rows 的背景颜色。
也就是说,根据大小写,如果日期是return任何一个月的16号,那么填充颜色应该是,从第16号开始到前几天。
此外,假设,如果日期 returned 是任何一个月的 27 号,那么颜色应该从 27 号开始填充到以前的记录(以前的日期记录)
如何使用 SSRS 表达式执行此操作?
使用查询,在所有日期中,我能够 return [ReturnRequiredDate] 之前的所有日期。有没有什么方法可以只为那些 returned 日期填充颜色?在同一个 SSRS table 中(我所有的记录都在那里)。我不想在 SSRS 中使用单独的 table 来填充颜色。
希望我把规则解释清楚了,如果没有请告诉我修改问题。谢谢
第一题
日期返回为 datetime
有什么问题?如果您需要对其进行计算,2019-05-17
在功能上等同于 2019-05-17 00:00:00.0000000
。如果您只需要将其显示为日期,请在报告中使用 formatting,在文本框属性或表达式中使用,例如:=format(Fields!ReturnRequiredDate.Value,"yyyy-MM-dd")
第二个问题
同样,您只需要将数据驱动的表达式应用于文本框背景颜色 属性,其中包含检查值是否小于参数日期的数据:
=iif(Fields!YourDate.Value <= first(Fields!ReturnRequiredDate.Value,"YourDataset"),"Red","Black")
我有这个查询,它将 return 来自 SQL 服务器
的日期SELECT TOP 1
CASE
WHEN (SELECT TOP 1 CONVERT(DATE, [Duedate]) AS [Duedate]
FROM [dbo].[Table1]
WHERE CONVERT(DATE, [Duedate]) = CONVERT(DATE, GETDATE())) = CONVERT(DATE, GETDATE())
THEN CONVERT(DATE, GETDATE())
ELSE (SELECT TOP 1 CONVERT(DATE, [Duedate])
FROM [dbo].[Table1]
WHERE CONVERT(DATE, [Duedate]) > CONVERT(DATE, GETDATE())
ORDER BY CONVERT(DATE, [Duedate]) ASC)
END AS [ReturnRequiredDate]
FROM
[dbo].[Table1]
但是,当我尝试将其添加到 SSRS 报告中的数据集时,它是 returning 日期和时间格式。如何解决?
其次,我想根据这个 returned 日期(即前几天和包括 returned 日期)填充 table columns/rows 的背景颜色。
也就是说,根据大小写,如果日期是return任何一个月的16号,那么填充颜色应该是,从第16号开始到前几天。
此外,假设,如果日期 returned 是任何一个月的 27 号,那么颜色应该从 27 号开始填充到以前的记录(以前的日期记录) 如何使用 SSRS 表达式执行此操作?
使用查询,在所有日期中,我能够 return [ReturnRequiredDate] 之前的所有日期。有没有什么方法可以只为那些 returned 日期填充颜色?在同一个 SSRS table 中(我所有的记录都在那里)。我不想在 SSRS 中使用单独的 table 来填充颜色。
希望我把规则解释清楚了,如果没有请告诉我修改问题。谢谢
第一题
日期返回为 datetime
有什么问题?如果您需要对其进行计算,2019-05-17
在功能上等同于 2019-05-17 00:00:00.0000000
。如果您只需要将其显示为日期,请在报告中使用 formatting,在文本框属性或表达式中使用,例如:=format(Fields!ReturnRequiredDate.Value,"yyyy-MM-dd")
第二个问题
同样,您只需要将数据驱动的表达式应用于文本框背景颜色 属性,其中包含检查值是否小于参数日期的数据:
=iif(Fields!YourDate.Value <= first(Fields!ReturnRequiredDate.Value,"YourDataset"),"Red","Black")