Qlik Senseのスクリプトで1つのセルに複数のデータが入っているときはSubFieldで分割する
1つのセルに複数データが入っていると集計・検索が不便
こんにちは。Deckです。
今回は以下のようなデータを元に、現実にあるデータを扱いやすく変換する方法について学びましょう。
売上のデータですが、「購入商品」の列に複数のデータが入っています。
このデータを集計して「売れた商品は合計でいくつなのか?」を考えてみましょう。
Count(購入商品)として購入商品をカウントすると「4」となってしまい、正しい結果「10」が出ません。
このデータは集計できる形式になっていないのです。
この問題を解決するためにスクリプトでデータを整形しましょう。
準備ができたらさっそくはじめましょう!
Qlik Senseのスクリプト SubField()関数でデータを分割
新しいアプリを開き、データ ロード エディタを開きます。
「接続の新規作成」から「フォルダ」を選びます。
データが入っているフォルダに移動して名前を入力し、「作成」をクリックします。
新規作成した接続の「データを選択」ボタンをクリックします。
ファイルを選択して「選択」をクリックします。
プレビューが表示されますが、そのまま「スクリプトを挿入」ボタンをクリックします。
自動生成されたスクリプトを編集します。
項目「購入商品」を以下のように変更します。
SubField(購入商品,',') as 購入商品
上の数式は購入商品を「,(カンマ)」を区切り文字として分割します。
データをロードすると取り込み結果は以下のようになります。
それぞれ購入された商品が分割され、データが縦に並ぶようになりました。
この状態のデータなら冒頭の「売れた商品は合計でいくつなのか?」という質問に対して「Count(購入商品)で計算するから、答えは10」と正しい結果を出すことができますね。
この記事は、以上です。