基于数据表创建Power BI Web查询

时间:2017-09-12 15:48:32

标签: powerbi m powerbi-datasource

我正在使用Power BI Desktop来创建堆栈溢出API的Web查询。我想获取每个用户的堆栈溢出问题的数量,这些问题是从Power BI中预先填充的用户表中提取的。

所以我想要一些看起来像这样的东西:

预先填充的用户:

  • 6231494
  • 用户2
  • 用户3

StackOverflow问题:

  • 6231494:5
  • User2:12
  • User3:10

以下是我在高级编辑器中进行网络查询的当前代码:

val myTuples : List<Triple<String,String,String>> = listOf(
    Triple("A", "B", "C"), 
    Triple("D", "E", "F")
)
val myFirstElements: List<String> = myTuples.map { it.first } // ["A", "D"]

我基本上需要一种方法来设置当前硬编码ID(6231494)等于我预定义用户表中的ID列表

1 个答案:

答案 0 :(得分:1)

假设您有一个Users表,列ID为数字:

users

您可以对Questions查询进行一些更改,以将其转换为Power BI中的自定义函数:

(id as number) =>
let
    Source = Json.Document(Web.Contents("http://api.stackexchange.com/2.2/users/" & Text.From(id) & "/answers?order=desc&sort=activity&site=stackoverflow")),
    items = Source[items]
    ...
添加了

(id as number) =>以将查询转换为函数; 用户ID替换为Text.From(id)

我在这里将其重命名为GetQuestions,以明确它是一个功能:

get questions

然后,您可以添加自定义列以调用该函数:

add custom column 1

add custom column 2

add custom column 3

展开它,您将找到原始查询中的列:

result

您可以使用数据来获得所需的结果(例如问题数量)。