# SQL Workbench を使用したデータ探索

SQL Workbench を使用すると、データのトラブルシューティングや SQL クエリの開発を実行できます。プロジェクトのコンテキスト内で、準備済みタスクやデータ ウェアハウス レイヤーのデータを探索し、SQL を検証できます。

SQL Workbench は、データ ウェアハウスを使用するデータ パイプライン プロジェクトで利用できます。クエリは、そのプロジェクトに接続されたデータ ウェアハウス上で実行されます。

情報メモレプリケーション プロジェクト、Qlik Cloud をターゲットとするデータ パイプライン プロジェクト、Qlik Open Lakehouse プロジェクトはサポートされていません。サポートされているプロジェクトでは、アップストリームのQlik Open Lakehouseプロジェクトでミラータスクを表示および追加できます。

## 制限事項

* 読み取り専用の SQL クエリのみがサポートされています。データ変更ステートメントはブロックされます。

* オブジェクト ブラウザーでは、レイク ランディングおよびナレッジ マートはサポートされていません。

* マクロはサポートされていません。変換にマクロが含まれている場合、フル ロード変換は [ソース クエリ] に表示されます。

## 必要な権限

* クエリを実行するには、プロジェクト接続が存在するスペースにおいて [データを表示可能] する権限が必要です。

* SQL スクリプトを保存、編集、名前変更、または削除するには、プロジェクト スペースで [編集可能] 権限が必要です。

スペース ロールの詳細については、「[データスペースのロールと権限](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataSpaces/permissions-data-space.htm)」を参照してください。

## SQL Workbench を開く

データ パイプライン プロジェクトで SQL Workbench を開きます。SQL Workbench は、常に現在のプロジェクトのコンテキストで実行されます。

* トップ メニューの [SQL Workbench] をクリックします。

情報メモ[SQL Workbench] が表示されない場合は、プロジェクト タイプと権限を確認してください。

## テーブルの参照

[テーブル] には、準備されたタスクのテーブルが次のように一覧表示されます。

* 現在のプロジェクト。

* 同じデータ プラットフォーム上で参照されているプロジェクト。

外部スキーマ上の物理テーブルのみが表示されます。

Qlik Open Lakehouseプロジェクトの場合、 テーブルには現在のプロジェクトと参照されているプロジェクトのミラータスクが一覧表示されます。SQL Workbenchには、プロジェクトのレイクハウスタイプ (Snowflake、Redshift、Databricks) に一致するミラータスクのみが表示されます。

各テーブルについて、データベース、スキーマ、列、データ型を表示できます。

情報メモタスクが準備されていない場合、 [テーブル] には表示されません。

* タスクをフィルタリングするには、 [タスク タイプでフィルタリング] をクリックします。

* タスクを整理し、ソート順を設定するには、 [ソートとグループ化] をクリックします。

### プロジェクトの追加

初期状態では、現在のプロジェクトのタスクのみが表示されます。クエリで使用できるように、プロジェクトを追加できます。

* the 追加 icon をクリックして、利用可能なプロジェクトを追加します。

  同じデータ ウェアハウスを使用しているプロジェクトから選択できます。

  プロジェクトを選択し、 [適用] をクリックします。

選択したプロジェクト内のすべての準備されたタスクが利用可能になりました。

Qlik Open Lakehouseプロジェクトの場合、SQL Workbenchに、プロジェクトのレイクハウスタイプに一致するミラータスクのみが表示されます。

## クエリの作成

1 つ以上のタブを使用して SQL を記述し、選択したステートメントまたは現在のステートメントを実行できます。

各タブは独立したセッションで実行されるため、クエリを並列実行できます。

クエリを編集する際に、次のツールを使用できます。

* the 元に戻す icon 直前の編集を取り消します

* the 元に戻す icon 取り消した編集をやり直します

* the 自動フォーマット icon SQLコードを自動フォーマットします

* the [Comment] (コメント) icon 現在の行をコメント化/コメント解除します

* the 検索 icon コード内のテキストを検索および置換します

### テーブルの SELECT ステートメントを追加する

テーブルのすべてのフィールドを返す SELECT ステートメントを追加できます。

* [テーブル] 内のテーブルで the もっと見る icon をクリックし、 [SELECT ステートメントを追加] をクリックします。

選択したテーブルのすべてのフィールドを返す SELECT ステートメントがクエリ エディターに追加されます。

### 変換データセットからクエリを追加する

変換タスクで作成されたデータセットのソース クエリを追加できます。

* [テーブル] 内のデータセットで the もっと見る icon をクリックし、 [ソース クエリを追加] をクリックします。

選択したデータセットの作成に使用されたクエリがクエリ エディターに追加されます。

## クエリの実行

クエリ全体、または選択したステートメントを実行するには、 [クエリを実行] をクリックします。

* クエリ エディターで何も選択していない場合、クエリ全体が実行されます。

* エディターでステートメントを選択した場合、そのステートメントが実行されます。

クエリが実行されると、結果を以下で確認できます。

* 結果

  クエリによって返されたサンプル データ。

  情報メモ接続スペースで [データを表示可能] ロールが必要です。さらに、テナントで [データ統合でデータを表示] をオンにする必要があります。

* メタデータ

  データ型と NULL 可能に関する情報を含む列を一覧表示します。

## SQL スクリプトの保存と管理

[保存] をクリックすることで、SQL Workbench に SQL スクリプトを保存し、再利用できます。スクリプトはプロジェクトに保存され、プロジェクトのすべてのユーザーが閲覧できます。[保存済みスクリプト] でスクリプトの一覧表示、開封、名前変更、削除を実行できます。

情報メモ保存された SQL ワークベンチのスクリプトは、プロジェクトをエクスポートしても含まれません。詳細については、「[データ パイプラインのエクスポートとインポート](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Data-project-export-import.htm)」を参照してください。

* スクリプトを削除するには、スクリプト上で the 詳細 icon をクリックしてから、 [削除] をクリックします。

* スクリプトを削除するには、スクリプト上で the 詳細 icon をクリックしてから、 [削除] をクリックします。

1. 

1) 

## トラブルシューティング

* クエリの実行が権限エラーで失敗した場合は、プロジェクト スペースと接続スペースに必要なロールが付与されていることを確認してください。

* オブジェクトが見つからない場合は、ソース タスクが準備されていることを確認してください。

* ステートメントがブロックされている場合は、読み取り専用 SQL であることを確認してください。

一般的なトラブルシューティングについては、「[データ タスクのトラブルシューティング](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Deploying/Troubleshooting-data-assets.htm)」を参照してください。