ワークシートを使用したデータのクエリ

このトピックでは、Snowsightワークシートを使用してクエリを記述および実行する方法について説明します。

このトピックの内容:

ワークシートの管理

ワークシートの作成と展開

新しいワークシートを作成するには、 + Worksheet ボタン(または、既存のワークシートが開いている場合は New worksheet+)ボタン)をクリックします。

既存のワークシートを開くには、次のいずれかのタブに移動し、ワークシートの名前をクリックします。

Recent

直近で開いたワークシートを表示します。

Shared with me

同僚が明示的に共有したワークシートを表示します。

My worksheets

自分が作成して所有しているワークシートを表示します。

Folders

自分が作成したフォルダ、または同僚が明示的に共有したフォルダを表示します。

スキーマの探索

ナビゲーション

Homewksts1) » My Worksheets (または、 Recent、または Folders でローカルワークシートを開く) » <ワークシート名> » Schema タブ。ウィンドウ下部の右側のペインにスキーマブラウザーが開きます。

スキーマブラウザーを使用すると、ユーザーは、現在のセッションロールによってアクセス可能な現在のデータベース内のスキーマ、テーブル、ビュー、およびその他のオブジェクトを探索できます。

検索フィールドにテキスト文字列を入力して、テーブルと列の名前を検索します。たとえば、オブジェクト名にその文字列を含むすべてのオブジェクトを検索するには、 station と入力します。

Schema browser

テーブルの名前をクリックして、メインスキーマブラウザーペインに固定します。

Schema browser

スキーマブラウザーには、列名、データ型、行数など、各テーブルの詳細が表示されます。テーブルの詳細領域の上部にある Preview ボタンをクリックして、テーブルデータのプレビューを開きます。メインペインからテーブルを削除するには、テーブル詳細ヘッダーにあるピンアイコンをクリックします。

スキーマメタデータの更新

Snowsightのスキーマメタデータは24時間ごとに自動的に更新されます。新しいテーブルまたはビューがデータベースに作成されると、必要な権限を持つロールはオブジェクトをクエリできます。ただし、スキーマブラウザは、新しいオブジェクトをすぐに一覧表示せず、新しいオブジェクトを検索できません。

スキーマのメタデータを手動で更新するには、スキーマブラウザーで ... (オプション) » Refresh schema をクリックします。Snowsightはメタデータをすばやく更新して、新しいオブジェクトがリストされ、検索できるようにします。

クエリの作成と実行

ナビゲーション

Homewksts1) » My Worksheets (または、 Recent、または Folders でローカルワークシートを開く) » <ワークシート名>

Snowsightは、クエリの記述を可能な限りシンプルにし、必要なときに支援を提供しますが、通常は邪魔にならないようにします。

セッションコンテキストの変更

ユーザーセッションの現在のロール、ウェアハウス、およびデータベースを選択(または変更)するには、クエリエディターの左上隅にある Session Context ドロップダウンをクリックします。現在のロールは、そのロールに付与されているアクセス制御権限に基づいて、Snowflakeオブジェクトで実行できる操作を決定します。最初にロールを選択してから、そのロールが使用する権限を持つウェアハウスとデータベースを選択します。

クエリの記述

クエリエディターに入力すると、スマートオートコンプリート機能が SQL 関数やエイリアスなどのクエリ構文キーワードを提案し、スキーマ内のテーブル名または列名と一致する値を一覧表示します。この機能により、クエリをすばやく作成できます。関数の名前をクリックし、構文と簡単な説明を表示します。説明では、詳細情報に対するSnowflakeのドキュメントにリンクします。

Smart autocomplete

Snowsightはテーブルエイリアスを追跡し、オートコンプリートオプションとして提案します。たとえば、 posts as p を使用するか、 posts p をエイリアスとして使用してクエリを実行する場合は、次回 p と入力すると、オートコンプリート機能によりエイリアスがオプションとして提案されます。

クエリの実行

同じワークシートで単一のクエリまたは複数のクエリを順番に実行できます。

単一クエリ

クエリエディターで、クエリの上またはクエリ内にカーソルを置きます。

複数のクエリ

実行するクエリを強調表示します。

Runwksts2 )ボタンをクリックするか、 [CMD]+[RETURN] (Mac)または [CTRL]+[ENTER] (Windows)を押します。

クエリを実行した後、結果テーブルを探索できます。 結果テーブルの探索 をご参照ください。

クエリ履歴の表示

現在、Snowsightではクエリ履歴を視覚的に表示しません。

クエリ履歴は、従来のウェブインターフェイスまたは SQL で表示できます。

ウェブインターフェイス

History History tab をクリックします。

SQL
ACCOUNT_USAGE

QUERY_HISTORY ビューをクエリします。

情報スキーマ

テーブル関数の QUERY_HISTORY ファミリーをクエリします。

以前のワークシートバージョンのクエリ

ワークシートのクエリが実行されるたびに、ワークシートのバージョンがクエリ履歴に保存されます。ヘッダーの Updated <time> をクリックして、過去のクエリを表示します。ここから過去のクエリを再実行できます。

クエリ履歴には、クエリのプレビューまたは各クエリによって返されるエラーメッセージが表示されます。このプレビューはコンピューティングリソースを消費しません。

カスタムフィルター

カスタムフィルターは、サブクエリまたは値のリストとして解決される特別なキーワードです。

カスタムフィルターを作成するためのアクセス許可の付与

ナビゲーション

Homewksts1) » Admin » Settings » Privacy

アカウント管理者(つまり、 ACCOUNTADMIN のロールを持つユーザー)は、 ACCOUNTADMIN のロール自体を含む 各ロールに、カスタムフィルターを作成する権限を付与する必要があります。

カスタムフィルターすべては、アカウントのユーザーすべてが使用できます。

  1. Add role ボタンをクリックします。

  2. 権限を付与する各ロールを検索します。ロールを選択します。

  3. Add (<n>) ボタンをクリックします。 <n> は選択されたロールの数です。

カスタムフィルターの作成

ナビゲーション

Homewksts1) » Admin » Settings

  1. + Filter ボタンをクリックします。 Configure filter ダイアログが開きます。

  2. 次のフィールドを完了します。

    表示名

    Settings ページで内部に表示されるフィルターの名前。

    SQL キーワード

    クエリに挿入する一意のキーワード。スペースを入れずに、フォーマット :<文字列> を使用してください。例: :myfilter

    説明

    フィルターの説明。

    ロール

    クエリから派生したフィルター値を更新するときに使用されるロール。

    ウェアハウス

    クエリから派生したフィルター値を更新するときに使用されるウェアハウス。

    次を経由するオプション

    フィルター値がクエリまたは項目別リストから派生するかどうかを指定します。 Edit ボタンをクリックして、クエリまたはリストを編集します。

    クエリを介してフィルター値を使用できるようにする場合は、クエリを毎時間、または毎日更新するか、あるいはまったく更新しないかを選択します。

    値のタイプ
    テキスト

    文字列値。

    数値。

    複数の値の選択可能

    ワークシートの所有者がフィルターに複数の値を選択できるようにします。

    「すべて」オプションを含める

    任意の値、または承認済みリストの任意の値を指定できるようにする All オプションを含めます。

    「その他」オプションを含める

    任意の値を指定できるようにする Other オプションを含めます。

フィルターを使用する

次のシステムフィルターは、すべてのロールで使用できます。

:daterange

:datebucket

さらに、管理者はアカウントで使用するカスタムフィルターを作成できます。手順については、 カスタムフィルター (このトピック内)をご参照ください。

クエリ結果をフィルタリングするには、 WHERE 句にフィルターを含めます。次に、フィルターバーからの結果に適用するフィルター値を選択します。

たとえば、 :daterange フィルターを WHERE 句に含めます。データをクエリした後、クエリエディターの上にある All time セレクターをクリックし、別の時間範囲を選択します。クエリ結果は、新しいフィルター値に基づいて自動的に更新されます。

Toggle filter

フィルターの SQL 値を表示するには、 Show query without filterswksts3)ボタンをクリックします。

キーボードのショートカット

キーボードのショートカットにより、ワークシートのナビゲーションと編集を高速化できます。サポートされているキーボードのショートカットのリストを表示するには、 [CMD]+[SHIFT]+[?] (Mac)または [CTRL]+[SHIFT]+[?]を押します。 (Windows)

結果テーブルの探索

結果テーブルは、任意の選択のコンテキスト情報を表示する、生成された統計を含むインタラクティブな機能をサポートします。

スプレッドシートの場合と同様に、キーボードの矢印キーを使用して、選択項目を移動します。

結果テーブルで列、セル、行、または範囲を選択します。すべての選択をコピーして貼り付けることができます。

10,000行を上限として結果に表示されます。クエリが10,000行を超える場合でも、統計には結果セット全体が反映されます。結果をフィルタリングして、行を10,000行の制限内に収めます。結果セット全体が CSV (コンマ区切り値)形式のダウンロードに含まれます。

自動コンテキスト統計

結果テーブルの列、セル、行、または範囲を選択して、選択したデータに関する関連情報をインスペクターペイン(結果テーブルの右側)に表示します。コンテキスト統計は、すべての列タイプに対して自動的に生成されます。統計は、データを一目で理解できるようにすることを目的としています。

列の概要には、各列の統計のプレビューが表示されます。詳細な列統計を表示するには、インスペクターまたは列ヘッダーから列を選択します。

Column statistics

インスペクターペインは、列のタイプごとに異なる統計を生成します。列統計のすべての要素はクリック可能であるため、これらの要素のいずれかでフィルタリングできます。

入力済み/空のメーター

すべての列では、何行が入力され空であるかを示します。電子メールや JSON などの一部のデータ型を表示する列でも、無効な行の数を示します。

ヒストグラム

すべての日付、時刻、および数値列について表示されます。

ヒストグラムは、特定の範囲に該当する行を示します。バーをクリックするか、ヒストグラムをドラッグして範囲を選択します。ヒストグラムの上にある値ラベルをクリックして特定の値を入力することにより、選択を微調整できます。

頻度分布

すべてのカテゴリ列に表示されます。カテゴリ列は、同じ値が複数回使用されるテキスト列です。

メールドメイン分布

メール列に表示されます。メールドメイン分布は、ドメイン名の出現頻度の分布を示します。

キー分布

JSON 列に表示されます。キー分布は、すべての行に JSON オブジェクトが含まれている場合、結果セットに存在する上位キーの頻度を示します。列に JSON 配列が含まれている場合、キー分布は列の JSON 値の相対的な型を示します。

結果のダウンロード

インスペクターのダウンロードボタンを使用して、結果を CSV ファイルとしてダウンロードします。

Snowsightのダウンロードにはサイズの上限がないことに注意してください。