我有一个SSAS表格立方体,我每天都会刷新它。它很大,而且对于某些用例来说效率不高。我想创建一个包含过滤数据的子多维数据集,并将其部署为单独的多维数据集。我怎么发动汽车呢?
我的一个想法是使用MDX提取一个子多维数据集,并将其存储在一个新的多维数据集中(并在SSIS包中实现自动化)。有可能吗?有人能解释一下怎么做吗?
发布于 2020-05-29 00:45:28
好的,这是一个棘手的问题。多维数据集实际上并不是为了让你可以从另一个子集创建一个子集而设计的。我的意思是,你可以这样做,但这不是他们在那里的目的。您只需创建一些DAX或MDX查询,它们会提供您需要的数据,或者您也可以使用M查询语言来获取数据。
如果您想使用DAX,可以使用SSIS Analysis Services Connector并执行SQL -task来实现此目的。如果您没有使用DAX的经验,可以使用Excel等工具将数据导入Power Pivot表。在这里,您可以拖放所需的字段,然后使用SQL Profiler获取带下划线的DAX查询(设置pofiler会话,然后在Excel中单击刷新以获取查询)。
对于M查询,最好使用Excel或Power BI Desktop及其Power Query编辑器来设计输出,然后复制编辑器所做的M查询。然后,您可以使用查询和SSIS Power Query Source来获取数据。
如果使用的是企业版SQL Server,则可以考虑使用分区来加快多维数据集的处理速度。
另一种方法是将数据量限制为二级多维数据集(仅限当前季度/一个国家/一个部门/等等)。我是one cube one data area -type设计的粉丝。因此,我仍然建议您复制当前多维数据集项目的副本/多个副本,并使它们更特定于某个特定领域(例如,在finance-cube中,我们可能不需要HR数据)。
https://stackoverflow.com/questions/61843349
复制相似问题