Ssas 创建计算时间段层次结构
为了给最终用户提供更好的多维数据集浏览体验,我尝试创建一个由计算成员组成的时间段层次结构Ssas 创建计算时间段层次结构,ssas,mdx,Ssas,Mdx,为了给最终用户提供更好的多维数据集浏览体验,我尝试创建一个由计算成员组成的时间段层次结构 目前,我在DSV中使用了一个计算列,在日期表的每一行上创建了一个值相同的列(值始终为)。然后,在我的日期和时间维度中,我使用该计算列创建了一个单级别、单成员层次结构,如下所示: 现在,我已经成功地通过以下计算将时段添加到我的日历层次结构中: 创建成员CURRENTCUBE.[完成日期].[日历].[全部].[最后30天] 作为总和(上个期间(30,个成员)( “[完成日期][日历][日期]。”+ “&
目前,我在DSV中使用了一个计算列,在日期表的每一行上创建了一个值相同的列(值始终为
)。然后,在我的日期和时间
维度中,我使用该计算列创建了一个单级别、单成员层次结构,如下所示:
现在,我已经成功地通过以下计算将时段添加到我的
日历
层次结构中:
创建成员CURRENTCUBE.[完成日期].[日历].[全部].[最后30天]
作为总和(上个期间(30,个成员)(
“[完成日期][日历][日期]。”+
“&[”+CStr(年(现在())+“]&[”+CStr(月(现在()))+“]&[”+CStr(日(现在())+“]””
))),可见=1;
这在日历
层次结构上正常工作:
但我想将它们移动到新的时间段
层次结构中,以保持它们之间的良好分离
到目前为止,我尝试了两种不同的方法:
创建成员CURRENTCUBE.[完成日期].[日历].[全部].[过去30天]
更改为创建成员CURRENTCUBE.[完成日期].[时间段].[全部].[过去30天]
日历
层次结构上计算成员的可见性更改为VISIBLE=0
,并在引用它的时间段
层次结构上创建第二个计算成员:(我已尝试使用和未使用SUM()
函数)创建成员CURRENTCUBE.[完成日期].[时间段].[全部].[最后30天]
作为总额([完成日期][日历][全部][过去30天]),
可见=1;
但这两个都不适合我。所以我的问题是,我怎样才能完成我想要达到的目标
我的最终目标是建立一个层次结构,用户可以将其拖动到透视表中并查看以下内容(但实际计算的时间段):
我刚刚以这种方式创建了相同的: 1) 为名为“All Time”的未筛选值添加虚拟属性 (键为int,值为0) 2) 添加3个空成员
CREATE MEMBER CURRENTCUBE.[Report Date].[Time Period].[All].[Last 30 Days]
AS
null,
VISIBLE = 1;
CREATE MEMBER CURRENTCUBE.[Report Date].[Time Period].[All].[Last 60 Days]
AS
null,
VISIBLE = 1;
CREATE MEMBER CURRENTCUBE.[Report Date].[Time Period].[All].[Last 90 Days]
AS
null,
VISIBLE = 1;
3) 然后添加作用域(我有另一种键格式):
它可以工作(还可以添加一个度量来计算要验证的级别的成员):
我刚刚以这种方式创建了相同的: 1) 为名为“All Time”的未筛选值添加虚拟属性 (键为int,值为0) 2) 添加3个空成员
CREATE MEMBER CURRENTCUBE.[Report Date].[Time Period].[All].[Last 30 Days]
AS
null,
VISIBLE = 1;
CREATE MEMBER CURRENTCUBE.[Report Date].[Time Period].[All].[Last 60 Days]
AS
null,
VISIBLE = 1;
CREATE MEMBER CURRENTCUBE.[Report Date].[Time Period].[All].[Last 90 Days]
AS
null,
VISIBLE = 1;
3) 然后添加作用域(我有另一种键格式):
它可以工作(还可以添加一个度量来计算要验证的级别的成员):
多亏了我,我才成功地让它发挥作用
下面是我现在用来设置计算时段层次结构的方法:
TimePeriod
的新命名计算
,并将该值设置为类似于所有时间
属性关系
选项卡中的日属性时间段
层次结构中创建一个虚拟计算成员:创建成员CURRENTCUBE.[完成日期].[时间段].[全部].[最后30天]
为空,可见=1;
创建成员CURRENTCUBE。[完成日期].[时间段].[全部].[最后60天]
为空,可见=1;
创建成员CURRENTCUBE。[完成日期].[时间段].[全部].[最后90天]
为空,可见=1;
//等等。。。
strotmember()
函数中的位以匹配您的day属性键):范围([完成日期][时间段][全部][过去30天]);
此=上一个期间的总和(30,STROTOMBER)(
“[完成日期][日历][日期]。”+
“&[”+CStr(年(现在())+“]&[”+CStr(月(现在()))+“]&[”+CStr(日(现在())+“]””
)));
终端范围;
范围([完成日期][时间段][全部][最后60天]);
此=上一个期间的总和(60,STROTOMBER)(
“[完成日期][日历][日期]。”+
“&[”+CStr(年(现在())+“]&[”+CStr(月(现在()))+“]&[”+CStr(日(现在())+“]””
)));
终端范围;
范围([完成日期][时间段][全部][最后90天]);
此=上一个期间的总和(90,STROTOMBER)(
“[完成日期][日历][日期]。”+
“&[”+CStr(年(现在())+“]&[”+CStr(月(现在()))+“]&[”+CStr(日(现在())+“]””
)));
终端范围;
多亏了我的努力,我才得以实现这一目标
下面是我现在用来设置计算时段层次结构的方法:
TimePeriod
的新命名计算
,并将该值设置为类似于所有时间
属性关系
选项卡中的日属性时间段
层次结构中创建一个虚拟计算成员:创建成员CURRENTCUBE.[完成日期].[时间段].[全部].[最后30天]
为空,可见=1;
创建成员CURRENTCUBE。[完成日期].[时间段].[全部].[最后60天]
为空,可见=1;