背景信息:我们有一个事件时间跟踪器,可以跟踪每个用户在解决问题之前与一位代表在一起花费了多长时间。我们要确定每小时处理的事件的平均数量。用另一种方式说这一点:我们希望获得一周中每一天的每小时基线,它将显示特定时间段内的平均总呼叫长度。例句:我们想把周一上午9点到上午10点的每通电话的总长度平均在数据库中的所有星期,其他时间间隔也是一样的。
考虑这一点的最简单的方法是,我想要AVG(和)在特定的时间段,但Tableau不允许我这样做。
Tableau输出:--这是我从Tableau寻找的所需的目标可视化。
SQL查询:我编写了一个返回答案的查询:
我们正在查看两列: start_time (时间戳)和interval_seconds(浮点)
在内部查询中,我使用了hour_start函数,它将日期/时间值截断到小时开始,这样就可以在外部查询中按周中的小时和日进行分组。
SQL结果:
问题:是否有一种解决这个问题的方法--在Tableau完全解决--它可以让我得到我想要的结果,而无需编写任何SQL代码?
存储在上的文件
CSV文件:https://drive.google.com/open?id=0B4nMLxIVTDc7NEtqWlpHdVozRXc
表格工作表:https://drive.google.com/open?id=0B4nMLxIVTDc7M3A4Q0JxbGdlTE0
发布于 2015-10-07 19:22:22
您可以使用详细表达式的级别在小时级别计算和(Interval_seconds),然后使用AVG计算正在寻找的数字。
我做了几个计算:
hour
,定义为:DATETRUNC('hour',[start_time])
这应该等同于您的hour_start(start_time)。
以及定义为interval_hours
的{FIXED [hour] : SUM([interval_seconds])/3600 }
这将计算截断为小时的每个start_time的聚合。
在此之后,只需计算AVG(interval_hours)
并在视图中使用它。
我在dropbox:https://www.dropbox.com/s/3hfvz8w529g9f46/Interval%20Time%20Baseline.twbx?dl=0中放了一个工作簿
虽然图表看起来与您的相似,但我得出的数字与您显示的"SQL结果“有些不同。你提供的数据是否略有不同?
https://stackoverflow.com/questions/32998129
复制