无法使用Excel中的数据透视表中的SQL中的date列对此select进行分组

我有一个在Excel中的数据透视表,我希望能够使用SaleDate列执行Grouping

但是,当我创build我的数据透视表时,右键单击字段中的一个元素,并selectGrouping...我得到的错误:

不能在此select上分组

我想到的是因为也有

1)栏中的空白,或

2)该列不是datetypesExcel中的date

我已经把整个专栏复制到记事本++,并执行一个Find what: (a blankspace)空白空间Find what: (a blankspace)但没有给予任何回报,即没有空格在列中。

这留下了选项2号,因为我不能过滤YearMonthSaleDate列,它似乎实际上被解释为一个text而不是一个Date

我正在使用一个SQL数据库作为源,我试图调整到招架(我的原始数据到SQL是数据typesnumeric ,因此我首先需要将其转换为varchar ,随后到date (请注意这些是我用来调整date在SQL中的三种不同的方法我已经注意到,我保存数据的表确实是SQL中的数据typesdate ):

 left(convert(date,convert(varchar,Rawdate,110),110),7) as SaleDate convert(date,convert(varchar,Rawdate,112),112) as SaleDate convert(date,convert(varchar,Rawdate,110),110) as SaleDate 

yyyy-mmyyyy-mm-ddyyyy-mm-dd顺序返回,但是这些工作都不能在数据透视表中进行分组, 或者在Excel或Excel中Monthsyear进行过滤。

虽然我从来没有专门研究直接使用SQL-Server的Excels,但我知道SQL-Server有许多date和时间types ,不像.NET的C#less一些,或者Excel只有一个(1)(2) ,SQL-Server本身的types并不相互协作,所以即使是在尝试移植到其他技术时,即使是最微小的差异,我也不会感到惊讶。 。

考虑到这一点,以及你的date转换可能失败的证据,加上你提到的链式转换,我的第一个build议是为Excel提供一个不同的datetypes ,我的第一个select是datetimedatetime2 ,是最最stream行,最完整,最类似于Excel的孤独型。

(1):它更像零,它只是一个整数,与它周围的每一个人给予特殊的待遇,他们在一半时间失败。
(2):为什么会int /从datetime时间罚款,但int /从datetime2不是…

如果您将感兴趣的领域设置为一个行,并单击列标题中的“filter”三angular形,那么通常在该数据透视筛选框的列表底部,您会看到导致问题的项目。 请注意,这可能是简单的看起来像date的文本,或者根据以下截图中的基本示例,它可能更为明显:

在这里输入图像描述

根据我的评论,诊断发生的另一种方法是通过只确定date中的几个项目,将它们放入一个范围,制作一个数据透视表,并查看是否可以对它们进行分组。 如果可以的话,那么你就知道这个问题确实可能是数据中的一些文字。 如果你不能,那么很可能你的文本仍然需要被转换成date…但是你需要在这里发布一些例子,以便我们给你提供关于如何把它转换成Excel可以识别的东西的build议作为约会。