Sigma Input tablesユースケース想定実践:『データ収集(Data Collection)』

AIと連携し、Excel感覚で操作できるクラウドBIサービス、Sigma(Sigma Computing)。
当エントリでは、Sigmaチュートリアルで公開・展開されているInput tablesを使った実践コンテンツを試してみたいと思います。幾つかあるユースケースの中から、今回は『データ収集(Data Collection)』にチャレンジしてみます。
はじめに
Sigmaの利活用シーンに於いて、Sigmaユーザーから少量のデータを収集することは、ビジネスにとって非常に価値ある場合があります。一方でこれには幾つかの課題があります:
- 新しいアプリケーションを構築する必要はあるか?
- データを収集する最適なタイミングはいつ?
- ユーザーは別のツールを受け入れるだろうか?
- データを取得した後、既存のウェアハウスデータとどのように関連付けられるか?
ユーザーは既にSigma(またはスプレッドシート)を使用しており、Sigmaを使用すべきと考えています。Input tablesはこの問題を解決するのに役立ちます。
なぜSigmaワークブックを作成し、ユーザーがリアルタイムで少量のデータを入力できる機能を追加しないのでしょうか?SigmaはUIとデータ処理の重い部分を担い、データをデータウェアハウスに格納します。
ユーザーがウェアハウスデータを追加/補足できるようにすることで、新たな可能性が拓けてきます。この方法を示すため、非常にシンプルな例をここでは使用します。
会計部門は請求書のステータスを更新し、コメント/メモを追加する必要がありますが、データ入力担当者に会計システムへのアクセス権限を付与したくない場合があります。
Sigmaでは、開発者やデータベース管理者の貴重な時間を割くことなく、入力テーブルを使用してこの問題を解決します。
1: 所定のキーで結合したテーブルを用意(INVOICE_LINE_ITEMS + CUSTOMERS)
このユースケースでは、2つのテーブルを結合して異なるデータを使用していきます。
ワークブックで新しいページを作成し、ページタイトルをData Collectionとします。

このエントリでは、ソースデータテーブルの最終的なデータ系譜は次のようにになります:

ワークブックを編集モードに切り替え、Dataページに遷移。
INVOICE_LINE_ITEMSという新しいテーブルを追加します。
- 画面下部メニュー[Data]から[Table]を選択
- [Data sources]→[Sigma Sample Database]→[EXAMPLES]→[COMMERCE]→[INVOICE_LINE_ITEMS]を選択
生成されたテーブルの名称をINVOICE_LINE_ITEMSにリネームし、このテーブルに対してデータを結合していきます。テーブル右上の三点メニューから[Element source]→[Join]を選択。

[Sigma Sample Database]→[EXAMPLES]→[COMMERCE]→[CUSTOMERS]を選択、画面右下の[Select]を押下。

Customer idでの結合を行います。[Preview output]を押下。

要素が所定の条件で結合されイメージをリネージとして確認出来ました。[Done]を押下。

テーブル名をCustomer Invoice Line Itemsにリネームし、不要なカラムは削除します。

2: Linked Input tableの追加
ここでは新しくLinked Input tablesを追加します。上記で作成・リネームしたテーブルの右上メニュー、グラフアイコンから[Linked Input table]を選択。

項目にInvoice Id、Invoice Date、Stock Idを指定、[Create input table]を押下。

新しいLinked Input tableがData Collectionページに追加されました。

3: Input Tablesの入力フィルタリング設定
We want the user to be able to filter the input table to specific Companies.
ユーザーが入力テーブルを特定の企業(Companies)にフィルタリングできるようにしたいと考えています。
画面下部メニュー[Controls]から[List Values]を選択。

各種項目を以下の内容で設定します。
- Control type:
List values - Value source:
Data Collection - Customer Invoice Line Items - Source Column:
Company - Control ID:
Company
[TARGETS]タブを開き、filter targetにCustomer Invoice Line Items - Companyを指定。

これで、データキャプチャを有効にする列を追加する準備が整いました。
New Linked Input Tableという名前で作っていたLinked Input table(Invoice Id,Invoice Date,Stock Idから構成)の名前をData Collectionにリネーム。

テーブルにStatusとNotesというカラムを追加します。(一旦はテキスト形式の項目として)

以前のユースケースではデータ検証のデモを実践しましたが、今回はStatus列に対して入力する値を所定のリストに制限する形の設定を行っていきます。列のメニューから[Data Validation]を選択。

[Value source]の値はそのまま、[Define values]の値に以下4つの項目を追加します。出来たら[Save]押下。
- In Process
- Backlogged
- Outstanding
- Fulfilled
これで、会社名Companyでフィルタリングを掛け、、ステータス(Status)を選択してメモ(Notes)を追加できるようになりました。


5: データ入力権限の設定
テスト前の最後のステップは、データ入力権限を設定することです。ここまでの設定内容を一旦[Publish]しておいた上で、Data CollectionのInput tableに対し設定を追加します。メニューから[Set data entry permission]を選択。

ダイアログでは、『SigmaがInput tablesを誰が編集できるかを』説明する2つの選択肢を提示しています。ここでは2つめの[Only Published version]を選択し、[Save]を押下。

ワークブックを公開し、公開されたバージョンに移動して、エンドユーザーが見て操作するのと同じように確認してみましょう。

Data Collectionにアクセスし、[Edit data]ボタンを押下。

データに対し、Statusは任意の選択肢から選び、Notesは任意の文字列を記載・保存出来ることが確認出来ました!

まとめ
というわけで、Sigma(Sigma Computing)におけるInput tablesを活用したユースケースの実践シリーズ『データ収集(Data Collection)』の紹介でした。Input Tablesの入力値の内容を制御する、制御する際に既存データを活用する...というケースも比較的有り得そうなシチュエーションではあるので今回の実践についても非常に強い利用イメージを持つことが出来ました。インタラクティブにデータのやり取りを行う場所が作れるというのはSigmaならではの強みですね。