2017-09-12 21 views
1

Power BI Desktopを使用して、スタックオーバーフローAPIへのWebクエリを作成しています。私はPower BIのユーザーをあらかじめ用意されたテーブルから抽出した、各ユーザーのスタックオーバーフローに関する質問の数を取得したいと考えています。データテーブルに基づくPower BI Webクエリの作成

事前設定ユーザー:

は、だから私はこのようになります。何かしたい

  • User2の
  • ユーザー3

をStackOverflowの質問:

  • 6231494:5
  • ユーザー2:12
  • ユーザー3:10

ここでは、高度なエディタで私のWebクエリのための私の現在のコードです:

let 
Source = Json.Document(Web.Contents("http://api.stackexchange.com/2.2/users/6231494/answers?order=desc&sort=activity&site=stackoverflow")), 
items = Source[items], 
#"Converted to Table" = Table.FromList(items, Splitter.SplitByNothing(), null, null, ExtraValues.Error), 
#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"owner", "is_accepted", "score", "last_activity_date", "creation_date", "answer_id", "question_id"}, {"Column1.owner", "Column1.is_accepted", "Column1.score", "Column1.last_activity_date", "Column1.creation_date", "Column1.answer_id", "Column1.question_id"}), 
#"Expanded Column1.owner" = Table.ExpandRecordColumn(#"Expanded Column1", "Column1.owner", {"reputation", "user_id", "user_type", "profile_image", "display_name", "link"}, {"Column1.owner.reputation", "Column1.owner.user_id", "Column1.owner.user_type", "Column1.owner.profile_image", "Column1.owner.display_name", "Column1.owner.link"}) 
in 
#"Expanded Column1.owner" 

私は基本的な方法が必要です現在のハードコードされたID(6231494)を私の定義済みユーザーテーブルのIDのリストと等しく設定する

答えて

1

数として列IDとテーブル:

users

あなたがパワーBIでのカスタム関数にそれを回すためにあなたのQuestionsクエリにいくつかの変更を行うことができます。

(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

そして、あなたはあなたが望む結果を得るためにデータを操作することができます(例えば、質問の数)。

関連する問題