页面树结构
转至元数据结尾
转至元数据起始

说明
动态多维分析:以月为时间参数。每个月打开报表时展现的是当前月或上月的数据。
多维分析默认时间参数是随时间而变化的,无需每次都去编辑多维分析。
以Cube【Sales】为例,下面介绍两种方式来实现动态多维分析。
设置方式
方式一:通过VBA和Excel的函数灵活组合实现。

(1)新建一个多维参数。新建多维分析参数,命名为"当前月份"。参数类型选择成员;控件类型选择下拉树;成员所在层次选择Time;备选值选择成员树选择方式;默认值选择MDX语句,MDX语句为:SELECT {strToMember("[时间]." || "[" || trim(str (int(year(now()) - 18))) || "年].[" || trim(str (int(year(now()) - 18))) ||"年" || trim(str(int(( (month(now()) - 1) / 3) + 1))) || "季度]" || ".[" || trim(str (int(year(now()) - 18))) || "年" || trim(str(month(Now()))) || "月]")} ON columns FROM [Sales]其它设置默认即可。设置如下图:

   

注意:因Cube【Sales】的时间维年级别只有1997年和1998年两个成员,为了保证多维分析可以刷新出数据,我们使用当前年份2009减去12,最后得到的是1997年10月成员。如果用户希望看到当前时间前一月的数据,MDX语句修改为"select {strToMember("[Time].["+cstr(year(now()))+"年"+cstr(month(Now())-1)+"月]")} on columns from [Sales]"即可。

(2) 新建多维分析。选择Cube 【Sales】构建多维分析。其中行区选择"Store"维的CA、OR和WA成员,列上选择度量维的Store Cost、Store Sales和Sales Count成员。

(3) 新建局部自定义成员。在左侧资源树的自定义成员\局部下新建一个局部自定义成员。把"当前月份"参数是从左侧资源树参数节点下拖入到MDX表达式中。具体设置如下:
 

(4) 添加上面步骤建立的局部自定义成员到多维分析的行区,此时出现的"当前月份"参数默认值是1997年10月。

(5) 点击多维分析工具栏上按钮参数设置,在参数应用值界面设置"当前月份"参数为使用参数默认值后,点击 确定。

(6) 刷新报表,最后得到的效果如下图。当系统时间更新后,打开此多维分析,"当前月份"参数的值也会跟着变化,因此默认看到的是多维分析的最新时间数据,我们也可以通过切换参数值来查看其他时间的数据。
方式二:通过用户属性实现。

(1) 在业务库里增加一张表Time_New(Time_id, Time_Name,Time_type),用来记录各类时间类型的最新数据。其中字段Time_id记录当前业务库中最新多维时间的ID;Time_Name记录当前业务库最新多维时间的名称;Time_type是时间类型的标志,如时间维的层次机构是年>季度>月>日,我们可以使用标志:Y(代表年)、Q(代表季度)、M(代表月)、D(代表日)。表数据示例如下:

(2) 通过ETL操作,更新Time_New表的数据,使当前数据是用户能看到的最新时间。

(3) 添加业务库作为关系数据源。

(4) 在用户属性下新建一个用户属性。此用户属性是为了取业务库中最新的月份时间,其数据源选择步骤

(5)创建的关系数据源,类型选择字符串,命名为"最新月份",表达式设置如下:Select Time_ID as A from Time_New where Time_type='M';

(6) 新建一个多维参数。新建多维分析参数,命名为"时间"。参数类型选择成员;控件类型选择下拉树;成员所在层次选择Time;备选值选择成员树选择方式;默认值选择MDX语句,MDX语句为select {最新月份} from [Sales] on Columns,其中最新月份是把左侧用户属性节点下的"最新月份"拖入;其它设置默认即可。具体设置如下图:
  

(7)  新建多维分析。选择Cube 【Sales】构建多维分析。其中行区选择"Store"维的CA、OR和WA成员,列上选择度量维的Store Cost、Store Sales和Sales Count成员。

(8)  新建局部自定义成员。在左侧资源树的自定义成员\局部下新建一个局部自定义成员。在其MDX表达式中输入如下:sum({时间}),其中"时间"是从左侧资源树参数节点下拖入。具体设置如下:

(9) 添加上面步骤建立的局部自定义成员到多维分析的切块区,此时会自动生成一个Time参数,在右上方的工作区选中Time参数,在右下方的属性面板区,设置Time参数不显示。

(10) 点击多维分析工具栏上按钮 参数设置,在参数应用值界面设置时间和Time参数为使用参数默认值后,点击 确定。

(11) 刷新报表,最后得到的效果如下图。当更新业务库的最新时间后,打开此多维分析,"时间"参数的值也会跟着变化,因此默认看到的是多维分析的最新时间数据,我们也可以通过切换参数值来查看其他时间的数据。

  • 无标签