Important
この機能は パブリック プレビュー段階です。
注
Azure Databricks Excel アドインは、Azure GovernmentまたはAzure中国リージョンでは使用できません。
Azure Databricks Excel アドインは、Azure Databricks ワークスペースをMicrosoft Excelに接続し、管理された Lakehouse データをスプレッドシートに直接取り込み、データから意思決定への迅速な移行に役立ちます。
このページでは、Azure Databricks Excel アドインを使用して、ExcelのAzure Databricksからデータをインポートおよび分析する方法について説明します。 SQL の知識が不要な直感的なインターフェイスを使用して、Azure Databricksテーブルを参照およびインポートできます。 アドインではカスタム SQL クエリを柔軟に実行できます。省略可能です。
前提 条件
Excel アドインを使用する前に、設定があることを確認します。
SQL ウェアハウスを選択する
使用する SQL ウェアハウスを選択します。
- Excelの [Azure Databricks アドイン] ウィンドウの右上にあるドロップダウン メニューをクリックします。
- 使用する SQL ウェアハウスを選択します。
Azure Databricks からデータをインポートする
テーブルの選択、SQL クエリの作成、またはピボット テーブルのインポートを行って、ExcelのAzure Databricksからデータをインポートします。
注
ピボット テーブル、SQL クエリ、およびカスタム関数を使用して、Unity カタログ メトリック ビューをインポートできます。
ピボット テーブルを作成する
Excelで Unity カタログのテーブルとビューからピボット テーブルを作成するには:
Azure Databricks Excel アドイン ウィンドウの
New import タブで、Import メソッドとして を選択します。Select data [ カタログ] で、ピボット テーブルを作成するテーブルを選択し、[ 選択] をクリックします。
[ ピボット データ ] チェック ボックスをオンにします。
必要に応じて、行、列、値、フィルターを構成します。
(省略可能)インポートのサンプルを表示するには、[ プレビュー] をクリックします。
(省略可能)インポートの行制限を設定します。
結果をインポートします。 次のいずれかのオプションを選びます。
- [保存してインポート をクリックして、Excel ブックに再利用するクエリを保存し、結果をインポートします。
- 下矢印をクリックし、[ 結果のインポート ] をクリックして、クエリを保存せずに結果をインポートします。 インポートの編集を続行する場合は、このオプションを使用します。
注
ピボット テーブルは、新しいシートにのみインポートできます。
ピボット テーブルで Unity カタログ メトリックを操作すると、結果に Sum(measure) 表示される場合があります。 これは予期される動作であり、追加の集計は行われません。 Excel値には集計関数が必要ですが、データに一意の値が含まれているため、集計は行われません。
テーブルの選択
データは、Excel の表 オブジェクトとしてインポートされます。 テーブルを移動したり、シートの名前を変更したりすると、Excel アドインによって新しい場所のデータが更新されます。
Azure Databricks テーブルからデータをインポートするには、次の操作を行います。
Azure Databricks Excel アドイン ウィンドウの
New import タブで、Import メソッドとして を選択します。Select data カタログ エクスプローラーからインポートするテーブルを選択します。
を使用して、所有者、認定状態、およびその他のプロパティでカタログをフィルター処理できます。
[選択] をクリックします。
[ 列] で下矢印をクリックし、インポートしない列の選択を解除するか、すべての列を選択したままにしてテーブル全体をインポートします。
(省略可能)フィルターを設定するには、[フィルター] の横 + クリックし、 フィルターを適用する列を選択して、フィルター条件を入力します。 使用可能なフィルターの一覧については、「 サポートされているフィルター」を参照してください。
値を必要とするフィルターの場合は、次のいずれかの操作を実行できます。
- 値を入力します。
- 使用できる最大 75 個の個別のフィルター値の一覧を生成するには、[ 値] をクリックし、[ フィルター値の取得] をクリックします。 下矢印をクリックし、一覧から 1 つ以上の値を選択します。
- セル参照を使用するには、[ セル] をクリックし、セルまたはセル範囲を選択してから、カーソル ボタンをクリックします。
注
フィルター値にコンマを含めることはできません。 コンマを含む値をフィルター処理するには、代わりに WRITE SQL インポート メソッド を使用します
(省略可能)インポートのサンプルを表示するには、[ プレビュー] をクリックします。
(省略可能)行の制限を設定して、インポートする行数を制限できます。
(省略可能)インポートしたデータを簡単に識別するには、 インポート名を入力します。
[ 出力先] で、新しいシートまたは現在のシートにデータをインポートすることを選択します。 現在のシートにインポートすると、入力したセル参照からデータが開始されます (既定では A1)。
結果をインポートします。 次のいずれかのオプションを選びます。
- [保存してインポート をクリックして、Excel ブックに再利用するクエリを保存し、結果をインポートします。
- 下矢印をクリックし、[ 結果のインポート ] をクリックして、クエリを保存せずに結果をインポートします。 インポートの編集を続行する場合は、このオプションを使用します。
サポートされているフィルター
テーブルを選択してデータをインポートする場合は、フィルターを適用して結果を絞り込むことができます。 次の表では、使用可能な各フィルターとその予想される入力について説明します。
| フィルター | 想定される入力 | 説明 |
|---|---|---|
IS NULL |
なし | 列の値が null の行を検索します。 |
IS NOT NULL |
なし | 列の値が null ではない行を検索します。 |
EQUALS |
1 つの数値またはテキスト文字列 | 列の値が指定した値と正確に一致する行を検索します。 |
NOT EQUALS |
1 つの数値またはテキスト文字列 | 列の値が指定した値と一致しない行を検索します。 |
IN |
コンマで区切られた 1 つ以上の数値またはテキスト文字列 | 列の値が指定した値のいずれかと一致する行を検索します。 |
NOT IN |
コンマで区切られた 1 つ以上の数値またはテキスト文字列 | 列の値が指定された値のいずれにも一致しない行を検索します。 |
LIKE |
ワイルドカードとして % (任意の文字) と _ (1 文字) を使用する 1 つのパターン。%smith は、"smith" で終わる任意の値と一致します。t_p は、"tap"、"tip"、"top" などの値と一致します。 |
列の値がパターンと一致する行を検索します。 大文字と小文字を区別します。 |
NOT LIKE |
ワイルドカードとして % (任意の文字) と _ (1 文字) を使用する 1 つのパターン。%test% は、"test" を含む値を除外します。_at は、"bat"、"cat"、"hat" などの値を除外します。 |
列の値がパターンと一致しない行を検索します。 大文字と小文字を区別します。 |
ILIKE |
ワイルドカードとして % (任意の文字) と _ (1 文字) を使用する 1 つのパターン。%Smith は、"smith"、"Smith"、"SMITH" などの値と一致します。_ob は、"Bob"、"rob"、または "Rob" と一致します。 |
列の値がパターンと一致する行を検索します。 大文字と小文字を区別しません。 |
STARTS WITH |
1 つのテキスト文字列 | 列の値が指定したテキストで始まる行を検索します。 |
ENDS WITH |
1 つのテキスト文字列 | 列の値が指定したテキストで終わる行を検索します。 |
CONTAINS |
1 つのテキスト文字列 | 列の値に文字列内の指定したテキストが含まれている行を検索します。 |
SQL クエリを記述する
Sql の書き込みインポート メソッドは、SQL 関数とストアド プロシージャをサポートしています。
Azure Databricks ワークスペースに対してカスタム SQL クエリを実行するには、次の操作を行います。
Azure Databricks Excel アドイン ウィンドウの
New import タブで、Import メソッドとして を選択します。Write SQL 後で識別するクエリの名前を入力します。
新しいクエリを作成するか、Azure Databricks ワークスペースから既存のクエリを使用します。
エディターで SQL クエリを記述します。 アクセス許可を持っている Unity カタログ内の任意のテーブルに対してクエリを実行できます。
- [
スキーマとテーブルを表示するカタログ エクスプローラー。
- [
Azure Databricks ワークスペースのクエリまたはExcelの既存のクエリを使用するには、フォルダー
をクリックします。 Azure Databricks ワークスペースから既存のクエリを使用する場合、Excelで行われた編集はAzure Databricksには反映されません。
注
クエリがExcelに表示される前に、クエリ エディターの Save ボタンを使用してAzure Databricksに明示的に保存する必要があります。
(省略可能)クエリ パラメーターを追加するには、[パラメーター] の横にある [+追加] をクリック します。 パラメーターをクリックし、 パラメーター名 と パラメーター値を入力します。
- パラメーター値には、特定の値を入力するか、ボックスと矢印ボタンをクリックしてセル参照を指定できます。 セルまたはセル範囲を選択し、矢印をクリックしてパラメーター値を自動的に入力します。
[ 出力先] で、新しいシートまたは現在のシートにデータをインポートすることを選択します。 現在のシートにインポートすると、入力したセル参照からデータが開始されます (既定では A1)。
クエリ結果をプレビューするには、[ 実行] をクリックします。
結果をインポートします。 次のいずれかのオプションを選びます。
- [保存してインポート をクリックして、Excel ブックに再利用するクエリを保存し、結果をインポートします。
- 下矢印をクリックし、[ 結果のインポート ] をクリックして、クエリを保存せずに結果をインポートします。 インポートの編集を続行する場合は、このオプションを使用します。
カスタム関数を使用してクエリ パラメーターを追加することもできます。 「 SQL の書き込み」を参照してください。
Excel でカスタム関数を使用する
Excel アドインには、Azure DatabricksからデータをインポートするためにExcel数式で使用できるカスタム関数が用意されています。
テーブルを選択する
DATABRICKS.Table関数は、Unity カタログ テーブルからデータをインポートします。
構文 :
=DATABRICKS.Table(catalog_name.schema_name.table_name, [column1, ...], [limit])
パラメーター:
-
catalog_name.schema_name.table_name(必須): 完全修飾テーブル名。 -
columns(省略可能): インポートする列名の配列。 すべての列をインポートするには、このパラメーターを省略します。 -
limit(省略可能): インポートする行の最大数。 このパラメーターを省略すると、最大 10 MB の制限まで、すべての行がインポートされます。
Example:
=DATABRICKS.Table("main.default.customers", {"customer_id", "customer_name"}, 100)
この数式は、customer_id テーブルからcustomer_name列とmain.default.customers列をインポートします。100 行に制限されます。
SQL の書き込み
DATABRICKS.SQL関数は、クエリ パラメーターを使用して結果を返す SQL クエリを実行します。
構文 :
値を使用してパラメーターを指定します。
=DATABRICKS.SQL("query_text", {parameter1_name, parameter1_value; ...})
セル範囲を使用してパラメーターを指定します。 名前と値のパラメーターは、同じ行にあるセルで定義する必要があります。
=DATABRICKS.SQL("query_text", {param_name_cell: param_value_cell; ...})
パラメーター:
-
query_text(必須): 実行する SQL クエリ。 -
parameters(必須): クエリに置き換えるパラメーター値のマッピング。
Example:
=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)
この数式は、指定されたパラメーター値を使用して、 longitude と latitudeで売上データをフィルター処理するクエリを実行します。
クエリを管理する
[インポート] ページから既存のインポートを管理します。
既存のインポートを編集する
既存のインポートを編集するには:
- Excelの [Azure Databricks アドイン] ウィンドウで、[Imports] タブをクリックします。
- 編集するインポートを見つけます。
- インポートの横にある 3 点メニューをクリックします。
- [ 編集] をクリックしてインポートを編集します。
データの更新
Excel アドインは、インポートされたデータを自動的に更新しません。 Azure Databricksの最新の値でデータを更新するには:
- 1 つのインポートを更新するには、次の操作を行います。
- Excelの [Azure Databricks アドイン] ウィンドウで、[Imports] タブをクリックします。
-
をクリックして、更新したいインポートの横にあるインポートを更新してください。
- すべてのインポートを更新するには、次の操作を行います。
- Azure Databricks アドイン ウィンドウで Refresh All をクリックします。
アドインは元のクエリまたはテーブルの選択を再度実行し、新しいデータでワークシートを更新します。
Important
データを更新すると、Excel アドインは、指定したテーブル内のすべての既存のデータをクリアし、Azure Databricksから最新のデータを再読み込みします。 テーブルに追加したカスタム列は、更新プロセス中に削除されます。
共有への影響
Azure Databricksデータを含むExcelブックを共有する場合は、次のデータ アクセスとセキュリティへの影響を考慮してください。
インポートされたデータの可視性
受信者がインポートを更新すると、アドインは受信者の Unity カタログのアクセス許可を使用します。 基になるデータにアクセスできない場合、更新は失敗します。
データのプライバシーが懸念されるワークブックの場合は、次の回避策を使用できます。
- 必要なすべての数式とインポートを含むブックを作成します。
- インポートしたデータをシートから削除します。
- ワークブックを受信者に共有してください。
- 受信者にデータを更新してもらう。
受信者には、Unity カタログのアクセス許可に基づいてアクセス権を持つデータのみが表示されます。
ワークスペースとデータ資産へのアクセス
- ブックで参照されている Unity カタログ オブジェクトにアクセスできないユーザーは、データを更新できません。 データを更新するには、Unity カタログの基になるテーブルとビューに対する読み取りアクセス許可がユーザーに必要です。
- 既存のインポートを編集するには、Azure Databricksの基になるテーブルにアクセスできる必要があります。
クエリの可視性
ブックへの編集アクセス権を持つユーザーは、Unity カタログ内の基になるデータにアクセスできない場合でも、Azure Databricks アドインを介してデータを生成するために使用されるクエリを表示できます。
制限事項
- カスタム関数: カスタム関数の場合、SQL 実行 API の制限により、クエリ結果は 25 MiB に制限されます。
- データの読み込み: ブック内のセルが編集モードの場合、データの読み込みが失敗する可能性があります。
- Excel Desktop の行制限: Excel Desktop では、シートあたり最大 1,048,576 行がサポートされます。
- Excel for the web ファイル サイズの制限: Excel for the webは、表示と編集のために最大 25 MB のブック ファイル サイズをサポートします。