我可以针对Power BI运行自己的DAX或MDX查询吗?

Teu*_*n D 4 mdx dax powerbi

我在Power BI桌面上有一个数据模型.我想将它发布到服务器,但我也想让内部报告针对它运行MDX(或DAX)查询.这可能吗?我可以创建连接字符串并连接到Power BI,就像SSAS Cube一样吗?也许使用REST API?

编辑:谢谢你的回答.凯尔给了我最好的答案,所以我接受了他,但你们所有人都让我明白我最好只使用SSAS.这就是我所做的,有一些麻烦看到HTTP桥,但它现在就像一个魅力.

Kyl*_*ale 6

从字面意义上讲,它实际上是可能的 - 每次运行PowerBI时,它都会创建一个SSAS Tabular的幕后实例,您可以将其连接到并运行查询.显然这不是微软直接支持的,但是我保留这些步骤以防其他人想知道如何:

  1. 导航 %user%/AppData/Local/Temp/Power BI Desktop
  2. 打开PowerBI桌面型号
  3. 一个新文件夹将出现在temp文件夹中,里面是一个名为AnalysisServicesWorkspace1111111111的文件夹(结尾处的数字是随机的)
  4. 在该文件夹中是一个文件msmdsrv.port.txt,其中包含运行SSAS表格模型的端口号(portnum)
  5. 您可以打开SSMS并连接到Analysis Services服务器localhost:portnum
  6. 您可以通过SSMS或工作区文件夹中的GUID文件夹的名称找到特定的数据库实例(它将类似于"33df46dd-8c77-46eb-bf01-8d545f626723.0.db")
  7. 或者您可以将其用作SSAS连接字符串中的服务器/目录,即

Provider=MSOLAP.5;Integrated Security=SSPI;Persist Security Info=True;
Initial Catalog=databasename;Data Source=localhost:portnum;
MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error
Run Code Online (Sandbox Code Playgroud)

此外,对于开发人员来说,*.db文件夹是包含所有PowerBI模型元数据的SQLite数据库,您可以通过代码对其进行修改,只要您在UI中执行一些微不足道的操作(例如选择添加计算),它就会保持不变列然后单击.