数値のクラス分け(2)Floor,If,Classでクラス分け

スクリプトを編集してクラス分け

こんにちは。Deckです。

この記事は数値のクラス分けの第2回の記事です。

前回の記事ではFloorClassIf関数それぞれの性質の解説とサンプルデータの指定までを行いました。

引き続き、実際にスクリプトを編集してクラス分けを行ってみましょう。

スクリプトを編集

前回の記事で生成したスクリプトを以下のように編集します。

下線を引いた部分を追加します。

Floor(年齢,10) & ‘代’ as 年代_Floor,
Class(年齢,10) as 年代_Class,
If(獲得ポイント数 >=10000,’ゴールド会員’,If(獲得ポイント数>=5000,’シルバー会員’,If(獲得ポイント数>=1000,’ブロンズ会員’))) as ランク

それぞれの数式を解説します。

Floor関数

Floor(数値, 数値間隔 [ , オフセット ])

数値間隔は任意の値を指定できます。オフセットを指定すると開始位置を変更することができ、例えば「5から数え始め、10刻みでクラス分けする」ことが可能です。

Class関数

class(数値, 数値間隔 [ , ラベル [ , オフセット ]])

Floor関数と同様、数値間隔やオフセットは任意の値を指定できます。

ラベルはClass関数の結果として表示される「5000 <= x <10000」のxの部分を変更できます。

If関数

If(条件式, 条件が満たされたときの数式 [ , 条件が満たされないときの数式 ])

今回はIf関数を入れ子になるように使い、「獲得ポイント数>=10000ならゴールド会員」→「獲得ポイント数>=5000ならシルバー会員」→「獲得ポイント数>=1000ならブロンズ会員」の順で判別しています。

条件の順番を逆にするとゴールドになるはずの会員がブロンズ会員になってしまうこともあるので注意して数式を組み立ててください。

結果

上のスクリプトをロードするとクラス分けが行われます。

このように、Qlik Senseでクラス分けを行うときは適切な関数を使い分けましょう。

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

アイウェイズコンサルティングでは毎月QlikSenseの無料ハンズオンセミナーを開催しています。 初めてQlikSenseをご利用される方を対象に、QlikSenseって何?ってところからQlikSenseと他のBIとの違いについてもわかりやすくご説明させて頂いております。