SSAS中命名集(SET)的使用

之前工作中使用Excel Services展示OLAP报表时,日期(报表要求展示最近三天)需要每天去更新Excel,非常麻烦,而且还经常忘记更新。 后来,终于找到了解决方法:在命名集中添加SET计算来替代日期的筛选。

CREATE SET CURRENTCUBE.[最近一天] AS TAIL(NONEMPTY([Time].[日期].MEMBERS),1);

CREATE SET CURRENTCUBE.[過去三天] AS {STRTOMEMBER("[Time].[日期]."+FORMAT((NOW()-3),"[yyyy/MM/dd]")): STRTOMEMBER("[Time].[日期]."+ FORMAT((NOW()-1),"[yyyy/MM/dd]"))};

CREATE SET CURRENTCUBE.[最近一周] AS {STRTOMEMBER("[Time].[--日期].[日期]."+ FORMAT((NOW()-7),"[yyyy/MM/dd]")+".PARENT"):STRTOMEMBER("[Time].[--日期].[日期]."+ FORMAT(NOW(),"[yyyy/MM/dd]")+".PARENT")};

这样,做报表时只要把这些SET拖拉进去替换日期维,再把数据连接设置为"自动更新",这样在Excel Services报表中,不用手动更新,也能看到最新的资料。

posted @ 2010-07-19 21:03  rangeliu  阅读(405)  评论(0编辑  收藏  举报