首页 > 解决方案 > 在线存储 Power Query 自定义函数(Github 等)并调用它

问题描述

主要问题:

我创建了我经常使用的各种自定义函数。我想将它们存储在某个存储库中,并在必要时调用它们。我知道我可以将所有这些函数保存在 Excel 文件中并将其保存在 OneDrive 中。但我想把它们保存在我可以编辑和分享的地方,比如 GitHub。

最后,如果可能的话,我们可以创建一个私有存储库吗?如果我想私下共享我的一些功能,我可以使用密码保护/锁定它们吗?

有用的资源:

理解以下内容可能有助于回答这个问题。

资源 1:

PowerQuery 中调用#shared了一个函数,它列出了所有可用的函数及其各自的描述。您可以在以下帖子中了解更多信息。

我认为了解此功能(#shared)如何工作以及从何处提取此信息将有助于回答我上面的主要问题。基本上,我怎样才能为我的自定义函数制作这样的东西?

资源 2:

这个问题的一个可能帮助是Hugoberry 在 Github中的一个现有存储库。

笔记:

  1. 我不是编码员,但我很擅长阅读/理解代码。
  2. 我对 Github 不是很清楚。

编辑1:

对于那些正在寻找这个问题的答案的人,Nacho 提供的答案可用于创建一个带有手动输入(文本/数字)输入的函数。

不适用于引用表/参数的函数。

标签: excelpowerbipowerquerym

解决方案


在走了很长一段路之后,我解决了它。以下是执行此操作的步骤:

  1. 首先像这个例子一样用记事本创建一个 .pq 文件并将其推送到 GitHub:
let
    TextAsNumber = (valor as number)  => 
        let
            Mostra = "The number is: " & Text.From(valor)
        in

    Mostra
in
    TextAsNumber
  1. 然后转到github中的文件并点击“Raw”
    GitHub - 原始

  2. 复制网址。打开 Power Bi Desktop 编辑查询。从空白查询中获取数据并粘贴:

= Expression.Evaluate(Text.FromBinary(Web.Contents("https://raw.githubusercontent.com/ibarrau/PowerBi-code/master/PowerQuery/PQFun.pq")),#shared)
  1. 该代码将从存储库中为您创建函数。

注意:同样的事情也可以用本地路径做,只需在“内容”上用文件替换 Web。像这样:

= Expression.Evaluate(Text.FromBinary(File.Contents("C:\Users\username\Documents\Folder\Sub-Folder\PQFun.pq")),#shared)

希望这可以帮助您更好地管理自定义函数存储库。

PS:我不确定你是否能够在服务中刷新。


推荐阅读