LoginSignup
10
6

More than 1 year has passed since last update.

Mから始めよう #5 〜Power BIでWebコンテンツの利用と個人用ゲートウェイ〜

Last updated at Posted at 2021-05-26

Power BI Desktop でWebデータを使うには

 Power BI Desktop でWebページを読み込むには、Power Query エディターを開いて、新しいデータソースでWebを選択し、URLを入力します。
image.png

 これを、詳細エディターを開いてM式のソースの部分では以下のようになっています。

ソース = Web.BrowserContents("https://ja.wikipedia.org/wiki/%E4%B9%83%E6%9C%A8%E5%9D%8246"),

 これで作成したものを、普通にPower BIサービスに発行して設定画面を見ると、ゲートウェイ接続がオンになっており、オフにすることはできません。

image.png

 まだ個人用ゲートウェイがインストールされていないので、更新をかけようとすると、エラーとなってしまいます。

image.png

 個人用ゲートウェイをインストールし、Power BIサービスで更新ができるようになった後も、インストールしたPCが立ち上がっていなければ更新ができません。自動更新をさせるには、更新時に該当PCが稼働していないとできないのです。

image.png

 ブラウザー機能を使うWebデータの取得には、セキュリティ上の問題が発生する可能性があるため、オンプレミスデータゲートウェイを経由してデータを取得する必要があります。インターネット上に公開されていない、イントラ上のWebコンテンツのデータも利用することができます。

個人用ゲートウェイとは

 個人用ゲートウェイは、正式にはオンプレミス データ ゲートウェイ (個人用モード) 、英語表記では、On-premises data gateway (personal mode)と言います。Power BI でのみ機能するオンプレミス データ ゲートウェイのバージョンです。 自分のコンピューターにゲートウェイをインストールして、オンプレミスのデータにアクセスできます。

オンプレミスデータゲートウェイを必要としないWebデータ

 インターネット上で公開されている、Web API、CSV、JSONなどのデータを取り込む場合は、そのまま取得することができます。

 例えば、CSVデータを取り込む場合は、M式は以下のように、Web.Contentsで指定されたアドレスからのデータを変換して使用します。

ソース = Csv.Document(Web.Contents("https://covid19.who.int/WHO-COVID-19-global-data.csv"),[Delimiter=",", Columns=8, Encoding=65001, QuoteStyle=QuoteStyle.None]),    

 これを、Power BIサービスに発行しても、オンプレミスデータゲートウェイの設定を要求されません。

image.png

アプリケーションデータゲートウェイなしでWebコンテンツを読み込むには

 
 インターネット上のWebコンテンツからデータを取得するのに、常にPCが起動していないといけないというのは面倒です。そこで、ちょっと細工してゲートウェイ無しでデータ取得できるようにします、

 入力ソースの種類を「テキスト/CSV」にして、ファイル名にURLを入力してやると、入力ソースをWebにしたときと同様にデータの取得を行うことができます。ただし、この場合のM式は以下のようになります。

ソース = 
File.Contents("C:\Users\n_fuk\AppData\Local\Packages\Microsoft.MicrosoftPowerBIDesktop_8wekyb3d8bbwe\AC\INetCache\FCJIWBZ6\乃木坂46[1]"),

 これをこのままPower BIサービスに発行すれば、ソースがローカルファイルになっているため、当然オンプレミスデータゲートウェイが必要となります。

 そこで、Power Query エディターのソースのステップをダブルクリックして、ローカルファイルを指しているファイルパスを、再度URLに書き換えてやります。

image.png

 もう一度、詳細エディターを開いてM式を確認すると、今度は Web.ContentsでURLを見るようになります。

ソース = Web.Contents("https://ja.wikipedia.org/wiki/%E4%B9%83%E6%9C%A8%E5%9D%8246"),

Web.BrowserContentsはオンプレミスデータゲートウェイを必要としますが、Web.Contentsは必要としません。したがって、入力ソースの「ファイル/CSV」を使って、2度書きしてやるか、詳細エディターを使って、Web.BrowserContentsをWeb.Contentsに書き換えた後、Power BIサービスに発行してやることで、オンプレミスデータゲートウェイを使わずWebコンテンツを取得できるようになります。

 参照:Microsoft Docs Web.contents

関連記事

10
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6