每年我们都会保留其中一个立方体的历史副本。今年有人决定他们想付钱给我们添加一个以前不存在的立方体属性。好吧,我喜欢钱,但问题是我们没有备份我们建立这个多维数据集的数据库。
所以我脑子里出现了一个问题,我们是否需要原始数据库来为这个多维数据集添加一个新属性?我们是否可以向多维数据集添加新属性,并且只处理此属性而不使用多维数据集orignal数据源?
当我将属性添加到SSAS多维数据集和进程时,我不太了解幕后发生的事情,我不能说这是否可能。我可以想象,可能的情况是,多维数据集在数据源的内存中有一个可以解决的快照。我还可以想象这将是非常低效的,所以有可能这是不可能的。
编辑:添加一个利用多维数据集中现有数据的计算成员至少似乎是可行的。
我还应该提一下,我试图在这样的多维数据集中添加一个属性并收到错误:
“无法保存维度[合作伙伴]文件系统错误无法复制 文件C:\\ MYSQLSERVER \ OLAP \ DATA \ 2013_Cube.db \\。dim \ .dstore到C:\\ MYSQLSERVER \ OLAP \ DATA \ 2013_Cube.db \\。dim \ .dstore文件存在“
抱歉,我伪造了一些文件路径。
答案 0 :(得分:2)
这项任务非常困难。我能想象的唯一方法是基于数据源视图手动重建原始数据库(它具有缓存的元数据),然后尝试使用SSAS查询工具(例如Excel,SSRS,OLE DB)生成数据以填充它分析服务提供商)。
如果您想在维度中添加一个属性,则可以将该工作限制为相关维度的源数据。
答案 1 :(得分:1)
首先让我根据流程的步骤解释多维数据集如何存储数据!!!
此状态下的一个例子就是这样的行
Company -> Department -> Room | Value(Employees)
ET LTD -> IT -> Room 4 -> | 4
Value(Revenue)将存在完全相同的行。 因此,实质上所有数据都存在于SSAS数据库(多维数据集)中。 重建数据库意味着逆向工程的 Great Deal 。
您可以使用MDX连接器和查询来创建新的C#程序以获取数据,并使用MSsql连接器将它们保存在OLTP数据库中。 MDX的学习曲线陡峭,网站引用很少,因此不建议使用上述方法。
我无法从excel获取数据,因为excel以动态方式从DataConnection获取数据透视表数据。