在连接到 SSAS OLAP 多维数据集的 Excel 中按键排序
Posted
技术标签:
【中文标题】在连接到 SSAS OLAP 多维数据集的 Excel 中按键排序【英文标题】:Sort by key in Excel connected to SSAS OLAP cube 【发布时间】:2015-09-17 20:53:58 【问题描述】:我搜索了 Internet 和 ***,但无法找到此问题的答案。我通过 SSAS 创建了一个带有日期维度的 OLAP 多维数据集。该维度的属性之一是活动日历月。 NameColumn
值的格式类似于“2015 年 1 月”、“2015 年 2 月”等。
KeyColumns
设置为每个月的第一天的 DATE 值类型。例如,NameColumn
值“2015 年 1 月”=KeyColumns
值“2015 年 1 月 1 日”、“2015 年 2 月”=“2015 年 2 月 1 日”等
ValueColumn
也设置为当月的第一个日期(即“1/1/2015”),以防 Excel 使用它进行排序。
当我在 Excel 2013 工作簿中查看 日历月 维度时,它最初会以正确的排序方式加载。下面是一个示例:
January 2015
February 2015
March 2015
April 2015
May 2015
June 2015
July 2015
August 2015
September 2015
但是,我希望能够右键单击 Excel 中的字段并选择 排序 > 将 Z 排序为 A 并按降序对月份进行排序。当我目前这样做时,我会回来:
September 2015
May 2015
March 2015
June 2015
July 2015
January 2015
February 2015
August 2015
April 2015
对我来说,Excel 似乎只会根据维度NameColumn
中设置的字母数字值进行排序。此外,如果我从月份值中删除年份(即“一月”而不是“2015 年 1 月”),Excel 似乎明白它是一个月并且正确地对月份进行排序。
尺寸设置截图
问题
Excel 是否能够对 NameColumn
之外的值进行排序,例如 KeyColumns
或 ValueColumn
,其中 NameColumn
不使用标准月份名称(即“January ”、“二月”等)?
如果是,那么我在 SSAS 维度设置中可能缺少什么来完成这项工作?
【问题讨论】:
检查this了吗?你应该通过Month Number Of Year
订购Calendar Month
@alejandrozuleta,是的,我确实看到了该链接并尝试过。我试图将单独的属性成员设置为每个月的整数(即 1-12)和日期(2015 年 1 月 1 日)。它们在 Visual Studio 中维度的 Browser 选项卡中排序良好,并且在 Excel 中最初排序正确。我仍然无法更改 Excel 中的排序顺序,因为它按名称按字母数字顺序对月份进行排序,而不考虑维度的排序设置。
@ShayneEphraim,你有没有像往常那样根据维度键字段而不是名称字段在 Excel 中进行排序的方法?
【参考方案1】:
你能读一下这里的最后一段吗: https://olappivottableextend.codeplex.com/wikipage?title=Show%20Property%20as%20Caption&referringTitle=Home
内置“在报表中显示属性”功能的一个优点是成员属性可以通过其正确的数据类型进入 Excel。因此,datetime 数据类型的成员属性就是这样出现的,可以使用 Excel 格式进行格式化。数字成员属性也是如此,可以在 Excel 中格式化。但是,当您使用“将属性显示为标题”OLAP 数据透视表扩展功能将任何成员属性用作标题时,很遗憾,标题会以字符串形式出现,并且无法在 Excel 中格式化。
它谈到了 Excel 中的格式设置,但我相信 Excel 中的排序也适用。
所以... 添加具有相同日期键(当月的第一天)的 Activity Calendar Month 属性的新成员属性,然后将该成员属性添加到数据透视表并尝试按它排序。如果可以的话,太好了。如果没有,则安装该 OLAP PivotTable Extensions 插件并使用 Show Property As Caption 然后排序。有意义吗?
附:感谢您写得非常好的问题!
【讨论】:
虽然这是一个很好的解决方法,但如果我是该多维数据集的唯一用户,那就没问题了。问题是其他最终用户可能无法理解 OLAP PivotTable Extensions 的工作原理,更不用说能够在他们的系统上安装它了。我投了赞成票,因为这是一个很好的建议,但仍在寻找一种解决方案来对包含年份的 Excel 中的月份进行降序排序(即 2015 年 1 月)。删除年份确实不错。我在想这个问题可能没有解决方案。以上是关于在连接到 SSAS OLAP 多维数据集的 Excel 中按键排序的主要内容,如果未能解决你的问题,请参考以下文章
无法使 ConvertToUnknown 维度在 SSAS OLAP 多维数据集上工作