# チュートリアル - set 数式の作成

Qlik Sense で、データ分析をサポートする set 数式を構築できます。このコンテキストでは、分析は set 分析と呼ばれることがよくあります。set 分析は、アプリの現在の選択によって定義されたレコードのセットとは異なるスコープを定義する方法を提供します。

## 学習内容

このチュートリアルでは、set 修飾子、識別子、演算子を使用して set 数式を作成するためのデータの数式とチャートの数式を提供します。

## このチュートリアルを完了する必要がある対象者

このチュートリアルは、スクリプト エディタとチャート数式の操作に慣れているアプリ開発者を対象としています。

## 始める前に必要な準備

ユーザーベースのサブスクリプションをお持ちの場合は、Professional ユーザー権限が必要です。自分のユーザーのタイプを確認するには、テナント管理者に問い合わせてください。詳細については、「[ユーザー資格の管理](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Admin/SaaS-user-allocations.htm)」を参照してください。

## 追加の資料とリソース

* ヘルプの [set 分析](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm) トピックは、set 分析の概要、set 数式要素の詳細な説明、例を提供します。

* [Qlik](http://www.qlik.com/) では、さらなる詳細情報を提供する、広範なリソースをご用意しています。

* 無料のオンライン コースを含むトレーニングは、[Qlik Learning](https://learning.qlik.com/) で利用できます。

* ディスカッション フォーラム、ブログなどは、[Qlik Community](http://community.qlik.com/) にあります。

### ビデオ

次のビデオは、このチュートリアルを補完するものです。

最初のビデオは、このチュートリアルで説明されているものと同様の基本的な set 数式を示しています。2 番目のビデオは、より複雑な set 数式を示しています。

* [set 分析 パート 1: 初心者向けの概要](https://play.vidyard.com/emzQVRFpAhM5LLwXcKNU8u)

* [set 分析 パート 2](https://play.vidyard.com/U86Emuu4vymytxsQBCPmTh)

## set 数式の要素

set 数式は、`Sum()`、`Max()`、`Min()`、`Avg()`、`Count()` などの集計関数で囲まれています。set 数式は要素と呼ばれる構成要素から構成されます。これらの要素は、set 修飾子、識別子、演算子です。

set 数式の要素

set 数式の要素

set 数式の要素 ![set 数式の要素。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_setanalysis_callout.png)

例えば、上記の set 数式は、集計 `Sum(Sales)` から構築されます。set 数式は外側の中括弧 `{ }` で囲まれています。

数式の 1 番目のオペランドは次のとおりです: `$<Year={2021}>`

このオペランドは、現在の選択条件の `2021` 年の売上を返します。修飾子 `<Year={2021}>` には、2021 年の選択が含まれます。`$` set 識別子は set 数式が現在の選択条件に基づいていることを示します。

数式の 2 番目のオペランドは次のとおりです: `1<Country={'Sweden'}>`

このオペランドは Sweden に対して Sales を返します。修飾子 `<Country={'Sweden'}>` には、国 Sweden の選択が含まれます。`1` set 識別子はアプリで行われた選択が無視されることを示します。

最後に、`+` set 演算子は、数式が 2 つのセット オペランドのいずれかに属するレコードで構成されるセットを返すことを示します。

詳細は以下をご覧ください。

* [set 修飾子](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-modifiers.htm)

* [set 識別子](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-identifiers.htm)

* [set 演算子](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-operators.htm)

## set 数式チュートリアルの作成

このチュートリアルに示す set 数式を作成するには、次の手順を実行します。

### 新しいアプリを作成してデータをロード

次の手順を実行します。

1. 新しいアプリを作成します。

2. [スクリプト エディタ] をクリックします。または、アプリのナビゲーション メニューを開いて [データ ロード エディター] を選択します。

3. [データ ロード エディタ] で新しいセクションを作成します。

4. 次のデータをコピーして、新しいセクションに貼り付けます。 [set 数式チュートリアル データ](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-tutorial.htm#SetExpressionData)

5. [データのロード] をクリックします。データはインライン ロードとしてロードされます。

インライン ロードの使用の詳細については、「[インライン ロードを使用したデータのロード](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)」を参照してください。

### 修飾子を使用して set 数式を作成する

set 修飾子は、1 つまたは複数の項目名で構成されます。各項目名の後には、項目で実行する必要がある選択が続きます。修飾子は山括弧 ( &lt; &gt;)でくくります。例えば、この set 数式では次のようになります。

`Sum ( {<Year = {2015}>} Sales )`

修飾子は次のとおりです。

`<Year = {2015}>`

この修飾子は 2015 年のデータが選択されることを指定します。修飾子が囲まれている中括弧は set 数式を示します。

次の手順を実行します。

1. シートで、ナビゲーション バーからアセット パネルを開き、[チャート] をクリックします。

   ![set 数式を使用した KPI。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_set_tutorial_chart2.png)

2. [ビジュアライゼーション] で、KPI をシートにドラッグして、[メジャーを追加] をクリックします。

   ![set 数式を使用した KPI。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_set_tutorial_add_measure.png)

3. [`Sales`] をクリックして、集計に [`Sum(Sales)`] を選択します。

   ![set 数式を使用した KPI。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_set_tutorial_sum_sales.png)

   [KPI] は、すべての年の売上高の合計を示しています。

   ![set 数式を使用した KPI。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_set_tutorial_kpi_sum_sales.png)

4. [KPI] をコピー & ペーストして、新しい [KPI] を作成します。

5. 新しい [KPI] をクリックして、[メジャー] の下の [売上] をクリックしてから、[数式エディタを開く] をクリックします。

   ![set 数式を使用した KPI。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_set_tutorial_kpi_expression_editor.png)

   数式エディタが開き、集計 `Sum(Sales)` が表示されます。

   ![set 数式を使用した KPI。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_set_tutorial_kpi_editor_sum_sales.png)

6. 数式エディターで、2015 年のみの [Sales] を合計する数式を作成します。

   1. 

   2. set 数式を示すために中括弧を追加します: `Sum({}Sales)`

   3. set 修飾子を示すために山括弧を追加します: `Sum({<>}Sales)`

   4. 山括弧内に、選択する項目 (この場合、項目は `Year`) を追加し、その後に等号を追加します。次に、2015 年を別の中括弧で囲みます。結果の set 修飾子は次のとおりです: `{<Year={2015}>}`。

      全体の数式は次のとおりです。

      ```
      Sum({<Year={2015}>}Sales)
      ```

      ![set 数式を使用した KPI。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_set_tutorial_kpi_editor_sum_sales_year.png)

   5. [適用] をクリックすると、式が保存され、数式エディタが閉じます。2015 年の Sales の合計は KPI に表示されます。

      ![set 数式を使用した KPI。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_set_tutorial_kpi_sum_sales_year.png)

7. 以下の式でさらに 2 つの KPI を作成します。

   ```
   Sum({<Year={2015,2016}>}Sales)
   ```

   上記の修飾子は `<Year={2015,2016}>` です。数式は 2015 年と 2016 年の Sales の合計を返します。

   ```
   Sum({<Year={2015},Country={'Germany'}>} Sales)
   ```

   上記の修飾子は `<Year={2015}, Country={'Germany'}>` です。この数式は 2015 年の [Sales] の合計を返します。2015 年は [Germany] と交差します。

   set 数式を使用した KPI

   set 数式を使用した KPI

   set 数式を使用した KPI ![set 数式を使用した KPI。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_kpi_set_modfier.png)

### set 識別子の追加

上記の set 数式は、識別子が使用されていないため、現在の選択条件をベースとして使用します。次に、識別子を追加して、選択されたときの動作を指定します。

次の手順を実行します。

シート上で、次の set 数式を構築またはコピーします。

```
Sum({$<Year={"2015"}>}Sales)
```

$ 識別子は、データで選択された現在の選択条件に基づいて set 数式を作成します。これは、識別子が使用されていない場合のデフォルトと同じ動作です。

```
Sum({1<Year={"2015"}>}Sales)
```

1 修飾子により、2015 年の Sum(Sales) の集約では現在の選択が無視されます。ユーザーが他の選択を行っても、集計の値は変更されません。例えば、以下で Germany が選択された場合、2015 年の集約合計は、変化しません。

set 修飾子と識別子を使用した KPI

set 修飾子と識別子を使用した KPI

set 修飾子と識別子を使用した KPI ![set 修飾子と識別子を使用した KPI。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_kpi_set_identifier.png)

### 演算子の追加

set 演算子は、データ セットを含めたり、除外したり、交差させたりするために使用されます。すべての演算子はオペランドとして set を使用し、結果として set を返します。

set 演算子は、次の 2 つの異なる状況で使用できます。

* データ内のレコードのセットを表す、セット 識別子に対して set 演算を実行する。

* 要素セット、項目値、または set 修飾子内で set 演算を実行する。

次の手順を実行します。

シート上で、次の set 数式を構築またはコピーします。

```
Sum({$<Year={2015}>+1<Country={'Germany'}>}Sales)
```

プラス記号 (+) 演算子は、2015 と Germany のデータセットの和集合を生成します。上記の set 識別子で説明したように、ドル記号 ($) 識別子は、現在の選択が最初のオペランド &lt;Year={2015}&gt; に使用されることを意味します。1 の識別子は、2 番目のオペランド、&lt;Country={'Germany'}&gt; の選択が無視されることを意味します。

プラス記号 (+) 演算子を使用した KPI

プラス記号 (+) 演算子を使用した KPI

プラス記号 (+) 演算子を使用した KPI ![set 修飾子と識別子を使用した KPI。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_set_tutorial_plus_operator.png)

または、マイナス記号 (-) を使用して、Germany ではなく 2015 に属するレコードで構成されるデータセットを返します。または、アスタリスク (\*) を使用して、両方のセットに属するレコードで構成されるセットを返します。

```
Sum({$<Year={2015}>-1<Country={'Germany'}>}Sales)
```

```
Sum({$<Year={2015}>*1<Country={'Germany'}>}Sales)
```

演算子を使用した KPI

演算子を使用した KPI

演算子を使用した KPI ![set 修飾子と識別子を使用した KPI。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_set_tutorial_minus_operator.png)

## set 数式チュートリアル データ

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-tutorial.htm)

#### ロード スクリプト

以下のデータをインライン ロードでロードして、チュートリアルのチャートの数式を作成します。

インライン ロードの使用の詳細については、「[インライン ロードを使用したデータのロード](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)」を参照してください。

```
//Create table SalesByCountry
SalesByCountry:
Load * Inline [
Country, Year, Sales
Argentina, 2016, 66295.03
Argentina, 2015, 140037.89
Austria, 2016, 54166.09
Austria, 2015, 182739.87
Belgium, 2016, 182766.87
Belgium, 2015, 178042.33
Brazil, 2016, 174492.67
Brazil, 2015, 2104.22
Canada, 2016, 101801.33
Canada, 2015, 40288.25
Denmark, 2016, 45273.25
Denmark, 2015, 106938.41
Finland, 2016, 107565.55
Finland, 2015, 30583.44
France, 2016, 115644.26
France, 2015, 30696.98
Germany, 2016, 8775.18
Germany, 2015, 77185.68
];
```