我搜索了Internet和StackOverflow,但找不到此问题的答案。我通过带有日期维度的SSAS创建了OLAP多维数据集。维度的属性之一是“ 活动日历月”。该NameColumn
值的格式类似于“ 2015年1月”,“ 2015年2月”等。
将KeyColumns
被设置为在第一个月的日期值类型,对于每一个月份。例如,NameColumn
值“ 2015年1月” = KeyColumns
值“ 1/1/2015”,“ 2015年2月” =“ 2/1/2015”,依此类推。
ValueColumn
如果Excel正在使用日期进行排序,则还将设置为该月的第一个日期(即“ 2015年1月1日”)。
当我在Excel 2013工作簿中查看“ 日历月”维度时,它最初会加载正确的排序。下面是一个示例:
January 2015
February 2015
March 2015
April 2015
May 2015
June 2015
July 2015
August 2015
September 2015
Run Code Online (Sandbox Code Playgroud)
但是,我希望能够右键单击Excel中的字段,然后选择“ 排序”>“将Z排序为A”,并对降序的月份排序。当前执行此操作时,我会返回:
September 2015
May 2015
March 2015
June 2015
July 2015
January 2015
February 2015
August 2015
April 2015
Run Code Online (Sandbox Code Playgroud)
对我来说,看来Excel仅会根据尺寸的中设置的字母数字值进行排序NameColumn
。另外,如果我从月份值中删除年份(即“ January”而不是“ January 2015”),Excel似乎会理解这是一个月份,并正确地对月份进行了排序。
确实Excel中对值的范围之外的能力来排序NameColumn
,如KeyColumns
或ValueColumn
,其中在NameColumn
不使用标准的月份名称(即“一月”,“二月”,等等)?
如果是,那么在SSAS维度设置中我可能会缺少什么来实现此目的?
您能在这里阅读最后一段吗: https://olappivottableextend.codeplex.com/wikipage ?title=Show%20Property%20as%20Caption&referringTitle=Home
内置“在报表中显示属性”功能的优点之一是成员属性以其正确的数据类型传入 Excel。因此,日期时间数据类型的成员属性就是这样出现的,并且可以使用 Excel 格式进行格式化。数字成员属性也是如此,并且可以在 Excel 中设置格式。但是,当您使用“将属性显示为标题”OLAP 数据透视表扩展功能将任何成员属性用作标题时,标题会显示为字符串,并且无法在 Excel 中设置格式。
它讨论了 Excel 中的格式设置,但我相信 Excel 中的排序也适用。
因此...使用相同的日期键(每月的第一天)添加活动日历月份属性的新成员属性,然后将该成员属性添加到数据透视表并尝试按其排序。如果可以的话,太好了。如果没有,则安装 OLAP 数据透视表扩展插件并使用“将属性显示为标题”,然后进行排序。合理?
PS 感谢您写得很好的问题!