SharePoint、OneDrive for Business ファイルのインポート
Power Query は、SharePoint または OneDrive for Business でホストされているファイルへのアクセスを取得するための一連の方法を提供します。
Browse files
Note
現在は、PowerApps 用の Power Query Online 内の認証されたユーザーの OneDrive for Business ファイルのみを参照できます。
警告
この機能を使用するには、ブラウザーでサードパーティの Cookie を許可する必要があります。 ブラウザーでサード パーティの Cookie がブロックされている場合は、[参照] ダイアログが表示されますが、ダイアログを閉じるオプションがなく、完全に空白になります。
次のいずれかのコネクタを使用して PowerApps でデータフローを作成する場合、Power Query には [ファイル パスまたは URL] テキスト ボックスの横に [OneDrive の参照] ボタンが用意されています。
このボタンを選択すると、認証プロセスを実行するよう求められます。 このプロセスを完了すると、認証されたユーザーの OneDrive for Business 内のすべてのファイルを含む新しいウィンドウが表示されます。
任意のファイルを選択して、[開く] ボタンを選択できます。 [開く] を選択すると、最初の [接続の設定] ページに戻り、そこの [ファイル パスまたは URL] テキスト ボックスには OneDrive for Business から選択したファイルへの正確な URL が保持されていることがわかります。
ウィンドウの右下隅にある [次へ] ボタンを選択すると、プロセスを続行してデータを取得できます。
ファイル URL を使用して Web コネクタから
ブラウザーを使用して、OneDrive for Business の場所に移動します。 使用するファイルを右クリックし、[Excel で開く] を選択します。
Note
ブラウザーのインターフェイスは、次の画像とまったく同じにならない場合があります。 OneDrive for Businessブラウザー インターフェイス内のファイルに対して [Excel で開く] を選択する方法は多数あります。 Excel でファイルを開くためのどのオプションでも使用することができます。
Excel で、[ファイル]>[情報] の順に選択してから [パスのコピー] ボタンを選択します。
今 Power Query にコピーしたリンクを使用するには、次の手順を実行します。
[データ >Web の取得] を選択します。
[Web から] ダイアログ ボックスで、[基本] オプションを選択し、[URL] にリンクを貼り付けます。
Power Query でそのファイルに正常に移動できるように、リンクの最後にある ?web=1 の文字列を削除してから、[OK] を選択します。
Power Query で資格情報の入力を求められた場合は、[Windows] (オンプレミスの SharePoint サイトの場合) または [組織アカウント] (Microsoft 365 または OneDrive for Business サイトの場合) のどちらかを選択します。 次に、[接続] を選択します。
注意
OneDrive for Home でホストされているファイルを操作する場合は、接続先のファイルが一般公開されている必要があります。 この接続の認証方法を設定するときは、[匿名] オプションを選択します。
[ナビゲーター] ダイアログ ボックスが表示されたら、Excel ブックにあるテーブル、シート、範囲の一覧から選択できます。 そこから、他の Excel ファイルと同じように OneDrive for Business ファイルを使用できます。 他のデータ ソースと同様に、レポートを作成してデータ セットで使用できます。
Note
Power BI サービスで OneDrive for Business ファイルをデータ ソースとして使用するには、そのファイルに対してサービスの更新を有効にして、更新設定を構成するときに認証方法として OAuth2 を選択してください。 そうしないと、接続または更新を試行したときにエラー (データ ソースの資格情報を更新できませんでしたなど) が発生する場合があります。 認証方法として OAuth2 を選択すると、その資格情報エラーが修正されます。
SharePoint フォルダー コネクタ
SharePoint サイトでホストされているファイルに接続する方法に関する詳細な操作手順ガイドは、「SharePoint フォルダー」の記事で参照できます。
接続が正常に確立されると、SharePoint サイト内のファイルを示すテーブル プレビューが表示されます。 ウィンドウの右下にある [データの変換] ボタンを選択します。
[データの変換] ボタンを選択すると、ファイル システム ビュー と呼ばれるデータのビューが表示されます。 このテーブル内の各行は、SharePoint サイトにあったファイルを表しています。
このテーブルには、バイナリ形式のファイルが含まれている [Content] という名前の列があります。 [Content] 列内の値には、テーブルの他の列にある残りの値とは異なる色が付けられており、これは選択可能であることを示します。
[Content] 列で [バイナリ] 値を選択すると、Power Query では、そのファイルに移動するための一連のステップをクエリに自動的に追加し、可能な場合はその内容を解釈します。
たとえば、前の画像に示されているテーブルから、[名前] フィールドの値が [02-February.csv] である 2 行目を選択できます。 Power Query では、移動するための一連のステップを自動的に作成し、そのファイルの内容を CSV ファイルとして解釈します。
Note
任意のファイルに移動する前に、フィルターや並べ替えなどの変換を適用することによってテーブルを操作できます。 これらの変換を完了したら、表示する [バイナリ] 値を選択します。
OneDrive for Business のエクスペリエンス
SharePoint フォルダー コネクタとそのエクスペリエンスは、OneDrive for Business でホストされているファイルに対しても機能します。 ただし、使用する必要がある URL は、SharePoint サイトに対して使用するものとは異なります。 一意の URL を見つけるには、OneDrive for Business ポータルに移動し、ブラウザーから URL をコピーします。 この URL は、次の例のようになっている場合があります。
https://contoso-my.sharepoint.com/personal/user123_contoso_com/_layouts/15/onedrive.aspx
必要なのは完全な URL ではなく、最初のいくつかの部分だけです。 Power Query で使用する必要がある URL の形式は次のとおりです。
https://<unique_tenant_name>.sharepoint.com/personal/<user_identifier>
次に例を示します。
https://contoso-my.sharepoint/personal/user123_contoso_com
SharePoint.Contents 関数
SharePoint フォルダー コネクタでは、SharePoint または OneDrive for Business サイトで使用可能なすべてのファイルを一度に表示できるエクスペリエンスが提供されますが、別のエクスペリエンスを選択することもできます。 このエクスペリエンスでは、SharePoint または OneDrive for Business フォルダー内を移動し、関心があるフォルダーまたはファイルに到達できます。
このエクスペリエンスは、SharePoint.Contents
関数を通して提供されます。 この関数を使用するには、次の手順を実行します。
空のクエリを作成します。
数式バーのコードを
SharePoint.Contents("url")
に変更します。ここで、url
は SharePoint フォルダー コネクタで使用されるのと同じ形式です。 次に例を示します。SharePoint.Contents("https://contoso.sharepoint.com/marketing/data")
Note
既定では、この関数は SharePoint API バージョン 14 を使用して接続しようとします。 SharePoint サイトで使用されている API バージョンがわからない場合は、
SharePoint.Contents("https://contoso.sharepoint.com/marketing/data", [ApiVersion="Auto"])
のコード例の使用を試してみることもできます。Power Query により、接続の認証方法を追加するよう要求されます。 SharePoint ファイル コネクタで使用するのと同じ認証方法を使用します。
さまざまなドキュメントを経由して、関心がある特定のフォルダーまたはファイルに移動します。
たとえば、[共有ドキュメント] フォルダーが存在する SharePoint サイトがあるとします。 そのフォルダーの [Content] 列で [テーブル] 値を選択し、そのフォルダーに直接移動できます。
この [共有ドキュメント] フォルダー内には、会社がすべての売上レポートを格納しているフォルダーが存在します。 このフォルダーには [売上レポート] という名前が付けられています。 その行の [Content] 列で [テーブル] 値を選択できます。
[売上レポート] フォルダー内のすべてのファイルを使用し、[ファイルの結合] ボタン (「ファイルの結合の概要」を参照) を選択して、このフォルダー内のすべてのファイルのデータを 1 つのテーブルに結合できます。 または、[Content] 列から [バイナリ] 値を選択することにより、任意の 1 つのファイルに直接移動することもできます。
Note
SharePoint.Contents
関数によって提供されるエクスペリエンスは、多数のファイルが存在する SharePoint および OneDrive for Business 環境に最適です。