gpt4 book ai didi

mysql - SSRS取另一个字段的平均IF值相等

转载 作者:行者123 更新时间:2023-11-29 20:27:32 24 4
gpt4 key购买 nike

我使用 SSRS 和数据库查询为我们的一个系统创建了一个性能跟踪器。因此,现在,它将对卡和处理时间进行求和,并且 SSRS 将使用每天的ProcessingDate 将其绘制成图表。我们的数据库根据 DataBatchID 在数据库中放置一个新行。然而,这种添加所有卡并添加每天处理时间的方法并没有正确考虑线程同时运行的情况。因此,使用 SSRS 有一种方法可以确定ProcessingDate 是否完全相同,只需将这些结果与NumCardsPassed 相加,并取ProcessingTime 的平均值,然后将这些结果添加到当天的其余结果中。抱歉,如果我没有解释清楚。下面是从查询返回的数据集示例,因此对于 10:24 传入的所有数据,添加 numCardsPassed 并平均处理时间,然后对 10:25 执行相同的操作。之后,然后将 8 月 26 日的所有这些值绘制在一起。现在,当它绘制图形时,它看起来好像所有内容都按顺序一次运行一个,而不是像有时那样运行在一起:

ProcessingDate  DataBatchId NumCardsPassed  ProcessingTime
8/26/2016 7:39 10112 99314 485
8/26/2016 8:51 10113 4971 29
8/26/2016 9:14 10114 4971 34
8/26/2016 10:20 10115 4957 38
8/26/2016 10:23 10116 4961 104
8/26/2016 10:24 10117 4979 144
8/26/2016 10:24 10119 4979 182
8/26/2016 10:24 10118 4982 161
8/26/2016 10:24 10120 4987 219
8/26/2016 10:24 10122 4982 243
8/26/2016 10:24 10121 4981 236
8/26/2016 10:24 10125 4949 262
8/26/2016 10:24 10123 4941 247
8/26/2016 10:24 10127 4973 278
8/26/2016 10:24 10124 4975 241
8/26/2016 10:24 10128 4981 279
8/26/2016 10:25 10129 4976 280
8/26/2016 10:25 10126 4972 258
8/26/2016 10:25 10130 4979 277
8/26/2016 10:25 10132 4976 288
8/26/2016 10:25 10131 4972 277
8/26/2016 10:25 10133 4841 288

最佳答案

您可以在查询中执行此操作:

SELECT ProcessingDate, SUM(NumCardsPassed) AS NumCardsPassed, AVG(ProcessingTime) AS ProcessingTime
FROM ProcessTable
GROUP BY ProcessingDate
ORDER BY ProcessingDate

请注意,如果日期实际上是精确到毫秒的日期,并且毫秒之间存在细微差异,那么您可能需要对日期字段进行一些舍入或转换,以使其正确分组到分钟。

您可以使用以下 SQL 将日期舍入为分钟:

MySql(来自 this answer)

SELECT SEC_TO_TIME((TIME_TO_SEC(ProcessingDate) DIV 60) * 60) AS TimeInMinutes

SQL Server

SELECT DateAdd(mi, DateDiff(mi, 0, ProcessingDate), 0) AS TimeInMinutes

关于mysql - SSRS取另一个字段的平均IF值相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39216193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com