Power Query (M) 使用带有 API 的函数获取信息

Posted

技术标签:

【中文标题】Power Query (M) 使用带有 API 的函数获取信息【英文标题】:Power Query (M) Get info using a function with an API 【发布时间】:2021-12-09 13:19:36 【问题描述】:

作为新手,我有一个关于 Power Query (M) 的问题 我正在寻找一种从 API 结果中提取 samo 信息的方法。 对于初学者,我这样做: 我创建了一个查询来从任务中获取标题。

这很好用:

let
    Source = Web.Contents(@fxGetSource() & "/tasks/IEABCDQ7KQPO5DQ4",
    [Headers=[#"Authorization"=@fxGetHeader()]]),
    convertToJson = Json.Document(Source),
    data = convertToJson[data],
    ConvertedToTable = Table.FromList(data, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    ExpandedColumn1 = Table.ExpandRecordColumn(ConvertedToTable, "Column1", "title"),
    TheTitle = Table.TransformColumnTypes(ExpandedColumn1,"title", type text)
in
    TheTitle

我想让taskid放在一个变量中,所以我创建了一个函数:

(aTask as text) as text =>
let
    Source = Web.Contents(@fxGetSource() & "/tasks/" & aTask,
    [Headers=[#"Authorization"=@fxGetHeader()]]),
    convertToJson = Json.Document(Source),
    data = convertToJson[data],
    ConvertedToTable = Table.FromList(data, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    ExpandedColumn1 = Table.ExpandRecordColumn(ConvertedToTable, "Column1", "title"),
    TheTitle = Table.TransformColumnTypes(ExpandedColumn1,"title", type text)
in
    TheTitle

当我调用这个函数并使用上面的 taskid 时,我得到:

表达式错误:我们无法将 Table 类型的值转换为 Text 类型。

【问题讨论】:

我正在使用文本变量调用函数。 【参考方案1】:

改变

(aTask as text) as text =>

(aTask as text) as table =>

【讨论】:

谢谢,按要求工作。 然后请切换复选标记以将答案标记为已接受。它靠近上/下箭头

以上是关于Power Query (M) 使用带有 API 的函数获取信息的主要内容,如果未能解决你的问题,请参考以下文章

power query怎样设置M函数的字符区间

在 Power Bi 中使用 Power Query M 的上一周日期

power query中M函数和处理数据

使用 Power Query 迭代 Web API 页面

带有参数的 Power Query 无效列

使用“List.Zip”替换 Power Query / Power BI / M 代码中的多个列值