【发布时间】:2017-08-02 06:54:58
【问题描述】:
我在 Excel 中有一个数据透视表,我希望能够在使用 SaleDate 列时执行 Grouping。
但是,当我创建数据透视表时,右键单击字段中的元素并选择 Grouping... 我收到以下错误:
不能对这个选择进行分组
我认为是因为有一个
1) 列中的空白,或
2) 该列不是日期类型 Date在 Excel 中
我已将整列复制到 Notepad++ 并执行了Find what: (a blankspace),但没有得到任何回报,即列中没有空格。
剩下的选项编号为 2,因为我无法过滤 Year 或 Month 上的 SaleDate 列,它实际上似乎被解释为 text 而不是 Date。
我使用 SQL 数据库作为源,我试图对其进行调整以规避此问题(我的 SQL 原始数据是数据类型 numeric,因此我首先需要将其转换为 varchar 和随后到date(请注意,这是我用来调整SQL中日期的三种不同方法。我注意到我保存数据的表确实是SQL中的数据类型date):
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-mm、yyyy-mm-dd、yyyy-mm-dd,但这些都不适用于在数据透视表中进行分组,或过滤Months或@987654339 @ 在 Excel 中。
【问题讨论】:
-
从未使用过连接到 SQL 的 Excel,但我可以建议转换为
datetime看看会发生什么吗?如果时间部分是一个问题,您可以通过各种方式清除它,例如在您通常的date转换之后转换为datetime。 -
如果您将 SaleDate 设为 Row 字段并单击过滤器图标,您能否发布一张图片来显示您所看到的内容?您还可以在这里发布一些您正在使用的日期的示例吗?更好的是,将一些日期粘贴到 Excel 中,截取屏幕截图并将其发布在此处,然后尝试从这些日期中制作数据透视表并对字段进行分组。这将有助于诊断潜在问题。
-
@KtX2SkD 成功了!转换为日期时间,而不是我之前尝试过的日期,就像一个魅力。我没有按
Month过滤的选项,但我有按year和quarter过滤的选项,而且我真的只需要年份。请考虑将您的评论作为答案,以便我接受。
标签: sql-server excel date pivot-table