お問い合わせ
3 分で読むことができます。

QlikViewでIf関数を使って様々な条件分けをすることができます

執筆者 Deck 更新日時 2013年10月02日

Topics: 関数TIPS
QlikViewでIf関数を使って様々な条件分けをすることができます

目次

QlikViewのIf関数で様々な条件分け

QlikView(クリックビュー)ではIf関数を用いることで様々な条件分けをすることができます。

また、性別や区分などでマスター化されていない物を仕分けるときにもIf関数は有効に使用できます。

例として以下のようなCSVのデータを作成し、使用してます。

CSVのデータ例を見てみましょう。

 

exceldate

 

このデータでは性別の部分が『男性』『女性』ではなく、『0』『1』で分けられています。この場合、名前から判断して『0』が男性、『1』が女性です。

実際のデータでは性別が『男性』『女性』としっかり別れているものもあれば、このように数値で表されているものも存在します。

では、このデータをQlikViewにロードしてみましょう。

 

CSVファイルのロード

  1. ロードスクリプトの編集ウィンドウを開きます。

 

ロードスクリプトの編集

  1. ロードスクリプトにて【テーブルファイルボタン】を押してください。
  2. 作成したCSVファイルを選択してください。

 

ファイルウィザード

  1. 【ファイルの種類】から【区切り】を選択します。
  2. 【区切り記号】で【カンマ】を選択します。
  3. 【列見出し】で【先頭行】を選択します。
  4. 【終了ボタン】を押します。

 

logo015

 

ロードスクリプトの編集

  1. 【リロード】をクリックします。リロードが完了し、リストボックスを表示すると、データは以下のようになり、性別が判断することができません。

 

test02

 

そこでIf関数の出番となります。

 

If関数の使用

  1. 再びロードスクリプトの編集ウィンドウを開きます。

 

ロードスクリプトの編集

  1. 性別の行を『IF(性別=0,'男性','女性') as 性別』に変更します。If関数の書式は以下のようになっており、これを用途に分けて使っていきます。
    IF(条件,'条件が正の時の結果','条件が正でない時の結果')
  2. 【リロード】をクリックします。

logo14

 

『年齢』『名前』『性別』のリストボックスをシートに表示します。

性別が『男性』『女性』にわかれていることが確認できます。

 

test05

 

If関数の条件の設定には『=』の他にも『>』や『<』等様々な条件を用いることが可能となっています。

今の例では、2つの場合分けを行いました。

次はいくつかの場合分けでIf関数を使用していきます。

 

4つの条件分け

年齢を次の4つの条件で分けていきます。

  • 0~19歳の場合→“~19”
  • 20~39歳の場合→“20~39”
  • 40~59歳の場合→“40~59”
  • 60歳以上の場合→“60~”
  1. ロードスクリプトの編集ウィンドウを開きます。

 

ロードスクリプトの編集

  1. 『年齢』の下に以下の文を入力してください。
    IF(年齢<=19,'~19',IF(年齢<=39,'20~39',IF(年齢<=59,'40~59','60~'))) as 年代,
    ※If関数の条件として、『0<=年齢<=19』のようにやりがちなのですが、QlikViewではこのように表現することはできません。
  2. 【リロード】をクリックします。

 

logo13

 

リロードができたらシートに『年齢』『年代』のリストボックスを追加してください。

 

test177

 

『年代』のリストボックス上で右クリックし、リストボックスのプロパティを開いてください。

 

基本設定

  1. 【レコードの表示】のチェックボックスをオンにしてください。
  2. 【OKボタン】を押してください。

 

logo014

 

これで、設定はすべて完了です。

『年代』のリストボックスの各データの右側に数値が出ています。

これはそのデータの項目がいくつ存在しているのかを表し、上記のとおり行っていれば、

19歳以下が2人、20~39歳が6人、40~59歳が4人、60歳以上が1人ということが確認できます。

例えば、コンビニか何かの会員データなどで会員の年代がどのようになっているのか、どの年齢層のお客様はどんな商品を買っているのか等を比較したい時に、各年齢ごとの詳細では不便が生じることがあると思います。そんなとき、各年齢をIF関数を利用し、いくつかの年代としてまとめることで年代別に比較することが可能になります。

このようにQlikViewではIf関数はとても重要な存在であり、データ分析の幅を広げることが可能になる存在です。

 

Qlikで使える関数一覧は、こちら

 

QlikViewを体験してみませんか?

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

詳細はこちら

Deck

執筆者 Deck

BIスペシャリスト