16.14 Oracle Autonomous Database for Google Sheets
Oracle Autonomous Databaseアドオンのを使用すると、Google Sheetsから直接ウィザードを使用し、SQLまたは分析ビューを使用して表を問い合せて分析できます。
ノート:
Oracle Autonomous DatabaseのGoogleスプレッドシート用アドオンは、プライバシ・ポリシーに準拠している必要があります。プライバシ・ポリシーの詳細は、「Oracle Autonomous Database for Google Sheetsのプライバシ・ポリシーの詳細」を参照してください。Google Sheets用アドオンの動作
Autonomous Databaseから分析ビューまたは表を問い合せるには、使用する分析ビューまたは表を選択する必要があります。分析ビューからデータを取得する際に、要件に従って問合せを構成できます。特定の階層を選択し、ウィザードでカスタム計算を作成できます。アドオンにより、問合せが構成され、結果がGoogle Sheetsに返されます。問合せの結果は、Google Sheetにローカルで保存できます。また、アドオンは、アクセス権のあるスキーマに直接問い合せることもできます。Web UIを使用して、Data Studioツールの「データ分析」メニューで作成したレポートおよび分析を表示することもできます。
このアドオンを使用するには、Autonomous DatabaseアカウントでWebアクセスを有効にする必要があります。Google Sheetsアドオンにアクセスするには、SQLワークシートでCONNECT、DWROLEおよびRESOURCEの各ロールが付与されている必要があります。
ノート:
Oracle Autonomous DatabaseのGoogle Sheets用アドオンは、Safari Webブラウザではサポートされていません。16.14.1 接続ファイルのダウンロード
Autonomous Databaseに接続するには、Database Actionsインスタンスから接続ファイルをダウンロードし、設定したGoogle Sheetアドオンにインポートします。
- Database Actionsインスタンスの起動パッドに移動し、「Microsoft Excel/Google Sheetsアドインのダウンロード」カードを選択します。「ダウンロード」ページの「Googleスプレッドシート」タブの「接続ファイルのダウンロード」ボタンをクリックして、接続ファイルをGoogleアドインにインポートします。
-
この接続ファイルを使用すると、ログイン・ユーザーでAutonomous Databaseに接続できます。これらの接続ファイルは、現在のAutonomous DatabaseインスタンスからダウンロードしたGoogleアドインにのみインポートできます。
図download-connection-file.pngの説明 - 「接続ファイルのダウンロード」ボタンを選択すると、「接続ファイルのダウンロード」ウィザードが開きます。ウィザードで次のフィールド値を指定します。
- Googleスプレッドシート・リダイレクトURL: これは、「WebアプリケーションとしてのGoogleスクリプトのデプロイ」セクションのステップ番号9からコピーしたWebアプリケーション・デプロイメントURLです。
- 「レスポンス・タイプ」を選択します:
- 明示的接続
Autonomous Databaseを使用するためにGoogle Sheetsを認証および認可するには、OAuthクライアントIDおよびOAuthクライアント・シークレットの値を使用します。「データベース・アクション」ページから接続ファイルをダウンロードする際に、「CODE」を「レスポンス・タイプ」として使用する場合に使用します。これはよりセキュアな方法であるため、自律型データベースにパブリック・アクセスがある場合に使用することをお薦めします。
- 暗黙的接続
Autonomous Databaseに暗黙的にアクセスするには、OAuthクライアントIDが必要です。Database Actionsページから接続ファイルをダウンロードする際に、「トークン」を「レスポンス・タイプ」として使用する場合に使用します。これは、自律型データベースがプライベート・サブネットまたは顧客ファイアウォール内にある場合に使用します。
- 明示的接続
16.14.2 UIを使用したクライアントIDおよびクライアント・シークレットの生成
この項では、Web UIを使用して、client_id
およびclient_secret
を取得します。
クライアント・キーを生成するには、oauth/clientsを付け足してAutonomous DatabaseインスタンスのURLにアクセスします。
たとえば、インスタンスが「https://<hostname>-<databasename>.adb.<region>.oraclecloudapps.com/ords/<schema Name>/_sdw/」である場合、リンク「https://<hostname>-<databasename>.adb.<region>.oraclecloudapps.com/ords/<schema Name>/oauth/clients/」にサインインする必要があります。必ず末尾のスラッシュを含めてください。
- リンク「https://machinename.oraclecloudapps.com/ords/SchemaName/oauth/clients/」を使用してDatabase Actionsにサインインします。「https://localhost:port/ords/schemaName/_sdw/?nav=rest-workshop&rest-workshop=oauth-clients」リンクで「OAuthクライアント」ページを表示できます。
- 「+OAuthクライアントの作成」ボタンをクリックして、新しいクライアントを作成します。
図create-client.pngの説明 - 「権限タイプ」ドロップダウンから、必要なクライアント接続のタイプを選択します。次のオプションから選択してください。
- AUTH_CODE: 暗黙接続の場合はこのオプションを選択します。このレスポンス・タイプは、自律型データベースがプライベート・サブネット内または顧客ファイアウォール内にある場合に使用します。
- IMPLICIT: 明示的な接続の場合はこのオプションを選択します。これはよりセキュアな方法であるため、自律型データベースにパブリック・アクセスがある場合に使用することをお薦めします。
- 次のフィールドに入力します。アスタリスク(*)の付いたフィールドは必須です。
- Name: クライアントの名前
- 説明: クライアントの目的の説明。
- リダイレクトURI: 「WebアプリケーションとしてのGoogleスクリプトのデプロイ」のステップ10からコピーしたWebアプリケーション・デプロイメントURL
- サポートURI: エンド・ユーザーがサポートを得るためにクライアントに連絡できるURIを入力します。例: https://script.google.com/
- サポート電子メール: エンド・ユーザーがサポートを得るためにクライアントに連絡できる電子メールを入力します。
- ロゴ: 必要に応じて、新しいクライアントのロゴを挿入するために、イメージをローカル・システムから選択します。
- 「許可されるオリジン」タブに進みます。テキスト・フィールドにURL接頭辞のリストを指定して追加します。必須フィールドではありません。
- 「権限」タブに進み、権限を追加します。OAuthクライアントを作成するための権限は必要ありません。
- 「作成」をクリックして、新しいOAuthクライアントを作成します。これは、OAuthクライアント・ページで表示できるOAuthクライアントを登録します。
図new-client.pngの説明 - 表示アイコンをクリックして、
Client ID
およびClient Secret
フィールドを表示します。
手動で接続する方法
次の項では、暗黙的な接続および明示的な接続を使用して接続する方法を説明します。Google Sheetsでは、Autonomous Databaseにアクセスする権限が必要です。自律型データベースに接続するには、まず認可を完了する必要があります。このアドオンを設定するには1回かぎりの認証が必要です。
- Googleスプレッドシートで「Oracle Autonomous Database」をクリックし、「接続」を選択します。
接続を選択するには、1回かぎりのGoogle認証が必要です。
- 「登録」をクリックすると、認可を実行する権限を求めるポップアップ・ウィンドウが開きます。「続行」をクリックします。
図auth-continue.pngの説明 - アプリケーションがGoogleアカウント内の機密情報へのアクセスをリクエストしていることを通知するウィンドウが表示されます。
- 「Advanced」をクリックし、「Go to Untitled project (unsafe)」リンクを選択します。リンクを選択すると、アプリケーションを信頼することを確認する新しいウィンドウが開きます。「Allow」をクリックして続行します。設定が完了しました。
- 「登録」をクリックすると、認可を実行する権限を求めるポップアップ・ウィンドウが開きます。「続行」をクリックします。
- 「接続」ウィザードで、「接続の管理」ドロップダウン・メニューから「接続の追加」をクリックして接続を追加します。
図add-connection.pngの説明 - 「接続の追加」を選択すると、「接続」ウィザードの接続リスト・パネルに「接続の追加」ウィザードが開きます。
図add-connection-fields.pngの説明 -
ウィザードで次のフィールド値を指定します。
接続名: 接続の名前を入力します(たとえば、TestConnection)。
Autonomous DatabaseのURL: 接続先のAutonomous DatabaseのURLを入力します。たとえば、「https://<hostname>-<databasename>.adb.<region>.oraclecloudapps.com/」です
「OAuthクライアントの権限付与タイプ」フィールドで、必要な接続のタイプに基づいて2つのオプションのいずれかを選択します。「UIを使用したクライアントIDおよびクライアント・シークレットの生成」の項を参照してください。
このオプションは、暗黙的な接続と明示的な接続では異なります。
暗黙的: 暗黙的な接続の場合はこのオプションを選択します。このレスポンス・タイプは、自律型データベースがプライベート・サブネット内または顧客ファイアウォール内にある場合に使用します。AUTH_CODE: 明示的な接続の場合はこのオプションを選択します。これはよりセキュアな方法であり、使用することをお薦めします。
「暗黙的」オプションを選択すると、次のフィールドを表示できます。
図implicit.pngの説明OAuthクライアントID: UIの「新規クライアントの作成」ウィザードを使用して生成する
client_id
です。「UIを使用したクライアントIDおよびクライアント・シークレットの生成」の項を参照してください。スキーマ名: スキーマの名前を指定します。
AUTH_CODEを選択すると、次のフィールドを表示できます:
図explicit.pngの説明OAuthクライアントID: UIの「新規クライアントの作成」ウィザードを使用して生成する
client_id
です。UIを使用したクライアントIDおよびクライアント・シークレットの生成の項を参照してください。OAuthクライアント・シークレット: UIの「新規クライアントの作成」ウィザードを使用して生成する
client_secret
です。「UIを使用したクライアントIDおよびクライアント・シークレットの生成」の項を参照してください。スキーマ名: スキーマの名前を指定します。
「保存」をクリックします。
「保存」,をクリックすると、接続リスト・パネルに新しい接続を表示できます。接続リストには、接続の名前、スキーマの名前および付与するOAuthタイプが表示されます。ただし、これはまだ切断された状態です。
-
接続名の横にある、縦に並んだ3つのドットをクリックし、次の操作を実行します。
接続: Autonomous Databaseへの「接続」を選択し、接続ステータスをアクティブに変更します。「接続」を選択すると、Autonomous Databaseのサインイン・ページが開きます。ログインすると、データベース・アクセスが付与されたことを示すページが表示されます。ウィンドウを閉じて、Google Sheetsに戻ります。これで、接続がアクティブになったことがわかります。
編集: 「編集」を選択して、接続の値を更新します。「保存」をクリックして、編集した値を更新します。
重複: 「重複」を選択して、重複する接続を作成します。
削除: 「削除」を選択して、接続リストから接続を削除します。
接続のエクスポート
- 「接続の管理」ドロップダウン・メニューから「接続のエクスポート」をクリックして、選択した接続をエクスポートします。
- エクスポートする接続を選択して、「エクスポート」をクリックします。
図export.pngの説明 - 「エクスポート」をクリックします。
-
エクスポートされた接続がローカル・システムにダウンロードされます。接続ファイルはspreadsheet_addin_connections.jsonとして保存されます。
16.14.3 Autonomous Databaseを使用するためのGoogle Sheetsの認可
OAuth認証を使用してアイデンティティが特定されたら、Google SheetsにはAutonomous Databaseにアクセスする権限が必要です。
OAuth認証中に生成するclient_id
およびclient_secret
の値は、認可に使用されます。
- 作業中のGoogleスプレッドシートでOracle Autonomous Databaseメニューをクリックし、「登録」を選択します。これには、1回かぎりのGoogle認証が必要です。
- 「登録」をクリックすると、認可を実行する権限を求めるポップアップ・ウィンドウが開きます。「続行」をクリックします。「続行」を選択すると、Gmailアカウントを選択する必要があるGoogleアカウント・ページにリダイレクトされます。
- アプリケーションがGoogleアカウント内の機密情報へのアクセスをリクエストしていることを通知するウィンドウが表示されます。「Advanced」をクリックし、「Go to Untitled project (unsafe)」リンクを選択します。
- リンクを選択すると、アプリケーションを信頼することを確認する新しいウィンドウが開きます。「Allow」をクリックして続行します。
- 設定が完了しました。GoogleスプレッドシートのOracle Autonomous Databaseメニューから「登録」を選択します。
Google Sheetで「Oracle Autonomous Database」ウィザードが開きます。次のフィールドを指定します。
- ADB URL: ADB URLを入力します。たとえば、「https://<hostname>-<databasename>.adb.<region>.oraclecloudapps.com/ords/<Schema Name>」です。
- OauthクライアントID: 認証中に生成するclient_id。
- Oauthクライアント・シークレット: 認証中に生成するclient_secret。詳細は、「Googleスプレッドシートを使用した接続の作成」を参照してください。
図adb-google-wizard.pngの説明 - 「認可」を選択します。
資格証明が正常に認可されると、「Oracle Autonomous Database」の下に「接続」、ダイレクトSQL、「データ分析」、「分析とレポート」、シートのクリア、すべてのシートの削除、Autonomous Databaseについておよび「サインアウト」メニュー・アイテムを表示できます。
16.14.4 Google Sheetsにおける自然言語
自然言語問合せを使用して、Oracle Autonomous Database for Google Sheets"アドオン"の「自然言語」メニューを使用してOracle Autonomous Databaseを問い合せることができます。
前提条件
-
アドオンの「自然言語」メニューを使用するには、
DBMS_CLOUD_AI
を使用してAIプロファイルを構成するために、前提条件を実行する必要があります。 - AIプロファイルの作成および設定
AIプロファイルの準備が完了すると、Data Studioツールでは「Data Studio設定」メニューでこれらのプロファイルを使用して、大規模言語モデル(LLM)へのアクセスを構成し、自然言語プロンプトに基づいてSQLを生成、実行および説明するための設定を行います。これにより、LLMとのチャットも可能になります。
ノート:
自然言語問合せは、分析ビューではなく表に対して実行できます。
自然言語から表に対するSQL問合せを生成する
自然言語を使用したデータベース・データとの対話が、Oracle Autonomous DatabaseのGoogleスプレッドシート用アドオンで実現できるようになりました。
つまり、自然言語(標準的な英語など)を使用してデータベースを問い合せることができます。データと対話するためにSQLコードのかわりに自然言語プロンプトを指定できます。自然問合せからのSQLの生成アイコンを選択すると、アドオンによって自然言語がSQLに変換されます。
- Googleスプレッドシートで、メニュー項目「Oracle Autonomous Database」を選択します。
- 「自然言語」を選択します。「自然言語」を選択すると、「自然言語」ウィザードが開きます。
- 「自然言語」ウィザードで、問合せの実行対象となる表と、使用するAIプロファイルをドロップダウンからそれぞれ選択します。
ノート:
これは、「Data Studio設定」で構成したAIプロファイルと同じです。この例では、
MOVIESALES_WEEKEND_USA
は表の名前、OCI_PROFILE
はAIプロファイルです。 - 売上が最も高い製品の詳細が必要だとします。問合せ表示領域に次の自然言語問合せを入力します:
show movie with highest sales
- 「自然問合せからのSQLの生成」を選択して、下部の問合せ表示領域に同等のSQL問合せを生成します。
下部のSQLコード領域に次のコードが表示されます。
SELECT * FROM "MOVIESTREAM"."MOVIESALES_WEEKEND_USA" MS WHERE MS."SALES_AMT" = ( SELECT MAX("SALES_AMT") FROM "MOVIESTREAM"."MOVIESALES_WEEKEND_USA" )
- 自然問合せからのSQLの生成アイコンを選択すると、自然言語問合せの結果もGoogle Sheetsに表示されます。
「ワークシートの選択」ドロップダウンの横にある「+」記号をクリックして、結果を新しいワークシートに表示できます。
- 「問合せ内容のクリア」をクリックして、自然言語問合せ領域およびSQLコード問合せ領域に表示される内容をクリアします。
SQLコード領域から実行できるアクション:
- SQLの実行: SQLコードを実行し、問合せ結果をGoogle Sheetsに表示します。
- シートからの問合せの取得:
Google Sheetsに表示されたSQL問合せを自然問合せのSQLコード領域に取得できます。
この機能では、将来の日付でデータベースから最新データを取得します。たとえば、翌日に表から最新データを受信する場合、接続は非アクティブですが、引き続きインスタンスに接続し、シートから問合せを取得し、「SQLの実行」を選択してGoogle Sheetsに最新の問合せ結果を表示できます。
- SQL問合せの説明機能: SQLコードを自然言語形式で説明します。
このアイコンは、ユーザーが理解できる自然言語にSQL問合せを翻訳する場合に選択します。自然言語問合せは、ウィザードの自然言語問合せ表示領域に表示されます。
チャットによる質問
Oracle Autonomous Database for Google Sheetsのチャット・オプションは、アドオンが自然言語を使用してAutonomous Databaseを問い合せたり対話する、ユーザーとアドオン間の対話型の会話を指します。
この例で使用するデータは、映画販売データを分析するためのOracle MovieStream
という会社のものです。
「チャット」には、選択したデフォルト表の推奨事項が表示されます。
- 質問の入力を開始する...テキスト・フィールドにテキストを入力します。
What are the top 5 movies by Weekend Gross?
-
「入力」をクリックします。
-
チャットでは、上位5つの映画が週末興行収入別に表示されます。
結果の同等のSQLコードも表示されます。
「SQL」をクリックしてSQLを展開します。
「クリップボードにコピー」をクリックして、SQLをコピーします。
「SQLの実行」をクリックして生成されたSQL問合せを実行し、問合せ結果をGoogle Sheetsに表示します。
チャット・オプションは、以前のチャット履歴のコンテキストを記憶します。
たとえば、テキスト・フィールドに
now show me top 10
と入力したとします。上位10映画が週末興行収入別に表示されます。すべて入力しなくてもフェッチする上位10メトリックを記憶しています。
「新規チャット」を選択して、現在の会話を削除します。
メイン・ホームページに戻るには、「ホーム」を選択します。
ノート:
LLMは人間の言語から意図を推察する点で優れており、常に改善されていますが、完璧ではありません。結果を確認することは非常に重要です。
16.14.5 直接SQL問合せの実行
Oracle Autonomous DatabaseのGoogle Sheets用アドオンを使用すると、SQL問合せを実行してGoogle Sheetでデータを操作できます。アドオンを使用すると、SQLエディタ領域にSQLコードを入力し、「実行」をクリックしてコマンドを実行できます。
アドオンにより、結果がGoogle Sheetにロードされます。結果のロードにかかる時間は、レコード数と問合せの複雑さによって異なります。
- Googleスプレッドシートで、メニュー項目「Oracle Autonomous Database」を選択します。
- ダイレクトSQLを選択して、SQLコマンドを実行します。
- Oracle Autonomous Databaseウィザードが開き、「表」および「ビュー」のアイコンとその横の検索フィールドが表示されます。
図native-sql-tables.pngの説明 - データベース内のすべての表を表示するには、「表」を選択します。「ビュー」についても同じ操作を実行します。
- データを問い合せる表を右クリックし、「選択」を選択してすべての表の列を表示できます。列名が「問合せの記述」セクションに表示されます。表をクリックして個々の列を表示することもできます。
図native-sql-select.pngの説明 - 「実行」をクリックして問合せを実行し、ワークシートに問合せ結果を表示します。「ワークシートの選択」ドロップダウンの横にある「+」記号をクリックして、結果を新しいワークシートに表示できます。
- ワークシートには、タイムスタンプ、問合せを作成および実行するユーザー、ADB URL、SQL問合せも表示されます。
図nativesql-results.pngの説明
16.14.6 Google Sheetsでのレポートと分析
レポートおよび分析ビューを表示したり、分析のためにデータをビジュアル化できます。
レポートおよびグラフは、様々なグラフ(棒グラフ、面グラフ、折れ線グラフおよび円グラフ)で表示できます。レポートは、分析ビューから作成する分析インサイトを提供します。分析には複数のレポートを含めることができます。「分析とレポート」アイコンを使用すると、Autonomous Databaseから分析とレポートを取得できます。
分析の表示
- 「出力形式」で「分析」を選択します。
- 「分析の選択」ドロップダウンを使用して、表示する分析を選択します。
- 「分析の表示」をクリックして、Google Sheetに分析を表示します。
図view-analysis.pngの説明
レポートの表示
レポートを表示するには:
- 「Oracle Autonomous Database」メニューから「分析とレポート」メニューを選択します。これにより、「分析とレポート」ウィザードが開きます。
- 「出力形式」で「レポート」を選択します。
- 「分析の選択」の下の「分析の選択」ドロップダウンを使用して、表示する分析を選択します。
- 分析を選択した後、分析に存在するレポートを表示するには、「レポートの選択」ドロップダウンをクリックし、表示するレポートを選択します。
- レポートの作成中に選択した分析ビュー名、ビジュアライゼーションのタイプ、行、列および値など、レポートの詳細を表示するには、「レポート詳細の表示」をクリックします。
図reports.pngの説明 - レポートを表示するワークシートをドロップダウンから選択します。
- 「レポートの表示」をクリックして、前のステップで選択したシートにレポートを表示します。選択したワークシートにレポートを表示できるようになりました。
図view-reports-sheet.pngの説明
16.14.7 シートのクリア
アドオンによって問合せが実行され、データがワークシートに取得されたら、自動生成された問合せ結果の分析ビューのタイムスタンプ、ユーザー、AV問合せおよびSQL問合せを表示できます。
アドオンによって問合せが実行され、データがワークシートに取得されたら、自動生成された問合せ結果の分析ビューのタイムスタンプ、ユーザー、AV問合せおよびSQL問合せを表示できます。
ワークシートには、問合せの結果が一度に表示されます。たとえば、問合せを変更し、同じシートで問合せ結果を生成する場合を考えてみます。シートの既存のデータをクリアする必要があります。
Googleスプレッドシートで問合せ結果をクリアするには、メニュー項目「Oracle Autonomous Database」をクリックし、シートのクリアを選択します。
このオプションは、選択したシート内のすべてのデータ型(イメージや書式設定を含む)を消去します。
16.14.8 すべてのシートの削除
このオプションを使用して、スプレッドシートに存在するすべてのシートを削除します。
「Oracle Autonomous Database」メニューから「すべてのシートの削除」を選択して、スプレッドシートからすべてのシートを削除します。
16.14.9 Oracle Autonomous Databaseメニューについて
このオプションを使用して、アドインの詳細を表示します
Oracle Autonomous DatabaseのOracle Autonomous Databaseについてメニューには、アドオンがサーバーに接続されているかどうか、ORDSバージョン、アドイン・バージョン、ORDSスキーマ・バージョン、データベースのメジャー・バージョンとマイナー・バージョン、ADB URLおよびスキーマが表示されます。
16.14.10 共有または公開
問合せ結果をGoogle Sheetで生成すると、他のユーザーと共有できます。共有では、ワークシートのコピーを作成し、設計ツールを非表示にしてワークシート保護をオンの状態で送信します。
- 個人情報や機密情報を削除するために確認および検査します。
- ワークシートのソース・バージョンを保存します。ソース・ワークシート用にファイル名接尾辞-srcを追加することを検討してください。次に、配布済のコピーの接尾辞を削除します。
ユーザーに配布する準備ができたら、「Share」をクリックします。
- 表示される「Share」ウィンドウで、シートを共有するユーザー電子メールIDと、シートへのアクセス権限を付与するユーザー電子メールIDを追加します。
- ドロップダウンからユーザーの権限を選択できます。ユーザーがワークシートを共有する場合は、「Editors」を選択します。「Viewers」および「commenters」は、シートをダウンロード、印刷およびコピーするオプションを表示できますが、共有することはできません。
- 「Notify people」チェック・ボックスを選択して、ユーザーに共有を通知します。
- 「General access」で、ドロップダウンから「Restricted」を選択して、リンクにアクセスできるユーザーと共有します。ドロップダウンから「Anyone with the link」を選択して、アクセス権がないユーザーと共有することもできます。