
Sigma Computingにおける実践チュートリアルコンテンツといえば『Sigma Quickstarts』がまず思い浮かびますが、Sigma公式ドキュメントにて展開されている各種チュートリアルも実はあったりします。Quickstartsは比較的大長編、(1つのコンテンツとして)重めなものが多い印象ですが、公式ドキュメント展開のコンテンツはそれよりは比較的サクッと出来るものが割合として多い気もしています(気のせいかもしれませんが)
そんな中、公式ドキュメントで比較的軽めな、それでいてSigmaの特徴的な機能『Input Table』が手軽に体験出来るアプリのチュートリアルを見つけたので試してみたいと思います。以下の『App tutorial: Build an employee feedback survey(アプリチュートリアル:従業員フィードバック調査』です。 help.sigmacomputing.com
- 概要
- 考慮事項
- 実践手順
- 3-2と同様の流れで設定項目の変更を行います。
- 3-2と同様の流れで設定項目の変更を行います。この項目のみ必須では無い点に注意。
- おまけ:同じ内容をSigma Assistant任せでやってみた
- まとめ
概要
このチュートリアルでは、以下のデータポイントを記録するためのInput Tableに対応する、シンプルな従業員フィードバックフォームの作成手順を説明します。以下の項目を用意する形です。
- Job sentiment / 仕事に対する意識
- Net promoter score (NPS) rating / ネットプロモータースコア(NPS)評価
- Workplace preference / 勤務形態
- Feedback on leadership / リーダーシップに関するフィードバック
- Date and time form submission is received / フォーム送信日時
基本的なデータ収集アプリとして、このソリューションはユーザー入力をデータプラットフォームに書き込む機能のみを備えており、ソースデータの統合や分析機能は搭載していません。チュートリアルが完了すると、以下に埋め込まれたような動作するアプリが完成します。フォームを送信すると、データがフォーム送信入力テーブルにどのように記録されるかを確認できます。

考慮事項
Sigmaではマニュアル操作の他に「Sigma Assistant」を使ってアプリを作成することも出来る
このエントリでは、基本的にSigmaのUIを駆使して手動で操作を行う事で所定のアプリを作成していきます。
ですがSigmaでは環境的に有効になっていれば「Sigma Assistant」を使ってアプリを作成する事も可能です。簡単な「ワンショット」プロンプトで指示を出すことで、Sigma Assistantは、入力テーブル、フォーム、およびフォームエントリを記録およびクリアするアクションを使用してアプリを構築してくれます。なんて便利な世の中になったのでしょう...!
Sigma Assistantへのアクセス方法や各種モード(プランモード・ビルドモード)の使用方法については、「Sigma Assistant を使用してダッシュボードとアプリを作成する」をご参照ください。
アプリ作成にはSigma Public環境を使います
一旦この手順を進めるに際しては無料版でSigmaのアプリケーション作成、コンテンツ共有が体験出来る『SIgma Public』を使うことにします。
Sigma Publicの環境準備に関しては下記エントリをご参照ください。
実践手順
手順 #1:ワークブックの作成と保存
Sigma Publicのアカウントを作成、サインイン後に画面右上の[Create app]を押下。

必要事項を記入し[Save Details]を押下。

Sigmaアプリケーションの編集画面に遷移しました。作業はここで行います。

手順 #2:Input Tableの作成とスキーマ定義
#2-1. Input Tableの作成
画面下部のメニュー[Input]→[Empty]を選択。

Sigmaの特徴的な機能である『Input Table』が登場です。一旦任意の名前を当てておきます。

#2-2. 「Job sentiment / 仕事に対する意識」列の追加
既存生成済みのテキスト項目列ヘッダの[v]からメニュー展開、[Change column type]→[Single-select(Text)]を選択。

テキスト入力による選択肢を設定することができます。以下の選択肢、色設定を行いました。[Save]押下で保存。
- 大変満足(Very satisfied)
- 満足(Satisfied)
- 普通(Neutral)
- 不満(Dissatisfied)
- 大変不満(Very dissatisfied)

列の応答オプションを定義することで、現在および将来のすべての書き込みパス(フォーム、直接入力など))における入力値を制限できます。

設定完了後、列名を仕事に対する意識と変更しておきました。
#2-3. 「Net promoter score (NPS) rating / ネットプロモータースコア(NPS)評価」列の追加
Input Table列右端の[+]から[Number]を選択。数字列を追加します。

[Option Source]はConditionのまま、[Is between]の内容を0-10で設定します。設定後[Save]押下。

設定完了後、列名をNPS評価と変更しておきました。
#2-4. 「Workplace preference / 希望勤務地」列の追加
Input Table列右端の[+]から[Single-select]→[Text]を選択。

「2-2:Job sentiment / 仕事に対する意識」と同じ種別の項目定義を行います。希望勤務地に関する選択肢ですね。以下の内容を設定しました。
- ハイブリッド(Hybrid)
- オフィス勤務(In-office)
- リモートワーク(Remote)

設定完了後、列名を希望勤務地と変更しておきました。
#2-5. 「Feedback on leadership / リーダーシップに関するフィードバック」列の追加
フリーテキストのフィードバック用項目も合わせて作成します。Input Table列右端の[+]から[Text]を選択。

この項目は特に設定変更は無しです。列名をリーダーシップに関するフィードバックに変更しておきました。

#2-6. データ登録日(システム日付)列の追加
データの登録日に相当する項目も追加します。Input Table列右端の[+]から[Row edit history]→[Created at]を選択。

生成された列の名前を受領日と変更しておきました。
手順 #3:フォームの作成
データ入力を行うテーブルの準備は「手順 #2」で全て整いました。次の手順(#3)では、フォームをテーブルの子要素として作成します。フォームは、各データ入力列に対応するフィールドを自動的に生成し、フォーム送信内容を入力テーブルに書き込むアクションを設定します。
フォーム要素を作成したら、各フィールドを修正して対応するアンケート質問を表示させ、関連するフィールドタイプ、プレースホルダーテキスト、および必須入力ルールを設定します。
#3-1. フォーム要素の作成
Input Tableの左上メニューからグラフアイコンを選択、[子要素を作成]→[Form]を選択。

Input Tableの要素に対応する形で新しくフォーム要素が作成されました。

フォーム要素全体のイメージはこちら。Input Tableの項目属性に合わせる形でよしなに初期値設定がされた状態で作ってくれています。

#3-2. 「Job sentiment / 仕事に対する意識」列の設定
フォームのプロパティパネルで対応する項目フィールドを選択。設定値をそれぞれ以下の内容に変更します。
- Label:
現在の役割と責任について、どの程度満足していますか? - Field Type:
Dropdown - Placeholder:
5段階評価:選択してください - Rules:必須入力=
On

#3-3. 「Net promoter score (NPS) rating / ネットプロモータースコア(NPS)評価」列の設定
3-2と同様の流れで設定項目の変更を行います。
- Label:
この会社を素晴らしい職場として、どの程度お勧めできますか?(0=全くお勧めできない、10=非常にお勧めできる) - Field Type:
Dropdown - Placeholder:
評価を0〜10の整数で入力してください - Rules:必須入力=
On

#3-4. 「Workplace」列の設定
3-2と同様の流れで設定項目の変更を行います。Field Typeは変更することで見た目も変わりますね。
- Label:
あなたはどちらの職場環境を好みますか? - Field Type:
Segmented choice - Rules:必須入力=
On

#3-5. 「Feedback on leadership / リーダーシップに関するフィードバック」列の設定
3-2と同様の流れで設定項目の変更を行います。この項目のみ必須では無い点に注意。
- Label:あなたの仕事経験をより良いものにするためにリーダーシップで何ができるでしょうか?
- Field Type:
Long Text - Placeholder:
改善のためにフィードバックをお寄せください

手順 #4:アプリのテスト
これで一通りの実装が完了しました。挙動的に問題無いかどうか一通りのテストを行っておきましょう。

テスト完了時の全体イメージです。(※画像を追加しました)

おまけ:同じ内容をSigma Assistant任せでやってみた
冒頭で「SigmaアプリはSigma Assistantを使って作ることも出来る」と紹介していました。実際にお願いしたらどんな感じで出来るのでしょうか。
Build an employee feedback survey that collects job sentiment, NPS rating, workplace preference, and feedback on leadership. Also record the date and time Sigma receives each form submission. (業務に対する意識、NPS(ネット・プロモーター・スコア)、職場環境の希望、およびリーダーシップに関するフィードバックを収集する従業員アンケートを作成してください。また、Sigmaが各回答を受け取った日時も記録するようにしてください。)
上記はチュートリアルドキュメントに記載されていたプロンプト英文(とそれを日本語訳したもの)です。
これを、Sigma Assistantにそのまま投げてみましょう。

実行モードはPlanも選べるようなので一旦Planで。

データソースの指定内容を聞かれます。Sigma Publicなので使えるのはSnowflakeのサンプルデータソースのみ。




Plan内容を承認し、BUILD実行依頼。10分ほど経過したでしょうか、幾つかのやり取りを経て...
以下のようなアプリ形式まで一気に作成してくれてました!ただこちらの意図した通り100%、というわけでは無く、明らかに違うところとか微妙なニュアンスが伝わってない(まぁプロンプト自体100%詳細正確では無かったので当然っちゃ当然なんだけど)ところもあったので、そこは以下のような感じでやり取りを行い、(時間にして10〜15分くらいかな)
最初のNPSに関する項目だけど、0〜10のスケールでって書いてる割には選べるのが0〜6までになってるね ---- NPS選択の部分、ラジオボタンにすると縦に11行場所取ってしまうので、プルダウン形式に変更してもらえますか? ---- 理想的な職場環境について、ここはテキストではなくて選択式としたいです。以下の選択肢形式に変更してもらえますか? ・ハイブリッド ・オフィス勤務 ・リモートワーク ---- 全ての要素を表示させるために縦スクロールを必要としているようですね。表示領域(縦)が固定されているからでしょうか?これ改善してもらってもいい? 逆に高さをもっと広げて、画面内スクロールをしないようにして欲しいんだ
こんな感じで完成です!手作り版同様の挙動、体裁で動かせています。

また、登録自体もちゃんと行えているようでした。

まとめ
諸々動作確認ができたらアプリの共有・公開へ進みましょう。
手順や遷移に関しては下記エントリにまとめています。(※「Sigma Publicアプリケーションの作成と公開」参照)
という訳で、『App tutorial: Build an employee feedback survey(アプリチュートリアル:従業員フィードバック調査』の実践内容共有でした。サクッと手軽に...と冒頭言っていたのにも関わらずボリュームは(画像キャプチャ多めにしたので)いつもの感じになってしまった感が無くもない(笑)

Sigmaでは「Input Table」という、参照するだけでは無くてユーザー側からのデータ入力・更新を受ける事が出来る機能が利用できます。今回のエントリではその一端を垣間見える体験が比較的サクッと出来る、初手のハンズオンとして利用出来るのでは無いでしょうか。気になった人は是非試してみてください。
※注:Sigma Publicでは(Sigmaサーバ版でも?)、Input Tableのような「データを登録・変更するような挙動を示す機能」を利用する場合、サインインを前提とするアクセスが必要になる模様です。この辺詳細な仕様や状況については別途エントリでご報告、共有出来ればと思います。