Snowsightでのワークシートの管理および使用

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

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

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

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

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

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

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

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

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

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

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

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

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

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

注釈

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

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

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

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

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

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

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

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

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

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

注釈

各ワークシートは一意のセッションであり、 user menu で選択したロール(アクティブなロール)とは異なるロールを使用できます。アクティブなロールを変更しても、 context selector でワークシートに割り当てられたロールは変更されません。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. Worksheets を選択します。

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

  4. ワークシートのタブにカーソルを合わせて、 more actions for worksheet を選択します。

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

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

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

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

共有ワークシートの権限

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

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

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

付与された権限

付与先が実行できる内容

編集

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

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

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

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

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

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

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

表示および実行

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

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

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

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

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

結果を表示

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

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

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

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

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

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

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

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

結果の表示のあるリンク

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

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

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

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

ワークシートバージョンの結果の表示

ワークシートに対するワークシート所有者およびワークシート編集権限を持つユーザーは、過去のワークシートバージョン、および場合によってはそれらのワークシートバージョンの結果を表示できます。表示と実行、および結果の表示権限を持つユーザーは、最新のワークシートバージョンの結果を表示できます。

ワークシートの旧バージョンの結果を表示するには、以下を満たす必要があります。

ご用心

ユーザーのセカンダリロールが有効になっている場合、ワークシートを実行したときに生成されるワークシート結果には、ワークシートの実行に使用されるプライマリロールではなく、セカンダリロールに付与された権限によって利用可能な結果が含まれる可能性があります。そのバージョンのワークシートのワークシートロールを持つ人は誰でも、関連するセカンダリロール権限によってのみ表示されるものも含めて、すべての結果を表示することができます。

ワークシートを共有する

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

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

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

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

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

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

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

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

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

  9. Done を選択します。

注釈

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

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

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

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

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

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

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

  4. Worksheets page の右上隅で、 Share を選択します。

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

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

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

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

  9. Done を選択します。

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

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

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

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

ワークシートの履歴およびバージョンの管理

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  5. ワークシートバージョンのドロップダウンリストから、開くバージョンのタイムスタンプを選択します。

過去のワークシートバージョンの格納済み結果

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

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

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

オブジェクト型

名前

セキュリティ統合

WORKSHEETS

BLOB

WORKSHEETS_APP

データベース

WORKSHEETS_APP

ユーザー

WORKSHEETS_APP_USER

ロール

APPADMIN, WORKSHEETS_APP_RL

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

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

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