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

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

備考

プレビュー

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

注記

Databricks Excelアドインは、AWS GovCloudまたはAWS GovCloud DoDでは利用できません。

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. 結果をインポートします。次のいずれかを選択します。

    • [保存してインポート] をクリックして、クエリを Excel ブックに保存し、再利用できるようにして、結果をインポートします。
    • 下矢印をクリックし、 「結果のインポート」 をクリックして、クエリを保存せずに結果をインポートします。インポートの編集を続行する場合は、このオプションを使用します。
注記

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

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

テーブルを選択

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

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

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

  2. カタログ エクスプローラーからインポートするテーブルを選択します。カタログを所有者、認証ステータス、その他のプロパティでフィルタリングするには、スライダーアイコン。フィルター。

  3. [選択] をクリックします。

  4. [列] の下で、下矢印をクリックしてインポートしない列の選択を解除するか、すべての列を選択したままにしてテーブル全体をインポートします。

  5. (オプション)フィルターを設定するには、 [フィルター] の横にある [+] をクリックし、フィルターを適用する列を選択してから、フィルター条件を入力します。利用可能なフィルターの一覧については、 「サポートされているフィルター」を参照してください。

    値が必要なフィルターの場合は、次のいずれかの操作を行うことができます。

    • 値を入力してください。
    • 最大 75 個の異なるフィルター値のリストを生成するには、 [値] をクリックし、 [フィルター値を取得] をクリックします 。下向き矢印をクリックし、リストから1つ以上の値を選択してください。
    • セル参照を使用するには、 [セル] をクリックし、セルまたはセル範囲を選択してから、カーソルボタンをクリックします。
注記

フィルター値にはカンマを含めることはできません。カンマを含む値をフィルタリングするには、代わりに「SQL の書き込み」インポート方法を使用してください。

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

  2. (オプション) 行制限を設定して、インポートされる行数を制限できます。

  3. (オプション) インポートしたデータを簡単に識別できるように、 インポート名 を入力できます。

  4. 「出力先」 で、データを新しいシートにインポートするか、現在のシートにインポートするかを選択します。現在のシートにデータをインポートする場合、データは入力したセル参照(デフォルトではA1)から始まります。

  5. 結果をインポートします。次のいずれかを選択します。

    • [保存してインポート] をクリックして、クエリを Excel ブックに保存し、再利用できるようにして、結果をインポートします。
    • 下矢印をクリックし、 「結果のインポート」 をクリックして、クエリを保存せずに結果をインポートします。インポートの編集を続行する場合は、このオプションを使用します。

サポートされているフィルター

テーブルを選択してデータをインポートする際に、フィルターを適用して結果を絞り込むことができます。以下の表は、利用可能な各フィルタとその想定される入力について説明しています。

フィルタ

想定される入力

説明

IS NULL

なし

列の値がnullである行を検索します。

IS NOT NULL

なし

列の値がnullでない行を検索します。

EQUALS

1つの数字またはテキスト文字列

列の値が指定された値と完全に一致する行を検索します。

NOT EQUALS

1つの数字またはテキスト文字列

列の値が指定された値と一致しない行を検索します。

IN

カンマで区切られた1つ以上の数字または文字列

列の値が指定された値のいずれかと一致する行を検索します。

NOT IN

カンマで区切られた1つ以上の数字または文字列

列の値が指定された値のいずれとも一致しない行を検索します。

LIKE

ワイルドカードとして% (任意の文字)と_ (1文字)を使用したパターンの例。

%smith 「smith」で終わる任意の値に一致します。

t_p 「tap」、「tip」、「top」などの値に一致します。

列の値がパターンと一致する行を検索します。大文字と小文字を区別。

NOT LIKE

ワイルドカードとして% (任意の文字)と_ (1文字)を使用したパターンの例。

%test% 「test」を含む値は除外します。

_at 「bat」、「cat」、「hat」などの値は除外されます。

列の値がパターンと一致しない行を検索します。大文字と小文字を区別。

ILIKE

ワイルドカードとして% (任意の文字)と_ (1文字)を使用したパターンの例。

%Smith 「smith」、「Smith」、「SMITH」などの値に一致します。

_ob 「Bob」、「rob」、または「Rob」に一致します。

列の値がパターンと一致する行を検索します。大文字と小文字を区別しません。

STARTS WITH

1つのテキスト文字列

列の値が指定されたテキストで始まる行を検索します。

ENDS WITH

1つのテキスト文字列

列の値が指定されたテキストで終わる行を検索します。

CONTAINS

1つのテキスト文字列

列の値に指定されたテキストが文字列内のどこかに含まれている行を検索します。

SQLクエリを書く

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

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

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

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

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

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

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

注記

クエリは、Excelに表示される前に、クエリエディタの 「保存」 ボタンを使用してDatabricksに明示的に保存する必要があります。

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

    • 値については、特定の値を入力するか、ボックスと矢印ボタンをクリックしてセル参照を指定できます。 セルまたはセル範囲を選択し、矢印をクリックすると、パラメーター値が自動的に入力されます。
  2. 「出力先」 で、データを新しいシートにインポートするか、現在のシートにインポートするかを選択します。現在のシートにデータをインポートする場合、データは入力したセル参照(デフォルトではA1)から始まります。

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

  4. 結果をインポートします。次のいずれかを選択します。

    • [保存してインポート] をクリックして、クエリを Excel ブックに保存し、再利用できるようにして、結果をインポートします。
    • 下矢印をクリックし、 「結果のインポート」 をクリックして、クエリを保存せずに結果をインポートします。インポートの編集を続行する場合は、このオプションを使用します。

カスタム関数を使用してクエリを追加することもできます。 「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 に制限されます。
  • データの読み込み : ワークブック内のいずれかのセルが編集モードになっている場合、データの読み込みが失敗する可能性があります。
  • Excel デスクトップの行制限 : Excel デスクトップでは、シートあたり最大 1,048,576 行がサポートされます。
  • Web 用 Excel のファイル サイズの制限 : Web 用 Excel では、表示および編集用に最大約 25 MB のブック ファイル サイズがサポートされます。