このサンプルでは、Visual Studio Code で実行し、Power BI Desktop に読み込むことができる単純なデータ ソース拡張機能を提供します。
Hello World サンプル
概要として、このサンプルは次を示しています。
- オプションのテキスト パラメーターを受け取る関数 (
HelloWorld.Contents) をエクスポートします。 - 次のようなデータ ソースの種類を定義します。
- 暗黙的 (匿名) 認証を使用することを宣言します。
- ローカライズを可能にする文字列リソースを使用します。
- 拡張機能が Power BI Desktop の [データの取得] ダイアログに表示されるように UI メタデータを宣言する。
PowerQuery SDK のインストールの手順に従って、"HelloWorld" という名前の新しいコネクタを作成し、次の M コードをコピーしてコネクタ ワークスペースの HelloWorld.pq ファイルに貼り付け、残りの手順に従って Power BI で開きます。
以下のコネクタ定義には次のものがあります。
-
sectionステートメント。 - Kind
HelloWorldと PublishHelloWorld.Publishを使用してデータ ソース定義としてそれを確立するメタデータを含むデータ ソース関数。 - 暗黙的 (匿名) がこのソースの唯一の認証の種類であることを宣言する
Authenticationレコード。 - この接続がベータ版であることを宣言する発行レコード、resx ファイルから読み込むテキスト、ソース イメージ、およびソースの種類のイメージ。
- ビルド フォルダー内の特定の PNG にアイコン サイズを関連付けするレコード。
section HelloWorld;
[DataSource.Kind="HelloWorld", Publish="HelloWorld.Publish"]
shared HelloWorld.Contents = (optional message as text) =>
let
message = if (message <> null) then message else "Hello world"
in
message;
HelloWorld = [
Authentication = [
Implicit = []
],
Label = Extension.LoadString("DataSourceLabel")
];
HelloWorld.Publish = [
Beta = true,
ButtonText = { Extension.LoadString("FormulaTitle"), Extension.LoadString("FormulaHelp") },
SourceImage = HelloWorld.Icons,
SourceTypeImage = HelloWorld.Icons
];
HelloWorld.Icons = [
Icon16 = { Extension.Contents("HelloWorld16.png"), Extension.Contents("HelloWorld20.png"), Extension.Contents("HelloWorld24.png"), Extension.Contents("HelloWorld32.png") },
Icon32 = { Extension.Contents("HelloWorld32.png"), Extension.Contents("HelloWorld40.png"), Extension.Contents("HelloWorld48.png"), Extension.Contents("HelloWorld64.png") }
];
ファイルをビルドして正しいディレクトリにコピーしたら、「 PowerQuery SDK のインストール 」チュートリアルの手順に従って、Power BI を開きます。 "hello" を検索して、[ データの取得 ] ダイアログでコネクタを見つけることができます。
この手順では、認証ダイアログが表示されます。 認証オプションがなく、関数はパラメーターを受け取らないので、これらのダイアログにはそれ以上の手順はありません。
クエリでが true に設定されているため、Betaを押すと、ダイアログに "プレビュー コネクタ" であることが示されます。 認証がないため、認証画面にはフィールドのない匿名認証のタブが表示されます。 もう一度 Connect キーを押して完了します。
最後に、クエリ エディターが表示され、"Hello world" というテキストを返す関数が期待どおりに表示されます。
完全に実装されたサンプルについては、Data Connectors サンプル リポジトリの Hello World サンプル を参照してください。