构建整个SSAS多维数据集不起作用,按维度构建维度起作用-构建顺序?

构建整个SSAS多维数据集不起作用,按维度构建维度起作用-构建顺序?,ssas,bids,dimension,Ssas,Bids,Dimension,在SSAS上构建立方体时,我遇到了一个奇怪的问题。我有一个事实表,比如说FactActivity。然后我有一个维度DimActivity,它与这个事实有1对1的关系,所有外键都绑定到这个维度。因此,日期维度、产品维度等都绑定到DimActivity 当我构建整个立方体时,它似乎是在构建维度之前的事实,因此它给了我错误。但是,如果我在事实发生之前手动构建维度,它就会起作用 除了使用Analysis Services处理任务从SSIS执行此操作外,SSAS中是否有其他地方可以配置生成顺序 非常感谢

在SSAS上构建立方体时,我遇到了一个奇怪的问题。我有一个事实表,比如说FactActivity。然后我有一个维度DimActivity,它与这个事实有1对1的关系,所有外键都绑定到这个维度。因此,日期维度、产品维度等都绑定到DimActivity

当我构建整个立方体时,它似乎是在构建维度之前的事实,因此它给了我错误。但是,如果我在事实发生之前手动构建维度,它就会起作用

除了使用Analysis Services处理任务从SSIS执行此操作外,SSAS中是否有其他地方可以配置生成顺序


非常感谢

处理多维数据集不会处理与其相关的维度,因为它们在SSAS中被构造为单独的实体。实际上,这意味着维度可以存在、处理和访问,而无需与多维数据集建立关系

没有“配置的一般构建顺序”这样的东西。由您决定如何处理AS对象。有许多工具可以帮助实现这一点,它们都会做同样的事情:构造要在AS服务器上运行的XMLA脚本

  • SSIS:Analysis Services处理任务
  • 配置SQL代理作业
  • 使用SSM执行手动过程
  • 使用AMO编程处理活动
  • 重要的是,在处理多维数据集之前,应该先处理维度。一个简单的解决方案是处理整个SSAS数据库(包含多维数据集和维度)。这样,SSAS将在处理多维数据集之前自动处理维度


    处理维度或整个多维数据集时,在单击“运行”之前,请单击“更改设置…”按钮。在那里,您可以更改它的处理方式。此链接描述了可用选项的效果


    HTH

    对于遇到类似问题的其他人

    我偶尔会遇到多维数据集处理错误的原因是,刷新是在同一时间发生的,这是由于计划的每小时导入

    我现在使用日志查看正在运行的SSIS包。导入活动时,我在该表中插入了一条状态为“正在运行”的记录

    在处理多维数据集之前,我有一个信号量来检查此表中的记录是否为数据导入且状态为“正在运行”。我只允许在当前未运行导入时刷新多维数据集。当多维数据集正在处理时,导入也有一个信号量,并且不会开始导入,除非当前没有多维数据集处理正在“运行”


    在实现了这个逻辑之后,我在处理多维数据集时从未遇到任何错误

    我通过使用SSIS处理任务来解决这个问题,但是我认为BIDS中的一些东西应该能够配置它。我认为你需要更加精确,因为这可能有很多含义。