目次
QlikViewのIf関数で様々な条件分け
QlikView(クリックビュー)ではIf関数を用いることで様々な条件分けをすることができます。
また、性別や区分などでマスター化されていない物を仕分けるときにもIf関数は有効に使用できます。
例として以下のようなCSVのデータを作成し、使用してます。
CSVのデータ例を見てみましょう。
このデータでは性別の部分が『男性』『女性』ではなく、『0』『1』で分けられています。この場合、名前から判断して『0』が男性、『1』が女性です。
実際のデータでは性別が『男性』『女性』としっかり別れているものもあれば、このように数値で表されているものも存在します。
では、このデータをQlikViewにロードしてみましょう。
CSVファイルのロード
- ロードスクリプトの編集ウィンドウを開きます。
ロードスクリプトの編集
- ロードスクリプトにて【テーブルファイルボタン】を押してください。
- 作成したCSVファイルを選択してください。
ファイルウィザード
- 【ファイルの種類】から【区切り】を選択します。
- 【区切り記号】で【カンマ】を選択します。
- 【列見出し】で【先頭行】を選択します。
- 【終了ボタン】を押します。
ロードスクリプトの編集
- 【リロード】をクリックします。リロードが完了し、リストボックスを表示すると、データは以下のようになり、性別が判断することができません。
そこでIf関数の出番となります。
If関数の使用
- 再びロードスクリプトの編集ウィンドウを開きます。
ロードスクリプトの編集
- 性別の行を『
IF(性別=0,'男性','女性') as 性別
』に変更します。If関数の書式は以下のようになっており、これを用途に分けて使っていきます。IF(条件,'条件が正の時の結果','条件が正でない時の結果')
【リロード】をクリックします。
『年齢』『名前』『性別』のリストボックスをシートに表示します。
性別が『男性』『女性』にわかれていることが確認できます。
If関数の条件の設定には『=』の他にも『>』や『<』等様々な条件を用いることが可能となっています。
今の例では、2つの場合分けを行いました。
次はいくつかの場合分けでIf関数を使用していきます。
4つの条件分け
年齢を次の4つの条件で分けていきます。
- 0~19歳の場合→“~19”
- 20~39歳の場合→“20~39”
- 40~59歳の場合→“40~59”
- 60歳以上の場合→“60~”
- ロードスクリプトの編集ウィンドウを開きます。
ロードスクリプトの編集
- 『年齢』の下に以下の文を入力してください。
IF(年齢<=19,'~19',IF(年齢<=39,'20~39',IF(年齢<=59,'40~59','60~'))) as 年代,
※If関数の条件として、『0<=年齢<=19』のようにやりがちなのですが、QlikViewではこのように表現することはできません。
- 【リロード】をクリックします。
リロードができたらシートに『年齢』『年代』のリストボックスを追加してください。
『年代』のリストボックス上で右クリックし、リストボックスのプロパティを開いてください。
基本設定
- 【レコードの表示】のチェックボックスをオンにしてください。
- 【OKボタン】を押してください。
これで、設定はすべて完了です。
『年代』のリストボックスの各データの右側に数値が出ています。
これはそのデータの項目がいくつ存在しているのかを表し、上記のとおり行っていれば、
19歳以下が2人、20~39歳が6人、40~59歳が4人、60歳以上が1人ということが確認できます。
例えば、コンビニか何かの会員データなどで会員の年代がどのようになっているのか、どの年齢層のお客様はどんな商品を買っているのか等を比較したい時に、各年齢ごとの詳細では不便が生じることがあると思います。そんなとき、各年齢をIF関数を利用し、いくつかの年代としてまとめることで年代別に比較することが可能になります。
このようにQlikViewではIf関数はとても重要な存在であり、データ分析の幅を広げることが可能になる存在です。