---
title: 【QlikView】数値のクラス分け Floor,If,Classでクラス分け【ある程度のまとまりでデータをクラス分けすると分析がしやすい】
description: QlikViewで数値のクラス分けをする方法をお探しですか？本記事では、QlikViewで数値のクラス分けをするための方法として関数を３種類（Floor,If,Class）使い方と合わせてご紹介しています。【ある程度のまとまりでデータをクラス分けすると分析がしやすくなりますのでぜひご活用ください。
---

[QlikViewナレッジ - INSIGHT LAB](https://knowledge.insight-lab.co.jp/qlikview)

# [【QlikView】数値のクラス分け Floor,If,Classでクラス分け【ある程度のまとまりでデータをクラス分けすると分析がしやすい】](https://knowledge.insight-lab.co.jp/qlikview/knowledge/loadscript/floorifclass_1)

 作成者: [Deck](https://knowledge.insight-lab.co.jp/qlikview/author/deck)｜2020年1月14日

## QlikViewを使ってクラス分けする関数（**Floor**、**Class**、**If**）それぞれの性質の解説

こんにちは。Deckです。

データを取り込むとき、ある程度のまとまりでデータをクラス分けすると分析がしやすくなるときがあります。  
下のテーブルを見てください。

<https://knowledge.insight-lab.co.jp/hubfs/Imported_Blog_Media/%E5%85%83%E3%83%87%E3%83%BC%E3%82%BF-2.png>

例えば年齢については10歳刻みで「年代」としたり、獲得ポイント数によっては特別なフラグを付ける必要があるかもしれません。(○○ポイント以上の会員にだけDMを送るなどが考えられますね)

この記事では下の3つの方法でデータのクラス分けを扱います。

- **Floor関数で特定の位を切り捨てることでクラス分けする**
- **Class関数でクラス分けする**
- **If関数でしきい値を設定する**

**Floor関数やClass関数を使うときは一定値ごとに区切り**をつけたいとき、**If関数はしきい値が決まっているとき**に使います。

 

### Floor関数

Floor関数は**数値を切り捨てる**関数です。

数値を一定間隔で区切るときにはFloor関数を使います。

<https://knowledge.insight-lab.co.jp/hubfs/Imported_Blog_Media/Floor%E9%96%A2%E6%95%B0%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8-1.png>

### Class関数

Class関数はほぼFloor関数と同様に使えますが、**結果としてクラスの下限・上限が表示**されます。

たとえば数値「180」を100ごとに区切りをする場合、それぞれの関数は以下のように値を表示します。

**Floor　→ 「100」**

**Class　→「100 <= x <200」**

### If関数

If関数は**一定間隔ではないクラス**をしきい値にして分類を行います。

クラス分けのルールを1つ1つ書き込むため煩雑な数式になりますがその分しきい値を細かく制御することができます。

<https://knowledge.insight-lab.co.jp/hubfs/Imported_Blog_Media/If%E9%96%A2%E6%95%B0%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8-1.png>

 

## データの準備

今回のサンプルデータは[こちら](https://knowledge.insight-lab.co.jp/hubfs/%E3%82%AF%E3%83%A9%E3%82%B9%E5%88%86%E3%81%91.zip)からダウンロードできます。

<https://knowledge.insight-lab.co.jp/hubfs/%E3%82%AF%E3%83%A9%E3%82%B9%E5%88%86%E3%81%91.zip>

ロードスクリプト編集画面を開き、「テーブル ファイル..」をクリックします。

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

プレビューが表示されますがそのまま「終了」をクリックしてください。

自動生成のスクリプトが表示されます。

このスクリプトに手を加えてクラス分けされた項目を追加します。

では続いて、実際にクラス分けを行ってみましょう。

 

## 実際にQlikViewのスクリプトを編集してクラス分け

ここまでは**Floor**、**Class**、**If**関数それぞれの性質の解説とサンプルデータの指定までを行いました。

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

### スクリプトを編集

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

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

> 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ならブロンズ会員」の順で判別しています。

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

### 結果

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

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

 

 

[Qlikで使えるloadscript（ロードスクリプト）一覧はこちら](https://knowledge.insight-lab.co.jp/qlikview/loadscript)

 

[完全な記事を表示](https://knowledge.insight-lab.co.jp/qlikview/knowledge/loadscript/floorifclass_1)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Deck"
  },
  "dateModified" : "2020-12-15T09:32:34.362Z",
  "datePublished" : "2020-01-14T08:57:56Z",
  "headline" : "【QlikView】数値のクラス分け Floor,If,Classでクラス分け【ある程度のまとまりでデータをクラス分けすると分析がしやすい】",
  "image" : {
    "@type" : "ImageObject",
    "height" : 279,
    "url" : "https://download.insight-lab.co.jp/hubfs/Imported_Blog_Media/%E5%85%83%E3%83%87%E3%83%BC%E3%82%BF-2.png",
    "width" : 429
  },
  "mainEntityOfPage" : "https://knowledge.insight-lab.co.jp/qlikview/knowledge/loadscript/floorifclass_1",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60,
      "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
      "width" : 60
    },
    "name" : "QlikViewナレッジ"
  }
}
```