ワークシートを使用したデータのクエリ¶
ワークシートを作成するか開く と、 ワークシートを管理 したり、クエリを作成して実行したり、クエリ結果と履歴を調査したり、 Snowsight を使用してフィルターを設定したりできます。
このトピックの内容:
ワークシートでのクエリの記述¶
ワークシートを開いた後、 SQL クエリとステートメントを記述できます。
ワークシートコンテキストを設定する¶
ワークシートのコンテキストとして、データベースとオプションでデータベーススキーマを設定すると、クエリ内のオブジェクト名を完全に修飾しなくても、スキーマ内のオブジェクトを参照できます。
オートコンプリートでクエリを記述する¶
クエリエディターにスクリプトを入力すると、オートコンプリート機能が次を提案します。
SQL 関数やエイリアスなどの構文キーワードをクエリする。
スキーマ内のテーブル名または列名と一致する値。
関数を選択して、その構文と簡単な説明を表示します。
Snowflakeはテーブルエイリアスを追跡し、オートコンプリートオプションとして提案します。たとえば、 posts as p
を使用するか、 posts p
をエイリアスとして使用してクエリを実行する場合は、次回 p
と入力すると、オートコンプリート機能によりエイリアスがオプションとして提案されます。
既存のワークシートに SQL スクリプトを追加する¶
ファイルに SQL スクリプトがある場合は、次のようにして既存のワークシートに追加できます。
Snowsight にサインインします。
Worksheets を選択して、ワークシートのリストを開きます。
ワークシートを開きます。
更新するワークシートで、ワークシート名を選択し、 Import SQL from File を選択します。
コンピューター上の SQL ファイルを参照します。
ファイルのコンテンツがワークシートに追加されます。
ワークシートにあるデータベースオブジェクト名を参照する¶
ワークシートにクエリを記述する間、 Databases エクスプローラーでクエリに関連するデータベースオブジェクトを参照します。特定のデータベースオブジェクトにドリルダウンするか、検索を使用して、アクセスできるデータベース、スキーマ、またはオブジェクトを見つけることができます。
Databases エクスプローラーを使用すると、データベースとデータベースオブジェクトをピン留めして、すばやく参照できます。データベースオブジェクトにカーソルを合わせ、 Pin アイコンを選択してピン留めします。ピン留めされたオブジェクトは、 Pinned セクションの Databases エクスプローラーの最上部に表示されます。ピン留めされたすべてのオブジェクトを表示するには、セクションの展開が必要になる場合があります。
データベースオブジェクトを見つけた後、編集中のワークシートにオブジェクトの名前を配置できます。
Snowsight にサインインします。
Worksheets を選択して、ワークシートのリストを開きます。
ワークシートを開きます。
Databases エクスプローラーでデータベースオブジェクトを見つけます。
オブジェクト名にカーソルを合わせて、 ... その他のメニュー » Place Name in Editor を選択します。
ワークシート内のカーソル位置の後に、完全修飾オブジェクト名が表示されます。
データベーステーブルとビューの場合は、編集中のワークシートに列名を追加することもできます。
Snowsight にサインインします。
Worksheets を選択して、ワークシートのリストを開きます。
ワークシートを開きます。
Databases エクスプローラーでデータベースオブジェクトを見つけます。
オブジェクト名にカーソルを合わせて、 ... その他のメニュー » Add Columns in Editor を選択します。
ワークシート内のカーソル位置の後に、コンマ区切りの列名が表示されます。
クエリをフォーマットする¶
ワークシートが開いているときは、ワークシートの名前を選択してワークシートのクエリをフォーマットし、キーボードのショートカットを表示できます。
Snowsight にサインインします。
Worksheets を選択して、ワークシートのリストを開きます。
ワークシートを開きます。
ワークシートの名前を選択して More メニューを開きます。
ドロップダウンリストで Format query を選択して、読みやすいようにクエリテキストをフォーマットします。
クエリの実行¶
同じワークシートで単一のクエリまたは複数のクエリを順番に実行できます。
単一のクエリを実行するには、クエリエディターリンクでカーソルをクエリに置き、 Run ボタンを選択します。
ワークシート全体を実行するには、 Run ボタンの横にある More options ドロップダウン メニューから Run All を選択します。
ワークシートの結果の調査¶
ワークシートで1つまたはすべてのクエリを実行すると、クエリ結果が表示されます。
クエリ結果は、最大10,000行のテーブルとして表示されます。クエリが10,000行を超える行を返す場合は、 Download results オプションを使用してすべての結果を表示します。
スプレッドシートの場合と同様に、キーボードの矢印キーを使用してクエリ結果をナビゲートできます。結果テーブルで列、セル、行、または結果テーブル内の範囲を選択します。任意の選択をコピーして貼り付けることができます。
結果をチャートとして表示する場合は、 Chart を選択します。チャートの詳細については、 ワークシートデータの視覚化 をご参照ください。
結果には、すべての結果の全体的な統計だけでなく、選択内容のコンテキスト情報を表示する生成された統計も含まれます。クエリが10,000行を超える行を返す場合でも、統計には結果セット全体が反映されます。
自動コンテキスト統計¶
結果テーブルの列、セル、行、または範囲を選択して、選択したデータに関する関連情報をインスペクターペイン(結果テーブルの右側)に表示します。コンテキスト統計は、すべての列タイプに対して自動的に生成されます。統計は、データを一目で理解できるようにすることを目的としています。
列の概要には、各列の統計のプレビューが表示されます。詳細な列統計を表示するには、インスペクターまたは列ヘッダーから列を選択します。
統計ペインは、さまざまなタイプの列に対してさまざまなメトリックを生成します。統計ペインの項目を使用して、操作およびフィルターできます。
- 入力済み/空のメーター
すべての列では、何行が入力され空であるかを示します。電子メールや JSON などの一部のデータ型を表示する列でも、無効な行の数を示します。
- ヒストグラム
すべての日付、時刻、および数値列について表示されます。
ヒストグラムは、特定の範囲に該当する行を示します。バーをクリックするか、ヒストグラムをドラッグして範囲を選択します。ヒストグラムの上にある値ラベルをクリックして特定の値を入力することにより、選択を微調整できます。
- 頻度分布
すべてのカテゴリ列に表示されます。カテゴリ列は、同じ値が複数回使用されるテキスト列です。
- メールドメイン分布
メール列に表示されます。メールドメイン分布は、ドメイン名の出現頻度の分布を示します。
- キー分布
JSON 列に表示されます。キー分布は、すべての行に JSON オブジェクトが含まれている場合、結果セットに存在する上位キーの頻度を示します。列に JSON 配列が含まれている場合、キー分布は列の JSON 値の相対的な型を示します。
クエリの詳細を表示する¶
Query Details には、次のようなクエリの実行に関する情報が含まれます。
クエリ実行の期間。
結果内の行数。
実行が完了した時。
クエリによってスキャンされたデータの量。
クエリの実行に使用されるロール。
クエリの実行に使用されるウェアハウス。
一部のクエリの詳細は、14日間のみ利用できます。
クエリプロファイルを表示する¶
クエリの詳細なプロファイルにアクセスするには、 Query Details ペインで ... その他のメニュー » View Query Profile を選択します。
クエリプロファイルが新しいブラウザータブに開きます。
クエリ結果をダウンロードする¶
クエリ結果を CSV形式または TSV形式のファイルとしてダウンロードするには、 Download results を選択します。
ファイルのサイズは、クエリによって返されるデータの量に基づいています。Snowflakeは、クエリ結果用にエクスポートされるファイルのサイズを制限しません。
以前のワークシートバージョンの格納された結果¶
ワークシートで実行されたクエリの結果は、最大1年間キャッシュされます。このキャッシュは、アカウントのデータストレージ使用量に含まれています。
ワークシートでのフィルターの使用¶
次のシステムフィルターは、すべてのロールで使用できます。
:daterange
列に日付範囲を適用できるようにします。
:datebucket
集計データを時間の単位(たとえば、日ごと)でグループ化できます。
さらに、管理者はアカウントで使用するカスタムフィルターを作成できます。詳細については、 カスタムフィルター をご参照ください。
次の例を考えてみましょう:
SELECT
COUNT(O_ORDERDATE) as orders, O_ORDERDATE as date
FROM
SNOWFLAKE_SAMPLE_DATA.TPCH_SF1.ORDERS
WHERE
O_ORDERDATE = :daterange
GROUP BY
:datebucket(O_ORDERDATE), O_ORDERDATE
ORDER BY
O_ORDERDATE
この例では、
WHERE 句に :daterange システムフィルターを含めます。
GROUP BY 句に :datebucket システムフィルターを含めます。
クエリにフィルターを含めると、対応するフィルターボタンがワークシートの最上部に表示されます。

この例では、 Date bucket フィルターを day
に設定し、 Date range を All time
に設定するとします。
クエリを実行すると、結果は日ごとにグループ化されます。新しい日付範囲を選択して、結果をさらにフィルターできます。

カスタムフィルター¶
カスタムフィルターを使用すると、クエリを直接編集せずに、クエリまたは視覚化の結果を変更できます。フィルターは、クエリの実行で使用されるサブクエリまたは値のリストとして解決される、特別なキーワードとして実装されます。
ページの左上隅にある Show or Hide Filter ボタンを使用すると、カスタムフィルターを表示したり、非表示にしたり、管理したりできます。
カスタムフィルターを作成するための権限の付与¶
アカウント管理者(ACCOUNTADMIN のロールを持つユーザー)は、 ACCOUNTADMIN のロール自体を含む各ロールに、カスタムフィルターを作成する権限を付与する必要があります。
カスタムフィルターを作成する権限をロールに付与するには、
Snowsight にサインインします。
Worksheets を選択して、ワークシートのリストを開きます。
ワークシートを開きます。
Show or Hide Filter ボタンを選択して、 Manage Filters を選択します。
表示されるダイアログで、 Edit Permission を選択します。
Filter Permissions ダイアログで、フィルターを作成する権限を付与するロールを選択します。
Save を選択します。
カスタムフィルターの作成¶
カスタムフィルターを作成するには、
Snowsight にサインインします。
Worksheets を選択して、ワークシートのリストを開きます。
ワークシートを開きます。
Show or Hide Filter ボタンを選択して、 Manage Filters を選択します。
表示されるダイアログで、 + Filter を選択します。
フィルターを追加するには、次を完了します。
- Display Name
内部で他のユーザーに表示されるフィルターの名前。
- SQL Keyword
クエリに挿入する一意のキーワード。スペースを入れずに、フォーマット
:<文字列>
を使用してください。例::myfilter
- Description
フィルターの説明。
- Role
クエリから派生したフィルター値を更新するときに使用されるロール。
- Warehouse
クエリから派生したフィルター値を更新するときに使用されるウェアハウス。
- Options via
フィルター値がクエリまたは項目別リストから派生するかどうかを指定します。
フィルターにオプションを追加します。
Save を選択します。