SQL数据透视表格的date格式

我正在拉数据以在Excel中的数据透视表中使用,但是Excel不能识别date格式。

我在用着..

CONVERT(date, [DateTimeSelected]) AS [Search Date] 

在我的查询输出中显示为2013-08-01

当它通过我的SQL连接进入我的Excel数据透视表时,它看起来相同,但是filter不能识别为date。

在这里,您可以看到Excel如何将其视为左侧的文本,并将右侧的文本看作Excel中的date。

在这里输入图像描述

有什么想法吗?

谢谢 ;-)

尝试所有这些,但只有原B.Depart(date时间)作为一个date,没有任何转换的列被Excel作为date读取…

我得到的格式负载,但Excel不能像转换date?

  B.Depart AS 'Holiday Date time', CONVERT(VARCHAR(10), B.Depart,103) AS 'Holiday Date', DATENAME(weekday, B.Depart) AS 'Holiday Day Name', CONVERT(CHAR(2), B.Depart, 113) AS 'Holiday Day', CONVERT(CHAR(4), B.Depart, 100) AS 'Holiday Month', CONVERT(CHAR(4), B.Depart, 120) AS 'Holiday Year', CONVERT(VARCHAR(10),B.Depart,10) AS 'New date', CONVERT(VARCHAR(19),B.Depart), CONVERT(VARCHAR(10),B.Depart,10), CONVERT(VARCHAR(10),B.Depart,110), CONVERT(VARCHAR(11),B.Depart,6), CONVERT(VARCHAR(11),B.Depart,106), CONVERT(VARCHAR(24),B.Depart,113) 

出现了cast(convert(char(11), Bo.Depart, 113) as datetime)工作。

我发现唯一的答案是将SQL数据设置为Table的源代码,而不是数据透视表,然后从该表中构build数据透视表。

这是我能够将数字格式应用到数据透视表行标签,这使我能够在图表上格式化我想要的date。

我使用Excel 2010遇到了同样的问题。我的解决scheme是将连接types指定为“SQL Server Native Client 10.0”而不是“SQL Server”(可以在数据连接指南中的高级/其他选项中find)。 使用这一切工作正常连接到包含标准date格式列的sql服务器表。

重要的是要注意,如果date首先被识别为文本, 然后将查询更改为其中一个build议,则必须告诉Excel不要将旧的文本格式的值保留在数据透视表caching中(数据透视表由即使它们不在当前返回的数据中,在后台的caching中的每个字段中都保留“旧”值。 否则,由于第一个值仍然在caching中(即使它们不再处于实时数据中),整个字段被识别为文本。

例如,我有一个现有的表,我有这个问题。 我改变了我的查询使用迈克的职位

cast(转换(char(11),Bo.Depart,113)作为date时间)

,但实际上并没有导致Excel将它识别为date,直到重置保留在数据透视表caching中的项目。

要更改“数据透视表”在caching中保留项目的方式,请执行以下操作:1.右键单击表格2.select“数据透视表选项”3.在“数据”选项卡上,更改“每个字段要保留的项目数量”下拉菜单'到'没有'。

当切片器button显示不再在数据集中的值时,这也很有用。