问题
我无法获取SQL报表生成器图形的y轴来表示数字为' dd HH:mm:ss'。
背景
我正在做一些SQL报告,而我正在处理的报告是根据文档在每个部门花费的时间来生成数据的堆积区域图。
例如,文件1在部门A 30s,部门B 25s和部门C 90s,总计:145s。 文件2在部门A 20s,部门B 30s和部门C 80s,总计130s。因此,如果有数百或数千个文档,用户将能够判断文档在每个部门的花费时间。
我能够成功查询此数据,并且正如预期的那样,由于已记录的文档数量,总秒数将达到数百万。这也是因为我使用的数据是虚拟数据,所以我想确保我对这个数字进行的任何格式化(当涉及图形时)都能够管理数字。数百人。
我尝试过什么
由于花费了大量时间,我可能错过了一些尝试过的解决方案。但是,任何建议都将受到赞赏。
由于
答案 0 :(得分:0)
以下代码将在24小时内工作几秒钟(SSRS):
Format(DateAdd(interval, units, datetime), format)
e.g。
Format(DateAdd("s", 86399, "00:00:00"), "HH:mm:ss")
提供23:59:59
为了解决处理超过24小时的问题,我回到SQL Management Studio并更改了我的查询以生成日期时间而不是整数。这使Reporting Services能够根据需要对其进行格式化。 SQL查询变为:
DATEADD(SECOND, SUM(WorkTime + IdleTime), '00:00:00') as Total
通过在SQL中使用DATEADD
函数,可以立即在Reporting Services中使用日期时间。然后我更改了图表的垂直轴设置:
dd:HH:mm:ss
由于输入数据类型现在自然是datetime,因此Reporting Services将自行处理它。虽然间隔类型可能默认为一天,因此不显示准确的数据,但是向下钻取报告可以管理特定数字。此外,将处理“ ...大约数百...... ”的较小时间,示例时间为:00:04:59:59
。