我的資料透視表從帶有日期列的外部資料來源中提取。 Excel 不會將此列視為日期,且「設定儲存格格式」選項面板不會變更日期的顯示方式。單元格資料左對齊,表示是字串而不是日期。我已經在基底表中嘗試過cast(myvar as date)和convert(varchar, myvar, 101)和convert(varchar, myvar, 1),但Excel沒有將這些作為日期選取。
如果該列被識別為日期,我可以按週和月進行分組。據我所知,如果我無法解決此問題,下一步是將每個日期的包含週和月的列添加到表中,但我想在執行此操作之前再次格式化該列。
答案1
嘗試將您的日期轉換為日期時間。
SQL Server 的日期在內部表示為 3 個位元組整數,而日期時間為 8 個位元組並且可能是浮點。 Excel 使用雙精確度數來表示日期/時間,因此 SQL Server 的日期時間格式可能會比日期更好地對應。
答案2
嘗試使用 SQL 程式碼作為資料透視表的來源,而不是位於 SQL Server 中的表或查詢。也許你的 Cast() 語句會更有效。
- 點選資料透視表
- 按一下資料透視表工具>選項>變更資料來源(箭頭)>連線屬性
- 按一下定義
- 將命令類型變更為“SQL 查詢”
- 將 SQL 語句貼上或鍵入到命令文字區域。
我假設您使用的是 Excel 2007。
答案3
將轉換函數與120
樣式一起使用,這是 ISO 日期格式,Excel 應該能夠識別這一點。