お問い合わせ

Qlik Senseのスクリプトで1つのセルに複数のデータが入っているときはSubFieldで分割する

1つのセルに複数データが入っていると集計・検索が不便

こんにちは。Deckです。

今回は以下のようなデータを元に、現実にあるデータを扱いやすく変換する方法について学びましょう。

売上のデータですが、「購入商品」の列に複数のデータが入っています。

このデータを集計して「売れた商品は合計でいくつなのか?」を考えてみましょう。

Count(購入商品)として購入商品をカウントすると「4」となってしまい、正しい結果「10」が出ません。

このデータは集計できる形式になっていないのです。

この問題を解決するためにスクリプトでデータを整形しましょう。

サンプルデータはこちらからダウンロード

準備ができたらさっそくはじめましょう!

 

Qlik Senseのスクリプト SubField()関数でデータを分割

新しいアプリを開き、データ ロード エディタを開きます。

「接続の新規作成」から「フォルダ」を選びます。

 

 

データが入っているフォルダに移動して名前を入力し、「作成」をクリックします。

 

新規作成した接続の「データを選択」ボタンをクリックします。

 

ファイルを選択して「選択」をクリックします。

 

プレビューが表示されますが、そのまま「スクリプトを挿入」ボタンをクリックします。

 

自動生成されたスクリプトを編集します。

 

項目「購入商品」を以下のように変更します。

SubField(購入商品,',') as 購入商品

上の数式は購入商品を「,(カンマ)」を区切り文字として分割します。

 

データをロードすると取り込み結果は以下のようになります。

それぞれ購入された商品が分割され、データが縦に並ぶようになりました。

この状態のデータなら冒頭の「売れた商品は合計でいくつなのか?」という質問に対して「Count(購入商品)で計算するから、答えは10」と正しい結果を出すことができますね。

 

この記事は、以上です。

Qlik Senseを体験してみませんか?

INSIGHT LABではQlik紹介セミナーを定期開催しています。Qlik SenseとQlikViewの簡単な製品概要から、Qlikの特性である「連想技術」のご紹介、デモを通してQlik SenseとQlikViewの操作感や美しいインターフェースをご覧いただきます。企業の大切な資産である膨大なデータからビジネスを発見する 「Business Discovery」を是非ご体験ください。

詳細はこちら

Deck

執筆者 Deck

BIスペシャリスト