【问题标题】:Processing dimension with process update带有流程更新的处理维度
【发布时间】:2012-11-19 10:31:00
【问题描述】:

在处理带有流程更新的维度时,我遇到了错误

OLAP 存储引擎中的错误:在维度的增量处理期间无法更改属性之间的刚性关系。处理属性时发生错误。表:'dbo_VW_myView',列:'Some+Column',值:'VTNS Affiliate'。来源属性: 。来源属性的键列值:“ABBOTT LABORATORIES”。

通过一些研发,我能够弄清楚我不能在刚性关系中进行 ProcessUpdate 并且通过将维度关系更改为柔性将深刻影响多维数据集的性能。所以我的问题是,

这个问题可以通过按顺序处理维度来解决吗?如果是,那么我怎样才能动态地处理维度的顺序。如果否,处理更新维度的其他方法可能是什么。

我只能通过 SSIS 处理维度。

EDIT1

更准确地说,我正在执行以下步骤:

  1. 正在创建分区。
  2. 处理每个维度 - processAdd
  3. 处理分区 - ProcessFull
  4. 处理数据库 - ProcessDefault

每周一次对数据库进行 ProcessFull 处理

但是有了这个,我不认为我会在维度上获得更新的条目。我的场景是这样的,对于每个负载尺寸/事实,只会更新或插入,不会删除。

那么,在这种情况下,哪种处理对我有用(我可以在您的建议中包含或排除上述步骤)?在处理多维数据集分区之前可以 ProcessDefault 维度可以帮助我。

注意:如果没有第 2 步,处理工作正常.. 但之后当我完全处理数据库时,我收到错误 操作失败 并且除了列表之外没有特定错误我创建的分区。 (令人惊讶的是,处理完整的数据库正在处理维度而没有任何问题)

编辑2

有没有其他方法可以进行流程更新维度?

【问题讨论】:

  • 我在基于查询的 DimDeliveryDates 具有刚性关系的维度中遇到了相同的错误,并且由于基础数据的更改,某些日期不再与业务流程相关。但是,多维数据集处理失败了,因为现在数据丢失了。

标签: ssis ssas dimension


【解决方案1】:

不,您无法通过以任何不同的顺序处理维度来纠正此问题。误差是一维内部的。这是维度内部数据发生变化的症状,这在我研究过的所有(非日期)维度(甚至某些日期维度)中是不可避免的。

您需要重新审视您的研发,并通过灵活的维度关系将您的多维数据集性能提高到可接受的水平。

【讨论】:

  • 感谢您的确认。我相信我需要更改流程类型或顺序。我已经编辑了我的问题。你能再看一遍吗?
【解决方案2】:

您需要完全处理维度以清除此错误 - 但是 - 如果我没记错的话,这通常会将相关事实表保留为“未处理”。

Mike Honey 是正确的,发生的事情是你告诉立方体有些东西不会改变,然后你改变了它。例如,您曾说过家庭地址对客户 ID 是固定的客户维度 - 客户第一次更改地址时,您将无法处理更新维度。

让这些刚性/灵活的关系正确可能是一件真正的痛苦 - 你永远不会改变的事情(出生日期) - “我们为客户写下了错误的出生日期”等等...... :(

【讨论】:

  • 非常正确。我现在遇到了一个很大的麻烦。数据很大,并且处理完整的多维数据集而没有分区正在杀死我。 :(
  • @Zerotoinfinite,这听起来像是更改多维数据集并重新部署是您需要的 :( 请记住,您始终可以使用不同的名称部署更改后的多维数据集,处理它,删除原始数据并将新的重命名为原件的名称。将在此期间为您的用户保持“a”多维数据集在线。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多