【问题标题】:Long running view in ssas-tabularssas-tabular 中的长时间运行视图
【发布时间】:2019-10-01 21:44:25
【问题描述】:

我有一个 SQL Server 数据库,我们在其中创建了一些基于暗表和事实表的视图。我需要根据我的表和视图构建 SSAS 表格模型。但是其中一个视图在 SQL 查询 (SSMS) 中运行了 1.5 小时。现在我需要使用相同的视图来构建我的 SSAS 表格模型,但 1.5 小时是不可接受的。该视图由 10 多个表连接和大量 Where 条件组成。

1) 我能否将在此视图中使用的所有这些表带入我的 SSAS 表格模型中,但是我不确定如何将它们全部加入并在 SSSAS 中使用 where 子句并构建与我的视图类似的东西。那可能吗?如果是怎么办?

2) 我将从该视图构建一次 SSAS 模型,然后如果我想每天增量加载数据,那么最好的方法是什么?

【问题讨论】:

  • 您可以使用 dim 和 fact 表作为基础,通过 VS 中 SSAS 项目的表视图中的表上的键将它们链接起来。我将获取数据的一个子集,并在 Power B 中对其进行概念证明,这是 SSAS 表格,但适用于 Power Users。对于长时间运行的查询,我建议查看您的索引和查询执行计划,看看瓶颈在哪里

标签: sql-server ssas ssas-tabular


【解决方案1】:

最好的选择是设置适当的 ETL 流程。那就是:

  1. E将表从源 SQL 数据库提取到您控制的新 SQL 数据库中。
  2. T将数据转换为star schema
  3. L将星型架构中的数据加载到 SSAS 中。

在 SQL Server 上,最常见的方法是使用 SSIS 包进行数据提取、移动和编排,并使用 SQL Server 代理作业进行调度。

回答您的问题:

  1. 是的,当然可以将所有表格直接从源系统引入表格模型,但请不要这样做!以后创建 DAX 计算时,您只会为自己制造问题。 More information here.

  2. 增量加载数据是您为导入表格模型的每个表决定的。同样,如果您有适当的星型模式,这会容易得多,因为您通常会对所有维度表运行完整处理,然后仅对最大的事实表执行增量处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 2023-01-25
    相关资源
    最近更新 更多