こんにちは。Deckです。
この記事ではVizlib Writebackを使用して、Snowflakeの既存のテーブルに接続してテーブルの内容表示やレコードの追加をする方法を解説します。
前提として、環境はQlik Cloud+Vizlib Server for Qlik Cloud+Snowflakeを利用しています。
まずは事前準備としてSnowflake側でテーブルを用意しましょう。
SnowflakeのWebコンソールにログインし、データベース・スキーマを選択し、Create⇒Table⇒Standardをクリックします。
テーブル定義を入力します。
ここではテーブル名は「Item」とし、int型の「Id」、text型の「Name」、int型の「Rating」の3つの項目を作成します。
テーブルが作成できたら、INSERT文でレコードを追加します。
テーブルプレビューからレコードが追加されたことを確認します。
次にVizlib Serverの設定を行い、Snowflakeへの接続設定を行います。
VMC(Vizlib管理コンソール)を開き、新規Integrationを作成します。
Snowflakeに接続するための各種項目を入力します。
次に、新規Destinationを作成します。
DestinationのId、TypeはSnowflake、APPIDは「{{APPID}}」とします。
DB Integrationは先ほど作成したIntegrationを選択し、スキーマとテーブル名は事前準備で作成したものを指定します。
ここからはQlik Senseでの作業になります。
新規Qlik Senseアプリを作成し、データロードエディタを開きます。
新規データ接続を作成します。タイプはSnowflakeとします。
サーバー・ポート・データベース・ログイン情報等を入力し、接続テストが正常に成功したら接続を保存します。
作成したデータ接続から、「データを選択」ボタンをクリックします。
データベース・スキーマ・テーブルを選択し、「スクリプトを挿入」をクリックします。
スクリプトが生成されました。このままデータをロードします。
Qlik SenseでSnowflakeのデータが取り込めることが確認できました。
引き続き、シートの編集を行います。
カスタムオブジェクトから「Vizlib Writeback Table」を追加します。
Writeback SettingsからAudit Columnsを開き、Noneを選択します。
Setup画面を開きます。
TypeはServerを選択し、Destinationは先ほど作成したものを利用します。
Define Table Columnsに移動します。
画面左から項目をそれぞれ追加し、TypeをそれぞれNumeric、Text、Ratingに設定します。
Generate Load Scriptに移動します。
ロードスクリプトは前の手順で作成済みなので、そのまま「Save」をクリックします。
ここまでの設定を行うとオブジェクトが表示されます。
Snowflake側で作成したレコードが表示されていることがわかります。
新たにレコードを追加してみましょう。
「Add row」をクリックすると新規行が追加され、編集できるようになります。
各項目を入力し、「Writeback data」をクリックするとデータの送信が行われます。
Snowflakeに戻り、データのプレビューを確認すると新規レコードが追加されていることがわかります。
この記事ではあらかじめ作成しておいたSnowflakeのテーブルに接続し、Vizlib Writeback Tableからレコードの追加を行う方法を解説しました。
Vizlib Writeback Tableではこのようにデータベースに対して直感的にテーブルの編集作業を行えるので、Qlik Senseを利用したデータ分析の幅がより広がります。