从多维数据集中获取数据以用于sql查询而不首先加载它?

voase2hg  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(320)

我的公司使用sql server analysis services,我只有基本的用户访问权限。
我需要的数据只在多维数据集中可用,因为它是从不同的来源编译的。全部内容是30m行,因此在powerquery或powerpivot中预加载是不可行的。
我只想让它与一些sql查询交互并提取必要的数据,但是我不知道如何在不预先加载所有数据的情况下获取它。
有没有人能给我指出正确的方向,告诉我应该做些什么来完成我所需要的?
请用外行的话帮助我,因为我是个新手,还在学习。

gijlo24d

gijlo24d1#

您可以从多维数据集获取数据,但不能使用sql。dax或mdx(取决于立方体模型类型)将帮助您。除非您只能使用sql来执行openquery(),并在其中包含dax或mdx,但您需要在之前配置链接服务器。
如果您需要vba:下面的示例适用于表格模型(dax)
若要测试示例代码,请将连接多维数据集的透视表添加到excel工作表中,并选择此表的任何单元格

Set CurrentPivotTable = ActiveCell.PivotTable

Set ADOCon = CurrentPivotTable.PivotCache.ADOConnection

DAXQuery = "EVALUATE ROW(""ExampleColumn"",""Hello from query!"")"

Set RecSet = ADOCon.Execute(DAXQuery)

While Not RecSet.EOF
    Debug.Print RecSet![[ExampleColumn]]

    RecSet.MoveNext
Wend

您还可以在powerquery中使用dax和mdx从多维数据集中选择过滤后的数据。

相关问题