メインコンテンツまでスキップ

Databricks Excel アドインを使用してデータをインポートおよびクエリする

備考

プレビュー

この機能は パブリック プレビュー段階です。

Databricks Excelアドインは、 DatabricksワークスペースをMicrosoft Excelに接続し、管理されたレイクハウス データをスプレッドシートに直接取り込み、データから意思決定までより迅速に移行できるようにします。

このページでは、Databricks Excel アドインを使用して Excel で Databricks からデータをインポートおよび分析する方法について説明します。SQL の知識がなくても、直感的なインターフェースを通じて Databricks テーブルを参照およびインポートできます。アドインはカスタム SQL クエリを実行する柔軟性を提供しますが、これはオプションです。

前提条件

Excel アドインを使用する前に、それが設定されていることを確認してください。

SQLウェアハウスを選択

使用するSQLウェアハウスを選択します。

  1. Excel の Databricks アドイン ウィンドウの右上にあるドロップダウン メニューをクリックします。
  2. 使用するSQLウェアハウスを選択します。

Databricksからデータをインポートする

テーブルを選択するか、SQL クエリを記述するか、ピボット テーブルをインポートして、Excel で Databricks からデータをインポートします。

注記

ピボット テーブル、 SQLクエリ、カスタム関数を使用して、 Unity Catalogメトリクス ビューをインポートできます。

ピボットテーブルを作成する

Excel の Unity Catalog テーブルとビューからピボット テーブルを作成するには:

  1. Databricks Excel アドイン ペインの [ 新しいインポート] タブで、 インポート方法 として [データの選択] を選択します。

  2. [カタログ] の下で、ピボット テーブルを作成するテーブルを選択し、 [選択] をクリックします。

  3. ピボットデータ チェックボックスを選択します。

  4. 必要に応じて、 フィルター を構成します。

  5. (オプション) インポートのサンプルを表示するには、 [プレビュー] をクリックします。

  6. (オプション) インポートの行数制限を設定します。

  7. [結果のインポート] をクリックします。

注記

ピボット テーブルは新しいシートにのみインポートできます。

ピボット テーブルでUnity Catalog操作すると、結果にSum(measure)が表示される場合があります。 これは想定された動作であり、追加の集約は発生しません。Excel では値に集計関数が必要ですが、データには一意の値が含まれているため、集計は行われません。

テーブルを選択

データは Excel テーブル オブジェクトとしてインポートされます。テーブルを移動したり、シートの名前を変更したりすると、Excel アドインによって新しい場所のデータが更新されます。

Databricks テーブルからデータをインポートするには、次の手順を実行します。

  1. Databricks Excel アドイン ペインの [ 新しいインポート] タブで、 インポート方法 として [データの選択] を選択します。
  2. カタログ エクスプローラーからインポートするテーブルを選択します。カタログを所有者、認証ステータス、その他のプロパティでフィルタリングするには、スライダーアイコン。フィルター。
  3. [選択] をクリックします。
  4. [列] の下で、キャレットをクリックしてインポートしない列の選択を解除するか、すべての列を選択したままにしてテーブル全体をインポートします。
  5. (オプション) フィルターを設定するには、 [フィルター] の横にある + を クリックし、フィルターを適用する列を選択して、フィルター条件を入力します。
  6. (オプション) インポートのサンプルを表示するには、 [プレビュー] をクリックします。
  7. (オプション) 行制限を設定して、インポートされる行数を制限できます。
  8. (オプション) インポートしたデータを簡単に識別できるように、 インポート名 を入力できます。
  9. [出力先] で、データを新しいシートにインポートするか、現在のシートにインポートするかを選択します。現在のシートにインポートする場合、データは選択したセルから始まります。
  10. [結果のインポート] をクリックします。

SQLクエリを書く

書き込み SQL インポート方法は、SQL 関数とストアド プロシージャをサポートします。

Databricks ワークスペースに対してカスタム SQL クエリを実行するには、次の手順を実行します。

  1. Databricks Excel アドイン ペインの [ 新しいインポート] タブで、 インポート方法 として [SQL の書き込み] を選択します。

  2. 後で識別できるようにクエリの名前を入力します。

  3. 新しいクエリを記述するか、Databricks ワークスペースから既存のクエリを使用します。

    • エディターで SQL クエリを記述します。アクセス権を持つUnity Catalog内の任意のテーブルをクエリできます。

      • クリックデータアイコン。スキーマとテーブルを表示するためのカタログ エクスプローラー。
    • DatabricksワークスペースのクエリまたはExcelの既存のクエリを使用するには、フォルダーアイコン。フォルダ。 Databricks ワークスペースから既存のクエリを使用する場合、Excel で行われた編集は Databricks に反映されません。

  4. (オプション) クエリを追加するには、「問題」 横にある 「+追加」 をクリックします。 「問題」をクリックして、 「問題名」「問題値」 を指定します。

  5. [出力先] で、データを新しいシートにインポートするか、現在のシートにインポートするかを選択します。現在のシートにインポートする場合、データは選択したセルから始まります。

  6. クエリ結果をプレビューするには、 [実行] をクリックします。

  7. [結果のインポート] をクリックします。

カスタム関数を使用してクエリを追加することもできます。 「SQL の記述」を参照してください。

Excelでカスタム関数を使用する

Excel アドインには、Excel の数式で使用して Databricks からデータをインポートできるカスタム関数が用意されています。

テーブルを選択

DATABRICKS.Table関数はUnity Catalogテーブルからデータをインポートします。

構文:

Text
=DATABRICKS.Table(catalog_name.schema_name.table_name, [column1, ...], [limit])

パラメーター:

  • catalog_name.schema_name.table_name (必須): 完全修飾テーブル名。
  • columns (オプション): インポートする列名の配列。すべての列をインポートするには、この問題を省略します。
  • limit (オプション): インポートする行の最大数。10 MB の制限までのすべての行をインポートするには、この問題を省略します。

例:

Text
=DATABRICKS.Table("main.default.customers", {"customer_id", "customer_name"}, 100)

この数式は、 main.default.customersテーブルからcustomer_id列とcustomer_name列を 100 行までに制限してインポートします。

SQLを書く

DATABRICKS.SQL関数は、クエリを使用するSQLクエリを実行し、結果を返します。

構文:

値を使用して、問題を指定します。

Text
=DATABRICKS.SQL("query_text", {parameter1_name, parameter1_value; ...})

問題はセル範囲を使用して指定します。 名前と値は、同じ行にあるセルに定義する必要があります。

Text
=DATABRICKS.SQL("query_text", {param_name_cell: param_value_cell; ...})

パラメーター:

  • query_text (必須): 実行する SQL クエリ。
  • parameters (必須): クエリに代入する問題値のマッピング。

例:

Text
=DATABRICKS.SQL("SELECT * FROM samples.bakehouse.sales_suppliers WHERE longitude > :long_param AND latitude > :lat_param LIMIT 10", {"long_param",20; "lat_param",10})

=DATABRICKS.SQL("SELECT * FROM samples.bakehouse.sales_suppliers WHERE city = :city", M4:N4)

この数式は、指定された分散値を使用して、売上データをlongitudelatitudeでフィルタリングするクエリを実行します。

クエリを管理する

「インポート」ページから既存のインポートを管理します。

既存のインポートを編集する

既存のインポートを編集するには:

  1. Excel の Databricks アドイン ウィンドウで、 [インポート] タブをクリックします。
  2. 編集するインポートを見つけます。
  3. インポートの横にある 3 つのドットのメニューをクリックします。
  4. インポートを編集するには、 「編集」 をクリックします。

データを更新

Excel アドインはインポートされたデータを自動的に更新しません。Databricks の最新の値でデータを更新するには:

  • 単一のインポートを更新するには、次の手順を実行します。

    1. Excel の Databricks アドイン ウィンドウで、 [インポート] タブをクリックします。
    2. クリック更新アイコン。更新したいインポートの横にある [更新] をクリックします。
  • すべてのインポートを更新するには、次の手順を実行します。

    1. Databricks アドイン ペインで [すべて更新] をクリックします。

アドインは元のクエリまたはテーブル選択を再度実行し、ワークシートを最新のデータで更新します。

重要

データを更新すると、Excel アドインは指定されたテーブル内の既存のデータをすべてクリアし、Databricks から最新のデータを再読み込みします。テーブルに追加したカスタム列は、更新プロセス中に削除されます。

共有の影響

Databricks データを含む Excel ブックを共有する場合は、次のデータ アクセスとセキュリティへの影響を考慮してください。

インポートされたデータの可視性

受信者がインポートを更新すると、アドインは受信者のUnity Catalog権限を使用します。 基礎となるデータにアクセスできない場合、更新は失敗します。

データのプライバシーが懸念されるワークブックの場合は、次の回避策を使用できます。

  1. 必要なすべての数式とインポートを含むワークブックを作成します。
  2. シートからインポートしたデータを削除します。
  3. ワークブックを受信者と共有します。
  4. 受信者にデータを更新してもらいます。

受信者は、 Unity Catalog権限に基づいてアクセスできるデータのみを表示します。

ワークスペースとデータ資産へのアクセス

  • ワークブックで参照されているUnity Catalogオブジェクトへのアクセス権を持たないユーザーは、データを更新できません。 データを更新するには、ユーザーは Unity Catalog 内の基礎となるテーブルとビューに対する読み取り権限を持っている必要があります。
  • 既存のインポートを編集するには、ユーザーは Databricks の基になるテーブルにアクセスできる必要があります。

クエリの可視性

ワークブックの編集アクセス権を持つユーザーは、Unity Catalog 内の基になるデータにアクセスできない場合でも、Databricks アドインを通じてデータを生成するために使用されたクエリを表示できます。

制限事項

  • カスタム関数 : カスタム関数の場合、SQL 実行 API の制限により、クエリ結果は 25 MiB に制限されます。