チュートリアル:Power BI を Text Analytics Cognitive Service と統合するTutorial: Integrate Power BI with the Text Analytics Cognitive Service

Microsoft Power BI Desktop は、データへの接続、データの変換、およびデータの視覚化を実行できる無料のアプリケーションです。Microsoft Power BI Desktop is a free application that lets you connect to, transform, and visualize your data. Microsoft Azure Cognitive Services の一部である Text Analytics サービスは、自然言語処理を提供します。The Text Analytics service, part of Microsoft Azure Cognitive Services, provides natural language processing. それは、与えられた未加工の構造化されていないテキストから、最も重要なフレーズの抽出、感情の分析、およびブランドなどのよく知られているエンティティの識別を行うことができます。Given raw unstructured text, it can extract the most important phrases, analyze sentiment, and identify well-known entities such as brands. これらのツールを組み合わせることで、ユーザーが話している内容とそれに対する感情をすばやく確認できます。Together, these tools can help you quickly see what your customers are talking about and how they feel about it.

このチュートリアルで学習する内容は次のとおりです。In this tutorial, you'll learn how to:

  • Power BI Desktop を使用してデータをインポートして変換するUse Power BI Desktop to import and transform data
  • Power BI Desktop でカスタム関数を作成するCreate a custom function in Power BI Desktop
  • Power BI Desktop を Text Analytics Key Phrases API と統合するIntegrate Power BI Desktop with the Text Analytics Key Phrases API
  • Text Analytics Key Phrases API を使用して、ユーザーのフィードバックから最も重要なフレーズを抽出するUse the Text Analytics Key Phrases API to extract the most important phrases from customer feedback
  • ユーザーのフィードバックからワード クラウドを作成するCreate a word cloud from customer feedback

前提条件Prerequisites

ユーザーのデータを読み込むLoad customer data

開始するには、Power BI Desktop を開き、前提条件でダウンロードしたコンマ区切り (CSV) ファイルの FabrikamComments.csv を読み込みます。To get started, open Power BI Desktop and load the comma-separated value (CSV) file FabrikamComments.csv that you downloaded in Prerequisites. このファイルは、架空の小規模な会社のサポート フォーラムの 1 日分の仮想的なアクティビティを表しています。This file represents a day's worth of hypothetical activity in a fictional small company's support forum.

注意

Power BI では、Facebook や SQL Database など、さまざまなソースのデータを使用できます。Power BI can use data from a wide variety of sources, such as Facebook or a SQL database. Facebook と Power BI の統合SQL Server と Power BI の統合に関するページを参照してください。Learn more at Facebook integration with Power BI and SQL Server integration with Power BI.

Power BI Desktop のメイン ウィンドウで、 [ホーム] リボンを選択します。In the main Power BI Desktop window, select the Home ribbon. リボンの [外部データ] グループで、 [データの取得] ドロップダウン メニューを開き、 [テキスト/CSV] を選択します。In the External data group of the ribbon, open the Get Data drop-down menu and select Text/CSV.

[[データの取得] ボタン]

[開く] ダイアログが表示されます。The Open dialog appears. [ダウンロード] フォルダーまたは FabrikamComments.csv ファイルをダウンロードしたフォルダーに移動します。Navigate to your Downloads folder, or to the folder where you downloaded the FabrikamComments.csv file. FabrikamComments.csv をクリックし、 [開く] ボタンをクリックします。Click FabrikamComments.csv, then the Open button. CSV のインポート ダイアログが表示されます。The CSV import dialog appears.

[[CSV のインポート] ダイアログ]

[CSV インポート] ダイアログでは、Power BI Desktop で文字セット、区切り文字、ヘッダー行、および列の種類が正しく検出されたことを確認できます。The CSV import dialog lets you verify that Power BI Desktop has correctly detected the character set, delimiter, header rows, and column types. この情報はすべて正しいので、 [読み込み] をクリックします。This information is all correct, so click Load.

読み込まれたデータを表示するには、Power BI ワークスペースの左端にある [データ ビュー] ボタンをクリックします。To see the loaded data, click the Data View button on the left edge of the Power BI workspace. データを含むテーブル (Microsoft Excel に似ています) が開きます。A table opens that contains the data, like in Microsoft Excel.

[インポートされたデータの最初のビュー]

データを準備するPrepare the data

必要に応じて Power BI Desktop でデータを変換して、Text Analytics サービスの Key Phrases API で処理する準備を整えます。You may need to transform your data in Power BI Desktop before it's ready to be processed by the Key Phrases API of the Text Analytics service.

サンプル データには、subject 列と comment 列が含まれています。The sample data contains a subject column and a comment column. Power BI Desktop で列のマージ関数を使用して、comment 列だけではなく、両方の列のデータからキー フレーズを抽出できます。With the Merge Columns function in Power BI Desktop, you can extract key phrases from the data in both these columns, rather than just the comment column.

Power BI Desktop で、 [ホーム] リボンを選択します。In Power BI Desktop, select the Home ribbon. [外部データ] グループで、 [クエリの編集] をクリックします。In the External data group, click Edit Queries.

[[ホーム] リボンの [外部データ] グループ]

ウィンドウの左側にある [クエリ] の一覧で FabrikamComments がまだ選択されていない場合は選択します。Select FabrikamComments in the Queries list at the left side of the window if it isn't already selected.

次に、テーブル内の subject 列と comment 列の両方を選択します。Now select both the subject and comment columns in the table. これらの列を表示するには、必要に応じて横にスクロールします。You may need to scroll horizontally to see these columns. まず subject 列ヘッダーをクリックし、Ctrl キーを押しながら comment 列ヘッダーをクリックします。First click the subject column header, then hold down the Control key and click the comment column header.

[マージするフィールドを選択する]

[変換] リボンを選択します。Select the Transform ribbon. リボンの [テキスト列] グループで、 [列のマージ] をクリックします。In the Text Columns group of the ribbon, click Merge Columns. [列のマージ] ダイアログが表示されます。The Merge Columns dialog appears.

[[列のマージ] ダイアログを使用してフィールドをマージする]

[列のマージ] ダイアログで区切りとして Tab を選択してから [OK] をクリックします。In the Merge Columns dialog, choose Tab as the separator, then click OK.

[空の削除] フィルターを使用して空白のメッセージを除外したり、[Clean transformation](変換のクリア) を使用して印刷できない文字を削除したりすることもできます。You might also consider filtering out blank messages using the Remove Empty filter, or removing unprintable characters using the Clean transformation. サンプル ファイルの spamscore 列のような列がデータに含まれている場合は、[数値フィルター] を使用して "スパム" コメントをスキップできます。If your data contains a column like the spamscore column in the sample file, you can skip "spam" comments using a Number Filter.

API を理解するUnderstand the API

Text Analytics サービスの Key Phrases API は、HTTP 要求ごとに最大 1,000 個のテキスト ドキュメントを処理できます。The Key Phrases API of the Text Analytics service can process up to a thousand text documents per HTTP request. Power BI では一度に 1 レコードずつ処理する方が好まれるため、このチュートリアルでは、API の各呼び出しには 1 つのドキュメントのみが含まれます。Power BI prefers to deal with records one at a time, so in this tutorial your calls to the API will include only a single document each. Key Phrases API では、処理されるドキュメントごとに次のフィールドが必要です。The Key Phrases API requires the following fields for each document being processed.

フィールドField 説明Description
id 要求内のこのドキュメントの一意の識別子。A unique identifier for this document within the request. 応答にもこのフィールドが含まれます。The response also contains this field. そのため、複数のドキュメントを処理する場合、抽出されたキー フレーズを元のドキュメントと簡単に関連付けることができます。That way, if you process more than one document, you can easily associate the extracted key phrases with the document they came from. このチュートリアルでは、要求ごとに 1 つのドキュメントのみを処理するため、各要求の id 値が同じになるようにハード コーディングできます。In this tutorial, because you're processing only one document per request, you can hard-code the value of id to be the same for each request.
text 処理されるテキスト。The text to be processed. このフィールドの値は、前のセクションで作成した Merged 列に基づきます。それには、結合された subject の行と comment のテキストが含まれています。The value of this field comes from the Merged column you created in the previous section, which contains the combined subject line and comment text. Key Phrases API では、このデータの文字数の上限は約 5,120 文字です。The Key Phrases API requires this data be no longer than about 5,120 characters.
language ドキュメントの記述に使用されている自然言語を表すコード。The code for the natural language the document is written in. サンプル データのすべてのメッセージは英語で記述されているため、このフィールドの値である en はハード コーディングできます。All the messages in the sample data are in English, so you can hard-code the value en for this field.

カスタム関数を作成するCreate a custom function

これで、Power BI と Text Analytics を統合するカスタム関数を作成する準備が整いました。Now you're ready to create the custom function that will integrate Power BI and Text Analytics. この関数は、処理されるテキストをパラメーターとして受け取ります。The function receives the text to be processed as a parameter. 必要な JSON 形式との間でデータを変換し、Key Phrases API エンドポイントへの HTTP 要求を行います。It converts data to and from the required JSON format and makes the HTTP request to the Key Phrases API. その後、関数は、API からの応答を解析し、抽出されたキー フレーズのコンマ区切りの一覧を含む文字列を返します。The function then parses the response from the API and returns a string that contains a comma-separated list of the extracted key phrases.

注意

Power BI Desktop のカスタム関数は、Power Query M 式言語、または省略形の "M" と書かれます。Power BI Desktop custom functions are written in the Power Query M formula language, or just "M" for short. M は、F# に基づく関数型プログラミング言語です。M is a functional programming language based on F#. ただし、このチュートリアルを完了するためにプログラマーである必要はありません。必要なコードは以下に含まれています。You don't need to be a programmer to finish this tutorial, though; the required code is included below.

Power BI Desktop で、クエリ エディター ウィンドウにいることを確認します。In Power BI Desktop, make sure you're still in the Query Editor window. そうでない場合は、 [ホーム] リボンを選択し、 [外部データ] グループの [クエリの編集] をクリックします。If you aren't, select the Home ribbon, and in the External data group, click Edit Queries.

次に、 [ホーム] リボンの [新しいクエリ] グループで、 [新しいソース] ドロップダウン メニューを開き、 [空のクエリ] を選択します。Now, in the Home ribbon, in the New Query group, open the New Source drop-down menu and select Blank Query.

[クエリ] リストに新しいクエリが表示されます。最初は Query1 という名前が付けられます。A new query, initially named Query1, appears in the Queries list. このエントリをダブルクリックし、KeyPhrases と名前を付けます。Double-click this entry and name it KeyPhrases.

[ホーム] リボンの [クエリ] グループで [詳細エディター] をクリックして、[詳細エディター] ウィンドウを開きます。Now, in the Home ribbon, in the Query group, click Advanced Editor to open the Advanced Editor window. そのウィンドウに既にあるコードを削除し、次のコードに貼り付けます。Delete the code that's already in that window and paste in the following code.

注意

次の例のエンドポイント (<your-custom-subdomain> を含む) を Text Analytics リソース用に生成されたエンドポイントに置き換えます。Replace the example endpoint below (containing <your-custom-subdomain>) with the endpoint generated for your Text Analytics resource. このエンドポイントは、Azure portal にサインインし、Text Analytics サブスクリプションを選択し、Quick start を選択することで確認できます。You can find this endpoint by signing in to the Azure portal, selecting your Text Analytics subscription, and selecting Quick start.

// Returns key phrases from the text in a comma-separated list
(text) => let
    apikey      = "YOUR_API_KEY_HERE",
    endpoint    = "https://<your-custom-subdomain>.cognitiveservices.azure.com/text/analytics" & "/v3.0/keyPhrases",
    jsontext    = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(text), 5000))),
    jsonbody    = "{ documents: [ { language: ""en"", id: ""0"", text: " & jsontext & " } ] }",
    bytesbody   = Text.ToBinary(jsonbody),
    headers     = [#"Ocp-Apim-Subscription-Key" = apikey],
    bytesresp   = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
    jsonresp    = Json.Document(bytesresp),
    keyphrases  = Text.Lower(Text.Combine(jsonresp[documents]{0}[keyPhrases], ", "))
in  keyphrases

YOUR_API_KEY_HERE を自分の Text Analytics アクセス キーに置き換えます。Replace YOUR_API_KEY_HERE with your Text Analytics access key. このキーも、Azure portal にサインインし、Text Analytics サブスクリプションを選択し、[概要] ページを選択することで確認できます。You can also find this key by signing in to the Azure portal, selecting your Text Analytics subscription, and selecting the Overview page. キーの前後には必ず引用符を入れてください。Be sure to leave the quotation marks before and after the key. 次に、 [完了] をクリックします。Then click Done.

カスタム関数を使用するUse the custom function

これで、カスタム関数を使用して、ユーザーの各コメントに含まれるキー フレーズを抽出し、それらをテーブルの新しい列に格納できるようになりました。Now you can use the custom function to extract the key phrases from each of the customer comments and store them in a new column in the table.

Power BI Desktop のクエリ エディター ウィンドウで、FabrikamComments クエリに切り替えて戻ります。In Power BI Desktop, in the Query Editor window, switch back to the FabrikamComments query. [列の追加] リボンを選択します。Select the Add Column ribbon. [全般] グループで、 [カスタム関数の呼び出し] をクリックします。In the General group, click Invoke Custom Function.

[[カスタム関数の呼び出し] ボタン]

[カスタム関数の呼び出し] ダイアログが表示されます。The Invoke Custom Function dialog appears. [新しい列名] に、「keyphrases」と入力します。In New column name, enter keyphrases. [関数クエリ] で、作成したカスタム関数 KeyPhrases を選択します。In Function query, select the custom function you created, KeyPhrases.

新しいフィールドの [テキスト (省略可)] がダイアログに表示されます。A new field appears in the dialog, text (optional). このフィールドには、Key Phrases API の text パラメーターの値を指定するために使用する列を指定しますThis field is asking which column we want to use to provide values for the text parameter of the Key Phrases API. (language パラメーターと id パラメーターの値は既にハードコーディングしていることを思い出してください)。ドロップダウン メニューから Merged (先ほど subject フィールドと message フィールドをマージして作成した列) を選択します。(Remember that you already hard-coded the values for the language and id parameters.) Select Merged (the column you created previously by merging the subject and message fields) from the drop-down menu.

[カスタム関数を呼び出す]

最後に [OK] をクリックします。Finally, click OK.

すべての準備が整っていれば、Power BI は、テーブルの行ごとにカスタム関数を 1 回呼び出します。If everything is ready, Power BI calls your custom function once for each row in the table. それは、Key Phrases API にクエリを送信し、結果を格納するための新しい列をテーブルに追加します。It sends the queries to the Key Phrases API and adds a new column to the table to store the results. ただし、その処理が実行される前に、必要に応じて認証とプライバシーの設定を指定します。But before that happens, you may need to specify authentication and privacy settings.

認証とプライバシーAuthentication and privacy

[カスタム関数の呼び出し] ダイアログを閉じると、Key Phrases API に接続する方法を指定するように求めるバナーが表示されることがあります。After you close the Invoke Custom Function dialog, a banner may appear asking you to specify how to connect to the Key Phrases API.

[資格情報のバナー]

[資格情報の編集] ダイアログで Anonymous が選択されていることを確認し、 [接続] をクリックします。Click Edit Credentials, make sure Anonymous is selected in the dialog, then click Connect.

注意

Anonymous を選択する理由は、Text Analytics サービスがアクセス キーを使用してユーザーを認証するので、Power BI では HTTP 要求自体の資格情報を指定する必要がないためです。You select Anonymous because the Text Analytics service authenticates you using your access key, so Power BI does not need to provide credentials for the HTTP request itself.

[認証を匿名に設定する][setting authentication to anonymous]

匿名アクセスを選択した後も [資格情報の編集] バナーが表示される場合は、Text Analytics のアクセス キーを KeyPhrases カスタム関数内に貼り付けるのを忘れている可能性があります。If you see the Edit Credentials banner even after choosing anonymous access, you may have forgotten to paste your Text Analytics access key into the code in the KeyPhrases custom function.

次に、データ ソースのプライバシーに関する情報の入力を求めるバナーが表示されることがあります。Next, a banner may appear asking you to provide information about your data sources' privacy.

[プライバシー バナー]

[続行] をクリックし、ダイアログ内の各データ ソースに対して Public を選択します。Click Continue and choose Public for each of the data sources in the dialog. [保存] をクリックします。Then click Save.

[データ ソースのプライバシーを設定する]

ワード クラウドを作成するCreate the word cloud

表示されるバナーを処理したら、[ホーム] リボンの [Close & Apply](閉じて適用) をクリックしてクエリ エディターを閉じます。Once you have dealt with any banners that appear, click Close & Apply in the Home ribbon to close the Query Editor.

Power BI Desktop で必要な HTTP 要求の実行が完了するまで少し待ちます。Power BI Desktop takes a moment to make the necessary HTTP requests. テーブルの各行の新しい keyphrases 列には、Key Phrases API によって検出されたテキストのキー フレーズが含まれています。For each row in the table, the new keyphrases column contains the key phrases detected in the text by the Key Phrases API.

次に、この列を使用してワード クラウドを生成します。Now you'll use this column to generate a word cloud. まず、ワークスペースの左側にある Power BI Desktop のメイン ウィンドウの [レポート] ボタンをクリックします。To get started, click the Report button in the main Power BI Desktop window, to the left of the workspace.

注意

すべてのコメントの全文ではなく、抽出されたキー フレーズを使用してワード クラウドを生成する理由は、Why use extracted key phrases to generate a word cloud, rather than the full text of every comment? キー フレーズで、ユーザーのコメントから 最も一般的な 単語だけでなく 重要な 単語が提供されるためです。The key phrases provide us with the important words from our customer comments, not just the most common words. また、比較的少数のコメントで 1 つの単語が頻繁に使用されることで、結果として得られるクラウドの単語のサイズ指定が偏ることはありません。Also, word sizing in the resulting cloud isn't skewed by the frequent use of a word in a relatively small number of comments.

Word Cloud カスタム ビジュアルをまだインストールしていない場合は、インストールします。If you don't already have the Word Cloud custom visual installed, install it. ワークスペースの右側にある [視覚化] パネルで、3 つのドット ( [...] ) をクリックし、 [Import From Market](マーケットからインポート) を選択します。In the Visualizations panel to the right of the workspace, click the three dots (...) and choose Import From Market. 一覧に表示されている視覚化ツールの中に "cloud" という単語が存在しない場合は、"cloud" を検索して、Word Cloud のビジュアルの横にある [追加] ボタンをクリックします。If the word "cloud" is not among the displayed visualization tools in the list, you can search for "cloud" and click the Add button next the Word Cloud visual. Power BI に Word Cloud ビジュアルがインストールされると、正常にインストールされたことが通知されます。Power BI installs the Word Cloud visual and lets you know that it installed successfully.

[カスタム ビジュアルの追加]

まず [視覚化] パネルの Word Cloud アイコンをクリックします。First, click the Word Cloud icon in the Visualizations panel.

[[視覚化] パネルの Word Cloud アイコン]

ワークスペースに新しいレポートが表示されます。A new report appears in the workspace. [フィールド] パネルの [keyphrases] フィールドを [視覚化] パネルの [カテゴリ] フィールドにドラッグします。Drag the keyphrases field from the Fields panel to the Category field in the Visualizations panel. レポート内にワード クラウドが表示されます。The word cloud appears inside the report.

次に [視覚化] パネルの [書式設定] ページに切り替えます。Now switch to the Format page of the Visualizations panel. クラウドから短い一般的な単語 ("of" など) を除外するには、[ストップ ワード] カテゴリで [既定のストップ ワード] を有効にします。In the Stop Words category, turn on Default Stop Words to eliminate short, common words like "of" from the cloud. ただし、視覚化しているのはキー フレーズであるため、ストップ ワードが含まれていない可能性があります。However, because we're visualizing key phrases, they might not contain stop words.

[既定のストップ ワードを有効にする]

このパネルをもう少し下にスクロールし、 [テキストの回転][タイトル] をオフにします。Down a little further in this panel, turn off Rotate Text and Title.

[アクティブなフォーカス モード]

レポートのフォーカス モード ツールをクリックすると、ワード クラウドの詳細が表示されます。Click the Focus Mode tool in the report to get a better look at our word cloud. ツールでワード クラウドが展開され、図のようにワークスペース全体に表示されます。The tool expands the word cloud to fill the entire workspace, as shown below.

[ワード クラウド]

その他の Text Analytics サービスMore Text Analytics services

Microsoft Azure で提供されている Cognitive Services の 1 つである Text Analytics サービスには、感情分析機能と言語検出機能もあります。The Text Analytics service, one of the Cognitive Services offered by Microsoft Azure, also provides sentiment analysis and language detection. 言語検出機能は、ユーザーのフィードバックがすべて英語ではない場合に特に役立ちます。The language detection in particular is useful if your customer feedback isn't all in English.

これらの API は、両方とも Key Phrases API に似ています。Both of these other APIs are similar to the Key Phrases API. つまり、このチュートリアルで作成したものとほぼ同じカスタム関数を使用して、それらを Power BI Desktop に統合できます。That means you can integrate them with Power BI Desktop using custom functions that are nearly identical to the one you created in this tutorial. 空のクエリを作成して、先ほどと同じように以下の適切なコードを詳細エディターに貼り付けますJust create a blank query and paste the appropriate code below into the Advanced Editor, as you did earlier. (アクセス キーを忘れないでください)。前回と同様に、関数を使用してテーブルに新しい列を追加します。(Don't forget your access key!) Then, as before, use the function to add a new column to the table.

以下の感情分析機能では、テキストに示されている感情がどの程度肯定的かを示すスコアが返されます。The Sentiment Analysis function below returns a score indicating how positive the sentiment expressed in the text is.

// Returns the sentiment score of the text, from 0.0 (least favorable) to 1.0 (most favorable)
(text) => let
    apikey      = "YOUR_API_KEY_HERE",
    endpoint    = "https://<your-custom-subdomain>.cognitiveservices.azure.com" & "/text/analytics/v3.0/sentiment",
    jsontext    = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(text), 5000))),
    jsonbody    = "{ documents: [ { language: ""en"", id: ""0"", text: " & jsontext & " } ] }",
    bytesbody   = Text.ToBinary(jsonbody),
    headers     = [#"Ocp-Apim-Subscription-Key" = apikey],
    bytesresp   = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
    jsonresp    = Json.Document(bytesresp),
    sentiment   = jsonresp[documents]{0}[detectedLanguage][confidenceScore] in  sentiment

言語検出機能には 2 つのバージョンがあります。Here are two versions of a Language Detection function. 1 つ目では ISO 言語コードが返されます (例: 英語の場合は en)。一方、2 つ目では "わかりやすい" 名前 (たとえば English) が返されます。The first returns the ISO language code (for example, en for English), while the second returns the "friendly" name (for example, English). ご覧のように、2 つのバージョンは本文の最後の行のみが異なります。You may notice that only the last line of the body differs between the two versions.

// Returns the two-letter language code (for example, 'en' for English) of the text
(text) => let
    apikey      = "YOUR_API_KEY_HERE",
    endpoint    = "https://<your-custom-subdomain>.cognitiveservices.azure.com" & "/text/analytics/v3.0/languages",
    jsontext    = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(text), 5000))),
    jsonbody    = "{ documents: [ { id: ""0"", text: " & jsontext & " } ] }",
    bytesbody   = Text.ToBinary(jsonbody),
    headers     = [#"Ocp-Apim-Subscription-Key" = apikey],
    bytesresp   = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
    jsonresp    = Json.Document(bytesresp),
    language    = jsonresp [documents]{0}[detectedLanguage] [iso6391Name] in language 
// Returns the name (for example, 'English') of the language in which the text is written
(text) => let
    apikey      = "YOUR_API_KEY_HERE",
    endpoint    = "https://<your-custom-subdomain>.cognitiveservices.azure.com" & "/text/analytics/v3.0/languages",
    jsontext    = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(text), 5000))),
    jsonbody    = "{ documents: [ { id: ""0"", text: " & jsontext & " } ] }",
    bytesbody   = Text.ToBinary(jsonbody),
    headers     = [#"Ocp-Apim-Subscription-Key" = apikey],
    bytesresp   = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
    jsonresp    = Json.Document(bytesresp),
    language    jsonresp [documents]{0}[detectedLanguage] [iso6391Name] in language 

最後に、前述の Key Phrases 関数を、コンマで区切られたフレーズの単一の文字列ではなく、フレーズをリスト オブジェクトとして返すように変更した関数を次に示します。Finally, here's a variant of the Key Phrases function already presented that returns the phrases as a list object, rather than as a single string of comma-separated phrases.

注意

単一の文字列を返すことで、ワード クラウドの例が簡単になりました。Returning a single string simplified our word cloud example. 一方、リストは、Power BI で返されたフレーズを処理する場合により柔軟な形式です。A list, on the other hand, is a more flexible format for working with the returned phrases in Power BI. クエリ エディターの [変換] リボンの [構造化列] グループを使用して、Power BI Desktop のリスト オブジェクトを操作できます。You can manipulate list objects in Power BI Desktop using the Structured Column group in the Query Editor's Transform ribbon.

// Returns key phrases from the text as a list object
(text) => let
    apikey      = "YOUR_API_KEY_HERE",
    endpoint    = "https://<your-custom-subdomain>.cognitiveservices.azure.com" & "/text/analytics/v3.0/keyPhrases",
    jsontext    = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(text), 5000))),
    jsonbody    = "{ documents: [ { language: ""en"", id: ""0"", text: " & jsontext & " } ] }",
    bytesbody   = Text.ToBinary(jsonbody),
    headers     = [#"Ocp-Apim-Subscription-Key" = apikey],
    bytesresp   = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
    jsonresp    = Json.Document(bytesresp),
    keyphrases  = jsonresp[documents]{0}[keyPhrases]
in  keyphrases

次のステップNext steps

Text Analytics サービス、Power Query M 式言語、または Power BI の詳細について学習します。Learn more about the Text Analytics service, the Power Query M formula language, or Power BI.