SSAS中命名集(SET)的使用

来源:互联网 发布:怎么做游戏程序员 编辑:程序博客网 时间:2024/05/16 18:45

之前工作中使用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报表中,不用手动更新,也能看到最新的资料。