我正在SSAS上创建一个POC . 最终目标是能够执行任何类型的计算,无论是临时计算还是预先计算好的性能 . 现有的解决方案基于SQL服务器,但由于面临巨大数据的性能问题 .
我需要了解Cube如何工作以提供更快的输出 . 我创建了日期维度,其层次结构为Year-> Semester-> Quarter - > Month - > Week - > Date . 其他几个维度与日期维度相关联 . 我的立方体有几乎10到15维度,有几个角色扮演维度 . 每个事实表中几乎有两到三个日期 .
-
多维数据集如何根据与事实相关联的维度聚合数据?
-
它是否在内部创建维度值的所有组合并在内部保存事实聚合数据?
-
这里我附加了一个MDX脚本,该脚本具有YTD,MTD,QTD计算度量 . [度量] . [值]度量必须根据应用于日期维度的函数添加 . SSAS内部总结了[度量] . [值]日期/其他维度/ s的各种层次结构? SSAS究竟做了什么来快速提供最终 Value ?
-
我们的系统有大量字段,其计算取决于最终用户选择的数值,必须通过汇总其他一些度量来计算运行时的数字 . 通过使用多维数据集处理期间生成的内部聚合值,SSAS是否能够快速提供Calcualted Member输出?
With Member [Measures].[YTDValue] as ([Measures].[Value],
OpeningPeriod([Rundate].[Calendar].[Date],[Rundate].[Calendar].CurrentMember.Parent.Parent.Parent.Parent.Parent))
Member [Measures].[QTDValue]
as ([Measures].[Value],OpeningPeriod([Rundate].[Calendar].[Date],[Rundate].[Calendar].CurrentMember.Parent.Parent.Parent))
Member [Measures].[MTDValue]
as ([Measures].[Value],OpeningPeriod([Rundate].[Calendar].[Date],[Rundate].[Calendar].CurrentMember.Parent.Parent))
SELECT
{
[Measures].[YTDValue],
[Measures].[QTDValue],
[Measures].[MTDValue],
} on 0,
{
[Rundate].[Calendar].[Date].Members
} ON 1
FROM
(
select
{
[Rundate].[Calendar].[Date].&[2015-01-09T00:00:00]
} on 0
from [Cube_Sample]
)