tl;博士
此错误消息的真正含义是什么?
与 Analysis Services 通信时出错。请验证数据源是否可用并且您的凭据是否正确。 DirectQuery 模型上的查询中不允许使用不合格的 MDX 成员名称。
我想创建一个 Power BI 分页报告,其中包含 22 列——20 个维度和两个度量。 将有 16 个可选参数和 3 个必需参数。
对于单个自定义报告,我通常会通过创建直接连接到数据库的数据源,通过编写 SQL 创建数据集,然后创建布局来完成此操作。 但对于应遵循可重复流程的报告要求,我认为最好从 Power BI 中已发布的精选语义模型开始。
我首先根据语义模型创建分页报告来创建该网站。 但我发现我无法控制报告的许多方面,包括无法添加参数。
在 Power BI Report Builder 中打开报表后,我添加了参数,创建了一些额外的数据集来提供一些参数等。
有一次,我采取了一些操作,导致报表生成器完全擦除了提供报表输出的主数据集,因此我使用查询设计器来开发查询逻辑 - 只需将 22 列拖到画布上,然后将字段拖到过滤区域并检查参数框。 报告逻辑没有任何复杂或定制的地方。 我如何让查询设计器生成无效的 MDX?
我正在使用应返回 139 行输出的参数测试报告。
尝试在 Power BI Report Builder(桌面应用程序)中运行报表。 没有关于无效 MDX 的消息。 该报告最终失败,并显示一条消息,指出我已超出 1,000,000 行限制。
尝试在 Power BI 服务上运行报告显示“正在检索 505 行”,然后产生此错误:
与 Analysis Services 通信时出错。请验证数据源是否可用并且您的凭据是否正确。 DirectQuery 模型上的查询中不允许使用不合格的 MDX 成员名称。
知道这是怎么回事吗?
为什么桌面应用程序在 1,000,000 行时失败,而我只要求 139 行?
为什么在线应用程序失败并显示有关无效 MDX 的消息?
您的模型处于 DQ 模式,因此您只能使用 DAX 而不能使用 MDX 来创建查询。 基于文档:
客户端限制:当模型处于 DirectQuery 模式时,它只能 使用DAX进行查询。您不能使用 MDX 创建查询。这 意味着您不能使用 Excel Pivot 客户端,因为 Excel 使用 MDX。
但是,您可以在 SQL 中针对 DirectQuery 模型创建查询 Server Management Studio 如果您使用 DAX 表查询作为 XMLA 执行语句。