【问题标题】:M Power Query refer to DAX calculated table as a sourceM Power Query 以 DAX 计算表为源
【发布时间】:2020-05-19 03:30:24
【问题描述】:

是否可以从 Power Query (M) 引用 DAX 计算表?我想将 DAX 表作为电源查询的来源。

目的。我有在 DAX 中制作的分组表。我想用 R 制作计量经济学模型。所以我想用 R 转换 DAX 表以获取模型参数。我想在 DAX 度量中进一步使用这些参数(不仅仅是显示它们)。

目前我将 DAX 分组表转储到 Excel 文件,然后使用 Power Query 将其提取出来。

【问题讨论】:

    标签: powerbi dax powerquery m


    【解决方案1】:

    无法在 M 中引用 DAX 计算表,因为它在 M 完成转换后加载到 DAX/Power Pivot 引擎中。在加载到 R 之后,您也无法写入 DAX 表。您可以在 M 中进行分组,或者如果需要在 Power Query 中运行 R。我使用的一种方法是加载数据、复制查询、对新查询运行组/过滤器,然后在报告的后期使用该数据。

    希望有帮助

    【讨论】:

    • 在 DAX 计算表中,我在分组中使用了复杂的度量。 M显然不是为此而设计的。因此,我寻找转储 dax 表并将其加载到 M 的解决方法。重新创建源不是这里的情况。
    【解决方案2】:

    乔尼是正确的。这不可能。 DAX 计算表是在 M 个查询加载后计算的,如果不像当前所做的那样将它们保存在外部,则无法将它们反馈回 Power Query。

    M 语言比您想象的更强大,并且很可能可以执行相同的分组操作,尽管取决于它们是什么,这可能相当困难。如果您更熟悉这些,也可以在 M 查询中使用 R 或 Python 脚本。

    【讨论】:

      【解决方案3】:

      其实是有办法的。

      免责声明:这是一种黑客行为。你不应该依赖这种方式。

      1。创建 DAX 计算表

      Modeling > New Table中输入计算结果为表的任何 DAX 公式。

      2。使用 DAX Studio 检查端口号

      使用 DAX Studio 连接到您的 PBI Desktop 数据模型,并检查托管数据模型的端口号。它应该显示在窗口的右下方。

      3。将表导入 Power Query

      ​​>

      点击Get Data > Analysis Services并将地址(在我的示例中为“localhost:50293”)输入到Server。然后导航到您的 DAX 计算表。

      【讨论】:

      • 这是海盗登机!对 DAX 宝箱的浪漫、无礼掠夺。
      • 永远不要在你的工作中这样做;-)
      • 感谢您的警告。我会采取预防措施。除了不将表加载到 powerquery 之外,您认为可能还有其他风险吗?我就喜欢。我会彻底测试它。您是否遇到过这种解决方法的任何问题?
      • 您将立即面临的问题是每次启动 PBI 会话时端口号都会更改。此外,它可能会导致数据模型不一致。通过 Power Query 导入计算表时,会触发计算表重新计算。因此,导入的表指的是过去的影子(您会注意到,如果您在 DAX 表中包含非确定性函数,例如 RAND 或 NOW)。我不确定它可能有什么风险,但毕竟,除非你喜欢这种刺激,否则没有理由冒险。
      猜你喜欢
      • 1970-01-01
      • 2017-01-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多