Time 数据透视表赢得';t和SQL时间类型

Time 数据透视表赢得';t和SQL时间类型,time,sql-server-2008-r2,pivot-table,excel-2013,Time,Sql Server 2008 R2,Pivot Table,Excel 2013,我还没能在互联网上找到答案。这就是我的问题: 我有一个SQL视图,它有一个时间类型字段,其中包括员工保持登录系统的时间 当我在Excel中创建数据透视表以获取代理登录所花费的总时间时,Excel不会对时间字段求和,它可以对其进行计数,但不能求和或平均。总和和平均值都为0,但计数显示为24(24小时间隔) 我尝试了多次转换/强制转换,以将时间数据转换为Excel能够理解的格式(似乎认为它是varchar/string类型),但没有效果 有什么建议吗?将csv文件导入MS Access,并在导入过程

我还没能在互联网上找到答案。这就是我的问题:

我有一个SQL视图,它有一个时间类型字段,其中包括员工保持登录系统的时间

当我在Excel中创建数据透视表以获取代理登录所花费的总时间时,Excel不会对时间字段求和,它可以对其进行计数,但不能求和或平均。总和和平均值都为0,但计数显示为24(24小时间隔)

我尝试了多次转换/强制转换,以将时间数据转换为Excel能够理解的格式(似乎认为它是varchar/string类型),但没有效果


有什么建议吗?

将csv文件导入MS Access,并在导入过程中选择适当的类型(我认为长整型应该可以),保存数据库。打开excel并导入access数据库。当excel给我提供了恼人的格式问题时,访问通常是我的选择。

您是否尝试过通过查询在SQL中透视数据?

因此,为了可能遇到与我相同问题的人,我最终会这样做:

首先,在SQL查询中,我使用以下命令将时间数据转换为整数(以秒为单位):

(DATEPART(hh, Login_Time) * 60 * 60) + (DATEPART(MINUTE, Login_Time) * 60) + DATEPART(s, Login_Time) as Login_Time_Secs
然后在Excel中的数据透视表中,我创建了一个计算字段,通过将秒数转换为Excel时间来执行相反的计算:

Login_Time = Login_Time_Secs/(60*60*24)
将登录时间字段格式化为小时格式[h]:mm

完成了!现在,Excel中的透视表可以对每位员工的登录时间求和/平均

这不需要我更改SQL数据源(这将是一个很大的麻烦),它只将视图查询更改为Pivot表连接到的位置


我希望这对某人有所帮助。

谢谢你的回答,但这对我来说不是一个可行的解决方案。我的所有报告都基于SQL Server 2008-R2,并每天更新。此外,Access不是我拥有的工具。您是否尝试在excel中将字段设置设置为自定义类别,类型为:
[h]:mm
?我需要以excel格式将报告发送给第三方,并使他们能够在需要时深入了解详细信息。通过SQL“旋转”它没有任何意义(我猜您谈论的是SUM/GROUPBY函数)。