多维数据集中的数据通常为只读。 但是,在某些情况下,你可能想要启用分区写入。 启用写入的分区用于使业务用户能够通过更改单元格值和分析更改对多维数据集数据的影响来探索方案。 启用写入分区时,客户端应用程序可以记录对分区中的数据所做的更改。 这些更改(称为写回数据)存储在单独的表中,不会覆盖度量值组中的任何现有数据。 但是,它们会合并到查询结果中,就像它们是多维数据集数据的一部分一样。
可以编写启用整个多维数据集,也可以仅启用多维数据集中的某些分区。 启用写入的维度不同,但互补性。 启用写入的分区允许用户更新分区单元,而启用写入的维度允许用户更新维度成员。 还可以结合使用这两个功能。 例如,启用写入的多维数据集或启用写入的分区不必包含任何启用写入的维度。 相关主题:Write-Enabled 维度。
注释
如果要在多维数据集、分区或维度的数据源定义中使用具有 Microsoft Access 数据库的多维数据集,请不要在多维数据集、分区或维度的数据源定义中使用 Microsoft OLE DB Provider for ODBC Drivers。 相反,可以使用 Microsoft Jet 4.0 OLE DB 提供程序,或者包含 Jet 4.0 OLE 的 Jet Service Pack 的任何版本。 有关详细信息,请参阅Microsoft知识库文章 如何获取 Microsoft Jet 4.0 数据库引擎的最新 Service Pack。
仅当多维数据集的所有度量值都使用 Sum
聚合函数时,才能启用写入。 无法启用链接度量值组和本地多维数据集。
写回存储
业务用户所做的任何更改都存储在写回表中,这与当前显示的值不同。 例如,如果最终用户将单元格值从 90 更改为 100,该值 +10
将存储在写回表中,以及更改的时间以及有关创建该单元格的用户的信息。 累积更改的净效果会显示给客户端应用程序。 将保留多维数据集中的原始值,并在写回表中记录更改的审核线索。
叶和非叶单元格的更改以不同的方式处理。 叶单元格表示度量值与度量值组引用的每个维度中的叶成员的交集。 叶单元格的值直接从事实数据表中获取,不能通过向下钻取来进一步划分。 如果多维数据集或任何分区已启用写入,则可以对叶单元格进行更改。 仅当客户端应用程序提供在构成非叶单元格的叶单元之间分布更改的方法时,才能对非叶单元格进行更改。 此过程称为分配,通过多维表达式 (MDX) 中的 UPDATE CUBE 语句进行管理。 商业智能开发人员可以使用 UPDATE CUBE 语句来包括分配功能。 有关详细信息,请参阅 UPDATE CUBE 语句 (MDX)。
重要
更新后的单元格不重叠时, Update Isolation Level
连接字符串属性可用于增强 UPDATE CUBE 的性能。 有关详细信息,请参阅 ConnectionString。
无论客户端应用程序是否分发对非叶单元格所做的更改,每当评估查询时,写回表中的更改都会应用于叶单元格和非叶单元格,以便业务用户可以在整个多维数据集中查看更改的影响。
业务用户所做的更改保存在单独的写回表中,可按如下所示使用:
转换为分区,将更改永久合并到多维数据集中。 此作使度量值组只读。 可以指定要转换的更改的筛选器表达式。
放弃以将分区返回到其原始状态。 此作使分区只读。
安全
仅当业务用户属于具有多维数据集单元格读/写权限的角色时,才允许业务用户记录多维数据集写回表中的更改。 对于每个角色,可以控制哪些多维数据集单元可以且无法更新。 有关详细信息,请参阅授予多维数据集或模型权限(Analysis Services)。
另请参阅
Write-Enabled 维度
聚合和聚合设计
分区(Analysis Services - 多维数据)
Write-Enabled 维度