Snowsightでのワークシートの管理と使用

ワークシートは、SQL クエリまたはPythonコードを実行したり、他のSnowflakeデータの読み込み、定義、操作タスクを実行したりするための強力で多彩な方法を提供します。

Snowsight でワークシートを開いた後、次のいずれかを実行できます。

さらに、 SQL ステートメントを記述 し、 結果を視覚化 できます。 Pythonコードを記述する こともできます。

ワークシートから他のワークシートを参照する

ワークシートを開くと、 Worksheets エクスプローラーで他のワークシートを表示できます。他のワークシートを検索し、 Worksheets エクスプローラーからワークシートを管理できます。

ワークシートコンテンツのプレビュー

ワークシートの内容をプレビューするには、 Worksheets エクスプローラーでワークシートの名前にカーソルを合わせます。プレビューには、ワークシートの実行に使用されたロールも表示されます。

プレビューから、ワークシートのコンテンツをコピーすることもできます。ワークシートコンテンツのプレビューにカーソルを合わせ、表示される Copy ボタンを選択します。

キーボードショートカットでワークシートを更新する

Snowsight には、ワークシート内のクエリをすばやくナビゲートおよび編集するのに役立つキーボードショートカットが用意されています。たとえば、ホットキーを使用して、ワークシート内でカーソルを移動したり、検索と置換を実行したり、行をコピーしたり、クエリをフォーマットしたりできます。

使用可能なすべてのキーボードショートカットを表示するには、ワークシートを開いて、Macキーボードでは [CMD]+[SHIFT]+[?] キーを、Windowsキーボードでは [CTRL]+[SHIFT]+[?] キーを押します。

ワークシートのタブにカーソルを合わせて ワークシートのその他のアクション を選択し、次に Show Shortcuts を選択してショートカットを表示することもできます。

ワークシートのセッションコンテキストを変更する

ワークシートのセッションコンテキストを設定して、ワークシートのコンテンツを実行するために使用するロールとウェアハウスを定義します。ワークシートのコンテキストは、今後のセッションのために保持されます。

注釈

複数のロールは選択できません。コンテキストセレクターは、セカンダリロールをサポートしていません。SQL ワークシートで二次的なロールを有効にするには、 USE SECONDARY ROLES を実行します。

ワークシートのロールコンテキストは、そのロールに付与されているアクセス制御権限に基づいて、Snowflakeオブジェクトで実行できる操作を決定します。

ワークシートのセッションコンテキストを設定するには、次を実行します。

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

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

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

  4. コンテキストセレクターを開きます。

  5. ワークシートを実行するロールを選択します。

  6. そのロールが使用する権限を持つウェアハウスを選択します。

  7. ドロップダウン以外の場所を選択して、コンテキストセレクターを閉じます。

注釈

各ワークシートは一意のセッションであり、アカウントメニューで選択したロール( アクティブなロール )とは異なるロールを使用できます。アクティブなロールを変更しても、コンテキストセレクターでワークシートに割り当てられたロールは変更されません。

ウェアハウスの再開とサイズ変更

ワークシートを実行する前後に、ウェアハウスの再開またはサイズ変更が必要になる場合があります。

ウェアハウスの詳細を変更するには、ウェアハウスに対する MODIFY または OWNERSHIP 権限が必要です。

コンテキストセレクターを使用してウェアハウスの詳細を表示および調整するには、次を実行します。

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

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

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

  4. コンテキストセレクターを開きます。

  5. Show warehouse details アイコンを選択します。

  6. Status オプションでは、ステータスを選択し、ウェアハウスが中断されている場合は Resume を選択します。

  7. Size オプションでは、サイズを選択し、別のサイズを選択します。

  8. ドロップダウン以外の場所を選択して、コンテキストセレクターを閉じます。

開いているワークシートの管理

ワークシートを開いた後、ワークシートのタブにカーソルを合わせると表示される ワークシートのその他のアクション を選択すると、開いているワークシートを次の方法で管理できます。

ワークシートを開いた状態で、 Worksheets エクスプローラーで他のワークシートを表示および管理することもできます。

  • 他のワークシートを検索します。

  • ワークシートの名前の上にカーソルを合わせると表示される その他のオプション を使用して、ワークシートの名前変更、複製、削除、または移動を実行します。

  • ワークシートアイコンを使用して、タブで開いているワークシートを特定します。塗りつぶされたアイコンは、ワークシートがタブで開かれていることを示します。

フォルダー内でのワークシートの整理

Snowsight を使用して、フォルダーにワークシートを整理および管理できます。

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

  2. Projects » Worksheets を選択します。

  3. ワークシートを選択して開きます。

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

  5. ドロップダウンリストで Move を選択してから、ワークシートの移動先または作成先のフォルダーまたはダッシュボードを選択します。

ワークシートとフォルダーの共有

ワークシートやワークシートのフォルダーは、アカウント内の他のSnowflakeユーザーと共有することができます。ワークシートを直接共有できるのは、 Snowsight にサインインしているユーザーのみです。まだ Snowsight にサインインしたことのない人と共有する場合は、代わりにリンクを共有します。

ワークシートまたはワークシートフォルダーを共有すると、そのワークシートで同僚と共同作業したり、共有ワークシートの受信者がワークシートの内容を編集または表示したり、結果を表示したり、ワークシートを実行したり、共有ワークシートを複製したりできます。 共有ワークシートの権限 をご参照ください。

共有ワークシートの権限

ワークシートを誰かと共有する場合は、他のユーザーに付与する権限を選択して、ワークシートとそのコンテンツへのアクセスを管理できます。これらの権限は、 共有ダッシュボード にも使用されます。ワークシート所有者は、ワークシート編集者と同じ権限を持ちます。

Snowsight にあるワークシートは、ワークシートのコンテキストで割り当てられた特定のロールとウェアハウスを持つ、一意のセッションを使用します。 ワークシートロール は、ワークシートを実行するために最後に使用された プライマリロール であり、ワークシートを実行するために必要です。ワークシートの所有者または編集者が異なるロールを使用してワークシートを実行すると、ワークシートのロールが変更される可能性があります。

以前のワークシートバージョンの結果を表示するには、その結果を生成した SQL ステートメントを実行するために使用されたワークシートロールが必要です。 ワークシートの過去の実行結果の表示 をご参照ください。

付与された権限

付与先が実行できる内容

編集

  • ワークシートのコンテンツを編集する。

  • ワークシートを別のロールとして実行することも含めて、ワークシートを実行する。

  • ワークシートの過去のバージョンを表示する。

  • 結果を生成するために使用されたロールがある場合に、ワークシートの旧バージョンの結果を表示する。

  • ワークシートを他の人と共有する。

  • ワークシートの過去のバージョンを表示する。

  • ワークシートを別のフォルダに追加する。

表示および実行

  • ワークシートロールがある場合:

    • ワークシートを実行する。

    • 最新のワークシートバージョンの結果を表示する。

  • ワークシートのコンテンツを表示する。

  • 自分のロールを使用してワークシートを複製し、実行する。

結果を表示

  • ワークシートロールがある場合に、最新のワークシートバージョンの結果を表示する。

  • ワークシートのコンテンツを表示する。

  • 自分のロールを使用してワークシートを複製し、実行する。

表示および実行のあるリンク

  • ワークシートロールがある場合:

    • ワークシートを実行する。

    • 最新のワークシートバージョンの結果を表示する。

  • ワークシートのコンテンツを表示する。リンクを持つユーザーは、ワークシートを複製して実行することはできない。

結果の表示のあるリンク

  • ワークシートロールがある場合に、最新のワークシートバージョンの結果を表示する。

  • ワークシートのコンテンツを表示する。リンクを持つユーザーは、ワークシートを複製して実行することはできない。

ワークシート所有者は、ワークシートを作成したユーザーであり、ワークシート編集者と同じ権限を持っています。ワークシートの所有者または編集者が、ワークシートを別のユーザーが所有するフォルダに追加すると、ワークシートの所有者が変更されます。

ワークシート所有者がSnowflakeからドロップされた場合、ドロップされたユーザーはワークシート所有者のままですが、編集権限を持つユーザーは引き続きワークシートを使用できます。ドロップされたユーザーが所有するワークシートを回復したい場合は、 ドロップされたユーザーが所有するワークシートを回復する をご参照ください。

ワークシートの過去の実行結果の表示

ワークシートにアクセスできるすべてのユーザーは、最新のワークシート実行結果を表示できます。

ワークシートの過去の実行結果を表示するには、以下を満たす必要があります。

ワークシートのクエリ履歴を表示すると、過去に実行したワークシートの結果を表示できます。 クエリ履歴を表示 をご参照ください。

注意

ワークシートを共有すると、キャッシュされた結果のバージョンも共有されます。ワークシートがマスキングまたは行アクセスポリシーによって保護されたデータをクエリする場合、またはユーザーのセカンダリロールが有効になっている場合は、キャッシュされた結果には利用者のユーザーにのみ表示される結果が含まれる可能性があります。共有ワークシートの受信者には、それらの結果を生成する権限がない場合がありますが、ワークシートのロールを持っている場合は、キャッシュされたすべての結果を表示できます。

ワークシートを共有する

ワークシートを共有するには、次を実行します。

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

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

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

  4. ワークシートの右上隅で、 Share を選択します。

  5. ワークシートを使用するために招待する、Snowflakeユーザーの名前またはユーザー名を入力します。リストには、以前に Snowsight にサインインしたことがあるユーザーのみが表示されます。まだ Snowsight にログインしたことのない人と共有する場合は、代わりにリンクを共有します。

  6. ワークシートを共有する ユーザーに付与する権限 を選択します。

  7. オプションで、ワークシートへのリンクを持つ人がアクセスするために必要な権限を設定します。

  8. 必要に応じて、 Get Link を選択して、他のユーザーと共有できるワークシートへのリンクを取得します。

  9. Done を選択します。

注釈

ワークシートの最近実行されたバージョンが、共有されるワークシートのバージョンです。ワークシートをまだ実行していない場合は、空のワークシートが共有されます。

ワークシートの編集者であろうと所有者であろうと、ワークシートのバージョンに加えた編集は、ワークシートのコードの一部または全部を実行を実行しない限り、共同作業者には表示されません。

ワークシートのフォルダーを共有する

フォルダー内のすべてのワークシートを含むフォルダーを共有するには、次を実行します。

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

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

  3. フォルダーを開きます。

  4. Share を選択します。

  5. フォルダーに招待する、Snowflakeユーザーの名前またはユーザー名を入力します。リストには、以前に Snowsight にサインインしたことがあるユーザーのみが表示されます。まだ Snowsight にログインしたことのない人と共有する場合は、代わりにリンクを共有します。

  6. フォルダーを共有する ユーザーに付与する権限 を選択します。

  7. オプションで、フォルダーへのリンクを持つ人がアクセスするために必要な権限を設定します。

  8. 必要に応じて、 Get Link を選択して、他のユーザーと共有できるフォルダーへのリンクを取得します。

  9. Done を選択します。

ワークシートを共有フォルダーに追加すると、ワークシートはそのフォルダーの共有設定を継承します。フォルダーがワークシート所有者以外に所有されている場合、ワークシートを所有するユーザーはフォルダー所有者に変更され、元のワークシート所有者はフォルダーから共有権限を継承します。

たとえば、ワークシートの所有者が編集権限を持っているフォルダーにワークシートを追加すると、ワークシートはフォルダーの所有者によって所有されるように更新され、元のワークシートの所有者はワークシートの編集権限を持つようになります。

アカウント間でのワークシートの共有

ワークシートはSnowflakeオブジェクトではないため、アカウント間で複製または共有することはできません。ワークシートのコンテンツを他のSnowflakeアカウントのユーザーと共有する場合は、コンテンツをコピーして、Snowflake外のアカウントのユーザーと共有します。

ワークシートの履歴とバージョンの管理

変更を加えて SQL クエリまたはワークシートでコードを実行すると、ワークシートの新しいバージョンが保存されます。

ワークシートに変更を加えたり、ワークシートのバージョンを管理したりする場合は、以下を考慮してください。

  • ワークシートを他のユーザーと共有すると、編集権限を持つユーザーはワークシートの過去のバージョンを表示できます。ワークシートを共有するすべてのユーザーは、ワークシートの最新バージョンの結果を表示できます。

  • 権限を持つ誰かがワークシートを実行するたびに、ワークシートの新しいバージョンが保存されます。

  • ワークシートに変更を加えても消えてしまう場合は、バージョン履歴を使用して、変更が加えられた保存済みのドラフトを開きます。

  • ワークシートの最も最近実行されたバージョンが、共同作業者に表示されるバージョンです。

  • ワークシートを共有したユーザーに表示されるようにワークシートに変更を加えるには、ワークシートを実行する必要があります。

  • 複数のユーザーが共有ワークシートを同時に編集および実行すると、ワークシートを実行するたびに新しいバージョンが作成されます。ワークシートを開いたりリフレッシュしたときに表示されるのは、最近実行されたバージョンのワークシートです。

ワークシートのバージョンの切り替え

過去のバージョンのワークシートを表示するには、次を実行します。

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

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

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

  4. ワークシートの Code Versions を選択します。

  5. ワークシートバージョンのリストから、表示したいバージョンのタイムスタンプを選択します。

  6. そのバージョンのワークシートの詳細を確認し、オプションでコピーします。

  7. ワークシートの現在のバージョンに戻るには、 Close を選択します。

過去のワークシートの実行結果を表示するには、そのワークシートのクエリ履歴を表示します。 クエリ履歴を表示 をご参照ください。

過去のワークシートバージョンの格納された結果

ワークシートで実行されたクエリの結果は、最大90日間、または25個のワークシートバージョンのいずれか大きい方の期間キャッシュされます。このキャッシュは、アカウントのデータストレージ使用量に含まれています。

ドロップされたユーザーが所有するワークシートを回復する

ユーザーをドロップした場合、そのユーザーが所有するワークシートの最大500シートまで回復できます。ワークシートを回復するには、次を実行します。

  1. ドロップされたユーザーが所有する 回復したワークシートをダウンロード します。

  2. SQL ファイルからワークシートを作成 して、回復したワークシートをSnowflakeに追加します。

ユーザーをドロップする前にワークシートの所有権を変更したり、ワークシートへのアクセス権を保持したい場合は、そのユーザーにワークシートの共有を依頼してください。 ワークシートとフォルダーの共有 をご参照ください。

ドロップされたユーザーが所有する回復したワークシートをダウンロードする

ドロップされたユーザーが所有するワークシートを回復するには、そのユーザーが所有する最大500シートのワークシートを含む .tar.gz 件のアーカイブファイルをダウンロードします。

注釈

ドロップされたユーザーのワークシートを回復するには、 ACCOUNTADMIN ロールが付与されている必要があります。

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

  2. Projects » Worksheets を選択します。

  3. その他のオプション » Recover Worksheets from Dropped User を選択します。

  4. ダイアログボックスで、アカウントにドロップされたユーザーのユーザー名を入力します。

    重要

    ユーザー名の大文字と小文字、およびスペルは、Snowflakeに保存されているユーザー名と完全に一致する必要があります。

  5. Recover を選択します。

    ウェブブラウザーは、最大500シートのワークシートを含む .tar ファイルをダウンロードします。ドロップされたユーザーに500件以上のワークシートがある場合、最近更新された500件のワークシートのみがダウンロードされます。

ドロップされたユーザーが所有するワークシートをダウンロードした後、SQL ファイルからワークシートを作成して、回復したワークシートを Snowsight に追加します。

回復したワークシートを Snowsight に追加する前に、ダウンロードした .tar ファイルを .sql ファイルのフォルダーに展開する必要があります。 Snowsight には一度に1つのワークシートのみを追加でき、回復したワークシートを Snowsight に追加したユーザーがワークシートの新しい所有者になります。

詳細については SQL ファイルからワークシートを作成する をご参照ください。

削除されたユーザーが所有するワークシートを回復するための考慮事項

ワークシートを回復する際の考慮事項:

  • 最近実行されたバージョンのワークシートのタイトルと内容のみが回復されます。ワークシートのバージョン履歴、共有先と権限、クエリ結果、およびワークシートのメタデータは回復されません。

  • 最大で500シートのワークシートが回復されます。ドロップされたユーザーに500シート以上のワークシートがある場合、最近更新された500シートのワークシートのみがダウンロードされます。

  • Snowsight のワークシートのみが回復されます。ドロップされたユーザーが所有する Classic Console のワークシートは、この方法では回復できません。

  • 複数のドロップされたユーザーが同じユーザー名を持つ場合、そのユーザー名を持つすべてのドロップされたユーザーが所有するワークシートが回復されます。

予期しない理由でワークシートの回復が失敗した場合は、 Snowflakeサポート に連絡してください。

ワークシートの内部Snowflakeオブジェクト

Snowflakeは、 Snowsight のワークシートの使用をサポートするために次の内部オブジェクトを作成します。

オブジェクト型

名前

セキュリティ統合

WORKSHEETS

BLOB

WORKSHEETS_APP

データベース

WORKSHEETS_APP

ユーザー

WORKSHEETS_APP_USER

ロール

APPADMIN, WORKSHEETS_APP_RL

これらの内部オブジェクトは、アカウントの内部ステージでクエリ結果をキャッシュするために使用されます。このキャッシュされたデータは暗号化され、アカウントのキー階層によって保護されます。

内部ロールに付与された制限付き権限は、 Snowsight が内部ステージにアクセスしてそれらの結果を格納することのみを許可します。ロールは、アカウント内のオブジェクトを一覧表示したり、テーブル内のデータにアクセスしたりすることは できません

SNOWFLAKE 共有データベースの ACCOUNT_USAGE スキーマで、それぞれ USERS ビューと ROLES ビューをクエリすると、 Snowsight のユーザーとロールが返されます。 SHOW <オブジェクト> ステートメントはこれらの内部オブジェクトを返しません。