🪶

Sigma Input tables実践入門:Empty | CSV | Linked Input Tables

に公開

AIと連携し、Excel感覚で操作できるクラウドBIサービス、Sigma(Sigma Computing)。

下記のエントリでは、SigmaにおけるInput tablesとは何ぞや?というところに関して情報をまとめてみました。

https://zenn.dev/truestar/articles/b92331d2edd861
https://zenn.dev/shinyaa31/articles/32ccd6e36d72b6

当エントリではこの内容を踏まえて、極力シンプルな形でSigmaにおけるInput tablesのそれぞれのタイプを実際に試してみたいと思います。

https://help.sigmacomputing.com/docs/create-new-input-tables

Sigma Input tablesを扱う際のシステム・ユーザー要件

SigmaにおいてInput tablesを利用するには以下の条件が必要です。

  • Input tablesをサポートし、書き込みアクセスが有効になっている接続に対して、 データの使用権限が付与されている必要があります。
    • Data access overview
    • OAuthが有効な接続で入力テーブルを使用する場合、追加の要件については、書き込みアクセスでOAuthを設定するを参照してください。
    • Amazon Redshift接続で入力テーブルを使用する場合、Redshiftのenable_case_sensitive_identifierの設定値をfalseに設定する必要があります。trueに設定すると、新しい入力テーブルの作成に失敗します。
  • [Input tablesの作成]および[ワークブックの作成、編集、および公開]権限が有効になっているアカウント・タイプが割り当てられている必要があります。
  • ワークブックの所有者であるか、ワークブックの編集権限が付与されている必要があります。他のワークブック要素とは異なり、Input tablesはカスタムビューでは作成できません。新しいInput tablesを作成できるのは、ワークブックのドラフトバージョンのみです。

Input tablesの編集に必要な権限については、下記情報をご参照ください。

Sigma Input tables実践

初期(事前)設定

SigmaでInput tablesを利用出来るようにするには事前の準備・設定が必要となります。具体的にはSigmaが書き込みに行けるようなデータベース・スキーマの設定を行います。

まず初めに、Sigmaが書き込みを行えるようなデータベース、スキーマを用意。
ここでは、以下のスペースをその領域として定めることにしました。

  • データベース:SIGMA_WRITE_ACCESS_DB
  • スキーマ:PUBLIC

下記SQLコマンドにて必要な設定を実行。利用するロールは同じくこの検証作業で作成したpc_sigma_roleに対して有効としました。

CREATE DATABASE SIGMA_WRITE_ACCESS_DB;
GRANT ALL ON SCHEMA SIGMA_WRITE_ACCESS_DB.PUBLIC TO ROLE pc_sigma_role;

Sigmaにログインし、対象となるSnowflake接続の設定変更を行います。現時点では書き込みアクセス(Write assess)の値はDisabled(無効)となっています。

対象項目のチェックボックスを有効化し、上記設定内容を踏まえて必要な値を入力。[Save]押下で設定を保存します。

設定変更完了。値がEnabled(有効)に変わり、これでInput tablesが利用出来るようになりました。

実践: Empty Input tables

ここからは実際にInput tablesを触ってみます。
まずは1つめ、「Empty Input tables」から。データを手動で入力・編集できる空のテーブルを作成します。外部データ不要で構造設定が可能です。

Sigmaの[My documents]から今回の動作検証用のワークブックを作成します。[Create new]→[Workbook]を選択。

画面下部の[Input]から[Empty]を選択。

Input tablesを作成する際に参照するデータ接続環境(source)を選択。ここで上述手順で作成したものを指定します。

指定が出来たら[Create]を押下。

Input tablesが利用出来るようになりました。作成当初は空(Empty)ですが、以下のようにスプレッドシートを利用するような感覚で値を入力することができます。ここでは既存用意されていたText列に値を幾つか入力してみました。[Save as]で結果を保存します。

任意の名称でワークブックを保存。

保存完了。

対象となったSnowflakeデータベースを確認してみます。指定したデータベース及びスキーマにテーブルが幾つか作成されていることが確認出来ました。そのうちの任意のテーブルには実際に作成した値が投入・反映されていることも確認出来ました。

上記内容を受けて、改めて行や列を追加してみます。下記画面UIにあるようにSigmaのInput tablesでは様々な属性の列が追加可能です。

追記完了。結果を保存(Publish)してください。

改めてSnoflakeの内容を確認。以下のように履歴の形で結果が追記されていることが確認出来ました。

実践: CSV Input tables

次はInput tables2つめ、「CSV Input tables」について試していきます。CSVファイルをインポートして作成するテーブルで、外部データを簡単に取り込み後、編集できる機能です。

サンプルデータとして「MovieLens」のサイトにあるCSVデータを使います。検証しやすいサイズ感のml-latest-small.zipをサイトからダウンロードしておいてください。

入手したzipファイルの中のmovies.csvを使います。

Sigmaのワークブックメニューから[Input]→[CSV]を選択。

取り込むCSVファイルを参照するダイアログが起動します。ドラッグアンドドロップまたはファイル参照で上記入手したCSVを指定。

ファイル内容のプレビュー表示が為されます。内容を確認して[Save]を押下。

無事取り込むことが出来ました。以降の操作はEmpty Input tablesと同様です。

Snowflakeデータベースにも値が反映されていることを確認出来ました。

実践: Linked Input tables

3つめのInput tables、「Linked Input table」も試してみます。別のワークシートやテーブルと連携したテーブルです。既存データをリンクし、動的な参照・更新が可能です。

Sigmaのワークブックメニューから[Input]→[Linked]を選択。

ここでソースを選択するのですが、以下のようなメッセージが出ていました。

There are no valid source elements in this workbook.
To create a linked input table, first add a table, or visualization to use as a source.
(このワークブックには有効なソース要素がありません。
Linked Input tablesを作成するには、まずソースとして使用するテーブルまたは視覚エフェクトを追加します。)

ということで何か追加しましょう。

このデータソースを準備する際に利用していたSnowflakeのデータベース配下にあるTRANSACTIONSテーブルの情報を用意しました。

改めて同じ操作を行います。今度はソース候補として表示されました。選択します。

必要なカラム(列)を選択するダイアログが表示されました。ここでは任意で幾つかの項目を選択してみます。選択後[Create input table]を押下。

前2つのInput tables同様、既存情報を活用した形でテーブルが作成されました。

まとめ

という訳で、SigmaにおけるInput Tablesの初歩的な機能、触り心地を試してみた内容の紹介でした。

Input tablesに関してはその他色々な設定や制御が可能となっているようです。詳細は下記ドキュメント等に展開されていますので適宜ご参照頂けますと幸いです。また、Sigmaから展開されているQuickstartなどでもInput tablesに関するコンテンツがありますのでエントリを改めてそれらの実践にも取り組んでいきたいと思います。


truestarテックブログ
設定によりコメント欄が無効化されています