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

ワークシートを作成するか開く と、 ワークシートを管理 したり、クエリを作成して実行したり、クエリ結果と履歴を調査したり、 Snowsight を使用してフィルターを設定したりできます。

このトピックの内容:

ワークシートでのクエリの記述

ワークシートを開いた後、 SQL クエリとステートメントを記述できます。

注釈

1つの API・コールで複数の SQL・ステートメントはサポートされていません。ワークシート内の各 SQL クエリがセミコロン(;)1つで終わっていることを確認します。

ワークシートコンテキストを設定する

ワークシートのコンテキストとして、データベースとオプションでデータベーススキーマを設定すると、クエリ内のオブジェクト名を完全に修飾しなくても、スキーマ内のオブジェクトを参照できます。

オートコンプリートでクエリを記述する

クエリエディターにスクリプトを入力すると、オートコンプリート機能が次を提案します。

  • SQL 関数やエイリアスなどのクエリ構文のキーワード。

  • スキーマ内のテーブル名または列名と一致する値。

関数を選択して、その構文と簡単な説明を表示します。

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

Snowflake Copilot を使用してクエリを記述します。

Snowflake Copilot は、データ分析を簡素化する LLM を搭載したアシスタントです。自然言語リクエストを使って、新しいデータセットを探索したり、クエリを生成したり、既存のクエリを改良したりすることができます。

Snowflake Copilot の詳細およびプロンプトの例については、 Snowflake Copilot の使用 をご参照ください。

既存のワークシートに SQL スクリプトを追加する

ファイルに SQL スクリプトがある場合は、次のようにして既存のワークシートに追加できます。

  1. Snowsight にサインインします。

  2. Projects » Worksheets を選択して、ワークシートのリストを開きます。

  3. ワークシートを開きます。

  4. ワークシートのタブにカーソルを合わせて ワークシートのその他のアクション を選択し、次に Import SQL from File を選択します。

  5. コンピューター上の SQL ファイルを参照します。

    ファイルのコンテンツがワークシートに追加されます。

ワークシートにあるデータベースオブジェクト名を参照する

ワークシートにクエリを記述する間、 Databases エクスプローラーでクエリに関連するデータベースオブジェクトを参照します。特定のデータベースオブジェクトにドリルダウンするか、検索を使用して、アクセスできるデータベース、スキーマ、またはオブジェクトを見つけることができます。

Databases エクスプローラーを使用すると、データベースとデータベースオブジェクトをピン留めして、すばやく参照できます。データベースオブジェクトにカーソルを合わせ、 Pin アイコンを選択してピン留めします。ピン留めされたオブジェクトは、 Pinned セクションの Databases エクスプローラーの最上部に表示されます。ピン留めされたすべてのオブジェクトを表示するには、セクションの展開が必要になる場合があります。

データベースオブジェクトを見つけた後、編集中のワークシートにオブジェクトの名前を配置できます。

  1. Snowsight にサインインします。

  2. Projects » Worksheets を選択して、ワークシートのリストを開きます。

  3. ワークシートを開きます。

  4. Databases エクスプローラーでデータベースオブジェクトを見つけます。

  5. オブジェクト名にカーソルを合わせて、 ... その他のメニュー » Place Name in Editor を選択します。

    ワークシート内のカーソル位置の後に、完全修飾オブジェクト名が表示されます。

データベーステーブルとビューの場合は、編集中のワークシートに列名を追加することもできます。

  1. Snowsight にサインインします。

  2. Projects » Worksheets を選択して、ワークシートのリストを開きます。

  3. ワークシートを開きます。

  4. Databases エクスプローラーでデータベースオブジェクトを見つけます。

  5. オブジェクト名にカーソルを合わせて、 ... その他のメニュー » Add Columns in Editor を選択します。

    ワークシート内のカーソル位置の後に、コンマ区切りの列名が表示されます。

クエリをフォーマットする

ワークシートが開いているときは、ワークシートの名前を選択してワークシートのクエリをフォーマットし、キーボードのショートカットを表示できます。

  1. Snowsight にサインインします。

  2. Projects » Worksheets を選択して、ワークシートのリストを開きます。

  3. ワークシートを開きます。

  4. ワークシートのタブにカーソルを合わせて、 ワークシートのその他のアクション を選択します。

  5. ドロップダウンリストで Format query を選択して、読みやすいようにクエリテキストをフォーマットします。

テーブルにデータをロードする

ワークシートを使用中に作業するデータを追加する場合、ワークシートを離れることなくデータをテーブルにロードできます。

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Projects » Worksheets を選択します。

  3. ワークシートを開きます。

  4. Objects を選択してオブジェクトエクスプローラーを表示します。

  5. 検索を使用するか閲覧して、特定のテーブルを見つけます。

  6. 特定のテーブル名にカーソルを合わせて、 その他のオプション » Load Data を選択します。

  7. プロンプトに従って、 50MB 以下の1つ以上の構造化ファイルまたは非構造化ファイルをアップロードします。

詳細については、 ウェブインターフェイスを使用したデータのロード をご参照ください。

クエリの実行

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

  • 単一のクエリを実行するには、クエリエディターリンクでカーソルをクエリに置き、 Run ボタンを選択します。

  • ワークシート全体を実行するには、 Run ボタンの横にある More options ドロップダウン メニューから Run All を選択します。

フォルダー内のワークシートの実行

フォルダーにはロールが割り当てられなくなりました。フォルダー内のワークシートの所有者または編集者は、ワークシートを任意のロールで実行するように変更できます。また、フォルダー内のワークシートに USE ROLE を追加すると、ワークシート内の異なるステートメントを異なるロールとして実行することもできます。

フォルダー内部にワークシートを作成すると、現在のセッションのロールでワークシートが作成されます。

注釈

共有されたフォルダー内のワークシートを実行するには、フォルダーに対する View and Run または Edit の権限がある場合でも、ワークシートと同じロールを使用する必要があります。同じロールがない場合は、ワークシートを複製して、自分自身のロールの1つとして実行します。

ワークシートの結果の調査

注釈

ほとんどのアカウントで利用可能です。米国政府リージョンのアカウント、Virtual Private Snowflake(VPS)を使用しているアカウント、Private Connectivityを使用してSnowflakeにアクセスしているアカウントでは、クエリ結果は引き続き10,000行に制限されます。

ワークシートで1つまたはすべてのクエリを実行すると、クエリ結果が表示されます。

クエリ結果は、テーブルとして表示されます。スプレッドシートの場合と同様に、キーボードの矢印キーを使用してクエリ結果をナビゲートできます。結果テーブルで列、セル、行、または結果テーブル内の範囲を選択します。選択範囲をコピー&ペーストできます。

最大100万行の結果に対して、生成された統計情報を確認することができ、全体的な統計情報だけでなく、任意の選択のコンテキスト情報を表示します。詳細については、 自動コンテキスト統計 をご参照ください。

結果をチャートとして表示する場合は、 Chart を選択します。チャートの詳細については、 ワークシートデータの視覚化 をご参照ください。

クエリの結果がキャッシュされました。詳細については、 過去のワークシートバージョンの格納された結果 および ワークシートの履歴とバージョンの管理 をご参照ください。

クエリ結果を変換するためのコストに関する考慮事項

注釈

ほとんどのアカウントで利用可能です。米国政府地域のアカウント、Virtual Private Snowflake(VPS )を使用しているアカウント、およびSnowflakeへのアクセスにPrivate Connectivityを使用しているアカウントは、クエリ結果の変換時に課金されません。

Snowsight ワークシートのクエリ結果に対して実行される列変換アクティビティには、計算コストが発生するものがあることに注意してください。計算コストは、クエリの実行に使用されたウェアハウスに対して請求されます。

例えば、列オプションを使用して列を昇順または降順でソートした場合、その変更は、返される最初の10,000行だけでなく、すべての結果に影響し、計算コストが発生します。

列を選択すると、昇順または降順に並べ替えるための矢印が表示されます。

計算コストが発生するインタラクションを識別子として特定するには、 Query History ページをフィルタリングして、 SQL Text: snowsight_transform_cte を含む SQL ステートメントのみを表示します。

以下の変換ではコストは発生 しません

  • 数値列に千単位のセパレータを表示します。

  • 列をパーセンテージで表示します。

  • 小数の精度を上げたり下げたりします。

  • 日付とタイムスタンプ列の書式設定。

さらに、共有ワークシートの受信者が限られた結果セットに対して行う変換は、コストが発生しません。共有ワークシートの結果の詳細については、 ワークシートの過去の実行結果の表示 をご参照ください。

コンピューティングコストの詳細については、 コンピューティングコストの調査 をご参照ください。

自動コンテキスト統計

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

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

統計ペインは、さまざまなタイプの列に対してさまざまなメトリックを生成します。統計ペインの項目を使用して、操作およびフィルターできます。

入力済み/空のメーター

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

ヒストグラム

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

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

頻度分布

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

メールドメイン分布

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

キー分布

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

クエリの詳細を表示する

Query Details には、次のようなクエリの実行に関する情報が含まれます。

  • クエリ実行の期間。

  • 結果内の行数。

  • 実行が完了した時。

  • クエリによってスキャンされたデータの量。

  • クエリの実行に使用されるロール。

  • クエリの実行に使用されるウェアハウス。

一部のクエリの詳細は、14日間のみ利用できます。

クエリプロファイルを表示する

クエリの詳細なプロファイルにアクセスするには、 Query Details ペインで ... その他のメニュー » View Query Profile を選択します。

クエリプロファイルが新しいブラウザータブに開きます。

クエリ結果をダウンロードする

クエリ結果を CSV形式または TSV形式のファイルとしてダウンロードするには、 Download results を選択します。

ファイルのサイズは、クエリによって返されるデータの量に基づいています。Snowflakeは、クエリ結果用にエクスポートされるファイルのサイズを制限しません。

クエリ履歴を表示

ワークシートで SQL を実行した後、ワークシートで実行したクエリの履歴を確認(例: 異なるクエリ実行の結果を比較)することができます。ワークシートのクエリ履歴を表示するには、ワークシートと同じロールを使用する必要があります。

Results ペインが表示されたら、 クエリ履歴Query history)を選択して、ワークシートで実行されたクエリとその結果を確認します。履歴には、現在のセッション中にそのワークシートで実行された最大25個のクエリと、過去14日間の以前のセッションが含まれます。

以下の情報を確認できます。

  • 処理中のクエリのステータス。

  • クエリが実行された時刻。

  • クエリの実行にかかった時間。ミリ秒または秒単位。

  • どのクエリが実行されたか。

  • クエリ ID。

行を選択すると、そのクエリの実行結果が Results ペインに表示されます。 Query history で表示するクエリの実行に使用するプライマリロールがない場合は、そのクエリの結果を表示することはできません。ストアドプロシージャまたはPythonワークシートによって生成されたサブクエリは表示されません。

ワークシートのクエリ履歴をステータス、ウェアハウス、その他のアスペクトでフィルターするには、

  • クエリ実行をステータスでフィルターする。たとえば、まだ Running または Queued のステータスで、結果が表示されていないクエリを確認します。

  • ウェアハウス、クエリ内の SQL テキスト、特定のクエリ ID 、または特定の期間よりも長い期間でフィルターするには、 フィルターを表示するまたは非表示にする を選択します。

クエリ実行行にカーソルを合わせると、実行された SQL ステートメントの包括的なプレビューが表示され、クエリ ID がコピーされ、オプションでクエリ実行のクエリ詳細が開きます。クエリの詳細に関する詳細情報については、 Snowsightを使用してクエリ履歴を確認する をご参照ください。

Snowflake Native App から編集されたクエリ履歴データ

Snowflake Native App に関連するクエリでは、以下のコンテキストで クエリ履歴 から query_texterror_message フィールドがマスクキングされます。

  • クエリは、アプリがインストールまたはアップグレードされたときに実行される。

  • アプリが所有するストアドプロシージャの子ジョブから発生するクエリ。

これらの状況では、 Snowsight のクエリ履歴のセルは空白になります。