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

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

備考

プレビュー

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

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

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

前提条件

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. (オプション) インポートの行数制限を設定します。

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

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

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

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

テーブルを選択

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

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

  1. Databricks Excel アドイン ペインの [ 新しいインポート] タブで、 インポート方法 として [データの選択] を選択します。
  2. カタログ エクスプローラーからインポートするテーブルを選択します。カタログを所有者、認証ステータス、その他のプロパティでフィルタリングするには、スライダーアイコン。フィルター。
  3. [選択] をクリックします。
  4. [列] の下で、下矢印をクリックしてインポートしない列の選択を解除するか、すべての列を選択したままにしてテーブル全体をインポートします。
  5. (任意) フィルター を追加します。フィルターの詳細については、「インポートされたデータをフィルターする」を参照してください。
  6. (オプション) インポートのサンプルを表示するには、 [プレビュー] をクリックします。
  7. (オプション)インポートされる行数を制限するために、行の制限を設定します。
  8. (オプション) インポートしたデータを識別するには、「 インポート名 」を入力してください。
  9. 「出力先」 で、データを新しいシートにインポートするか、現在のシートにインポートするかを選択します。現在のシートにデータをインポートする場合、データは入力したセル参照(デフォルトではA1)から始まります。
  10. 結果をインポートします。次のいずれかを選択します。
    • [保存してインポート] をクリックして、クエリを Excel ブックに保存し、再利用できるようにして、結果をインポートします。
    • 下矢印をクリックし、 「結果のインポート」 をクリックして、クエリを保存せずに結果をインポートします。インポートの編集を続行する場合は、このオプションを使用します。

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 の記述」を参照してください。

インポートされたデータをフィルタリング

テーブルを選択するかピボットテーブルを作成してデータをインポートすると、結果を絞り込むためにフィルターを適用できます。

フィルターを設定するには、 Filters の横にある + をクリックし、フィルターを適用する列を選択し、フィルター条件を入力します。値が必要なフィルターについては、次のいずれかを実行できます。

  • 値を入力してください。

  • 最大1,000件の個別のフィルター値のリストを生成するには、次を使用できます。

    1. [値] をクリックし、次に [フィルター値を取得] をクリックします。
    2. 下矢印をクリックし、リストから1つ以上の値を選択します。
  • セル参照を使用するには:

    1. Cells をクリックします。
    2. セルまたはセルの範囲を選択します。
    3. カーソル カーソルクリックアイコン。 をクリックします。

以下の表は、利用可能な各フィルターと、その予想される入力について説明しています。

フィルタ

想定される入力

説明

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つのテキスト文字列

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

フィルタ

想定される入力

説明

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つのテキスト文字列

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

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

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アドインは、データを自動的に更新しません。データを更新する方法は、データのインポート方法によって異なります。インポート方法(テーブルの選択、SQLクエリーの記述、またはピボットテーブルの作成)を使用してインポートされたデータは、**インポート**tabから更新されます。カスタム関数を使用してインポートされたデータは再計算する必要があります。

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

  • 単一のインポートを更新するには:

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

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

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

カスタム関数からインポートされたデータ(DATABRICKS.TableDATABRICKS.SQLなど)は、ワークブックを再度開いても更新されません。カスタム関数からインポートされたデータを更新するには、Databricksアドインにサインインし、ワークブックを再計算するか、カスタム関数が参照する値を変更します。

共有の影響

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

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

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

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

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

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

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

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

クエリの可視性

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

テンプレートとして保存する別の方法

Databricks Excel アドインはワークブックをテンプレートとして保存することには対応していませんが、他のユーザーがインポートされたクエリを表示できるようにワークブックを共有できます。データアクセスとセキュリティに関する考慮事項については、共有の影響を参照してください。

ブックをTemplateとして共有するための回避策として、以下のいずれかを実行します。

  • ローカル ファイルを別のユーザーと共有します。受信者はファイルの名前を変更し、保存されたクエリーを表示できます。
  • SharePoint で、ワークブックを別のユーザーと共有します。別のユーザーがファイルをdownloadすると、保存されたインポートが保持されます。

制限事項

  • カスタム関数 : カスタム関数の場合、SQL 実行 API の制限により、クエリ結果は 25 MiB に制限されます。
  • データの読み込み : ワークブック内のいずれかのセルが編集モードになっている場合、データの読み込みが失敗する可能性があります。
  • Excel デスクトップの行制限 : Excel デスクトップでは、シートあたり最大 1,048,576 行がサポートされます。
  • Web 用 Excel のファイル サイズの制限 : Web 用 Excel では、表示および編集用に最大約 25 MB のブック ファイル サイズがサポートされます。