お問い合わせ

この記事は

「Qlik Senseでデータ分析をする際に、重複する値を取り除くにはどうすればよいか?」

こんな疑問にお答えします。

この記事を読むと・・・

・Qlik SenseのLoad文でDistinctを使って、重複した行をカウントしない方法

・Qlik Senseシート上の数式Distinctを使って、重複した行をカウントしない方法

を知ることができます。

この記事は、BIツール導入支援及びDWH構築支援を15年以上続けてきたINSIGHT LABの中の人が書いています。

■目次

Qlik SenseのLoad文でDistinctを使う方法

こんにちは。Deckです。

例えばこのようなデータを見てみましょう。

上はとある学校祭の予定ですが、場所や催し物にいくつか重複がありますね。

Qlik Senseを使い、重複する値を取り除いてみましょう。

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

 

データの準備

新規アプリを作成し、データ ロード エディタを開きましょう。

 

「接続の新規作成」→「フォルダ」をクリックします。

 

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

 

単一項目のテーブルを読み込む際のDistinct

まず、読み込む項目が1つだけのLOAD文を作ってみましょう。

「データを選択」をクリックします。

 

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

 

読み込む項目を1つだけに絞ってスクリプトを生成します。

「催し物」のみチェックオンの状態にして「スクリプトを挿入」をクリックします。

 

生成されたスクリプトの画像の位置にDistinctを追加します。

 

Distinctは重複しているデータをそれぞれ1回のみ読み込みするようにする指定です。

今回のサンプルデータでは取り込みが以下のように行われます。

 

重複している行は1回だけ読み込まれるため、データ モデル ビューワで確認するとDistinctをつけてロードした場合はとDistinctをつけない場合と比べて件数が異なっていることがわかります。

 

複数項目のテーブルを読み込む際のDistinct

では、複数の項目を読み込むLOAD文ではどうなるかを見てみましょう。

 

先ほどのLOAD文を次のように修正します。

 

データ ロード エディタでLOADに続くDistinctは読み込まれる項目全体が重複しているかをチェックするため、一部分のみが重複する行は省かれずに読み込みが行われます。

ここまでは「データ ロード エディタ」上での「Distinct」の使い方でした。

 

続いて「シート上の数式で使われるDistinct」について解説します。

 

Qlik Senseシート上の数式Distinctの使い方

ここからは、「シート上の数式で使われるDistinct」について解説します。

 

前準備として、ここまでの記事でデータの読み込みを行ったアプリで「テーブル」を作成し、軸に「年月日」「場所」「催し物」を追加しておきましょう。

 

単一項目のDistinct

先ほど作成したテーブルにメジャーを2つ追加します。

  • メジャー① …… ラベルは「のべ催し物数」、数式は「Count(催し物)」
  • メジャー② …… ラベルは「催し物数(重複なし)」、数式は「Count(Distinct 催し物)」

数式中のDistinctによって重複している値は一度しかカウントされずに集計されます。

 

結果は以下のようになります。

重複をカウントするかどうかで集計結果が異なっていますね。

 

 

複数項目のDistinct

ここまでの解説では「催し物に被っているものがあるかどうか」に注目していましたが、今度は「年月日・場所・催し物すべてが同じ行があるか」の数式を組み立てます。

 

テーブルにメジャーを追加します。

  • メジャー③ …… ラベルは「年月日・場所・催し物数」、数式は「Count(年月日 & 場所 & 催し物)」

集計を実行すると結果は以下のようになります。

メジャー③では年月日・場所・催し物がすべて重複するかどうかをチェックするため、集計結果はメジャー①の重複チェックを行わないものと同じになりました。

 

この記事は、以上となります。

 

 

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

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

詳細はこちら

Deck

執筆者 Deck

BIスペシャリスト