1.有了生产库, 通过cdc捕获数据变化, 通过ssis 将数据保存到数据仓库里面, 现在要做的就是建立多维数据集SSAS进行数据统计分析.
2.本地环境搭建好多维数据集之后, 如何发布到正式环境呢? 总不该说在正式服务器上也装一个 VS吧.
经过研究发现, 可以使用XMLA 查询 来完成.
首先在测试环境上,搭建多维数据集, 然后通过 如下的这种方式, 可以生成 xmla 脚本, 这个是 xmla查询,
需要将xmla文件的 数据源的数据库连接改一下, 这个就是 抽取数据的来源.
部署到正式环境上,有一个地方要注意下, 那就是 多维数据集的分区设置 .
同样右键生成xmla文件到新窗口, 可以看到 分区规则( 同一个数据源分区, 用的是 查询绑定, 主要查看 where 条件的界限值)
如果要创建新的分区, 只需要 将xmla文件的 分区的Id 和 name 修改一下, 然后下面的 sql语句建立好对应的查询规则, 就可以设置新的分区了.
设置分区的目的是为了将各个时间段的数据分开, 比如 生产数据 1-3月份的数据,到了4月份的时候,之前的历史数据可能有的已经发生了更改 ,
统计报表到4月份再来校验 第一季度1到3月份数据的时候,就会发现有对不上的情况. 所以我们将每个月, 分开单独建立一个分区进行统计, 统计1-3月份的数据,
就只将1,2,3 3个月的分区的数据合并在一起, 而不是到数据仓库区去 直接查 where month in (1,2,3) .
另外,有时会新增字段或删除字段, 多维数据集cube 结构改变了, 建立的分区啊什么的,可能都会受影响.所以及时做好 cube 备份也是必须的.
同样的, 数据库右键备份, 然后可以看到 在 "帮助" 旁边有一个 "脚本" , 通过这个可以看到该操作的脚本,没错,又是 xmla ,这里要说一下, 下面的设置密码保存
先去掉.
备份的脚本如下
<Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Object> <DatabaseID>JGBOLAPDBSln</DatabaseID> </Object> <File>JGBOLAPDBSln.abf</File> </Backup>
其中 databaseid 是当前要备份的数据库, <file>里面存放的是备份的文件, 后罪名是 .abf文件
多维数据集这边所要处理的问题大概就这些了. 加字段,删字段什么的,这个暂时还没研究. xmla 语法比较特殊,
以及后续的 mdx 查询语句, 跟普通的 sql查询 不是一回事.