# ドル記号展開を使った set 修飾子

ドル記号展開は、数式が解析および評価される前に計算される構成です。次に、結果が `$(…)` の代わりに数式に挿入されます。数式の計算は、ドル展開の結果を使用して行われます。

数式エディタにはドル展開のプレビューが表示されるため、ドル記号展開が何に評価されるかを確認できます。

数式エディタでのドル記号展開プレビュー

数式エディタでのドル記号展開プレビュー

数式エディタでのドル記号展開プレビュー ![数式エディタでのドル記号展開プレビュー。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_dollar_expansion_preview.png)

要素セット内で計算を使用する場合は、ドル記号展開を使用します。

例えば、可能な最後の年のみを確認する場合は、次の構造を使用できます。

`<Year = {$(=Max(Year))}>`

`Max(Year)` が最初に計算され、結果が `$(…)` の代わりに数式に挿入されます。

ドル展開後の結果は、次のような数式になります。

`<Year = {2021}>`

ドル展開内の数式は、現在の選択条件に基づいて計算されます。これは、別の項目で選択した場合、数式の結果が影響を受けることを意味します。

計算を選択から独立させる場合は、ドル展開内で set 分析を使用します。例:

`<Year = {$(=Max({1} Year))}>`

## 文字列

ドル展開で文字列を作成する場合は、通常の見積もりルールが適用されます。例:

`<Country = {'$(=FirstSortedValue(Country,Date)'}>`

ドル展開後の結果は、次のような数式になります。

`<Country = {'New Zealand'}>`

引用符を使用しない場合、構文エラーが発生します。

## Numbers

ドル展開で数値を作成する場合は、展開が項目と同じ書式設定になるようにします。これは、数式を書式設定関数でラップする必要がある場合があることを意味します。

例:

`<Amount = {$(=Num(Max(Amount), '###0.00'))}>`

ドル展開後の結果は、次のような数式になります。

`<Amount = {12362.00}>`

ハッシュを使用して、展開で常に小数点を使用し、千単位の区切り文字を使用しないようにします。例:

`<Amount = {$(#=Max(Amount))}>`

## 日付

ドル展開で日付を作成する場合は、拡張の書式設定が正しいことを確認してください。これは、数式を書式設定関数でラップする必要がある場合があることを意味します。

例:

`<Date = {'$(=Date(Max(Date)))'}>`

ドル展開後の結果は、次のような数式になります。

`<Date = {'12/31/2015'}>`

文字列の場合と同様に、正しい引用符を使用する必要があります。

一般的な使用例は、計算を先月 (または年) に制限することです。次に、`AddMonths()` 関数と組み合わせて数値の検索を使用できます。

例:

`<Date = {">=$(=AddMonths(Today(),-1))"}>`

ドル展開後の結果は、次のような数式になります。

`<Date = {">=9/31/2021"}>`

これにより、先月発生したすべてのイベントが選択されます。

## 例: ドル記号展開を使用した set 修飾子のチャートの数式

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

#### 例 - チャートの数式

ロード スクリプト

以下のデータをインライン データとしてデータロードエディタにロードして、以下のチャートの数式の例を作成します。

```
Let vToday = Today();
MyTable:
Load 
Year(Date) as Year,
Date#(Date,'YYYY-MM-DD') as ISO_Date, 
Date(Date#(Date,'YYYY-MM-DD'),'M/D/YYYY') as US_Date, 
Country, Product, Amount 
Inline
[Date, Country, Product, Amount
2018-02-20, Canada, Washer, 6
2018-07-08, Germany, Anchor bolt, 10
2018-07-14, Germany, Anchor bolt, 3
2018-08-31, France, Nut, 2
2018-09-02, Czech Republic, Bolt, 1
2019-02-11, Czech Republic, Bolt, 3
2019-07-31, Czech Republic, Washer, 6
2020-03-13, France, Anchor bolt, 1
2020-07-12, Canada, Anchor bolt, 8
2021-10-15, France, Washer, 1];	
```

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

ドル記号展開を使用したチャートの数式

次のチャートの数を使用して、Qlik Sense シートにテーブルを作成します。

テーブル - ドル記号展開を使った set 修飾子

| [Country] (国) | 合計 (金額) | Sum({&lt;US\_Date={'$(vToday)'}&gt;} Amount) | Sum({&lt;ISO\_Date={"$(=Date(Min(ISO\_Date),'YYYY-MM-DD'))"}&gt;} Amount) | Sum({&lt;US\_Date={"&gt;=$(=AddYears(Max(US\_Date),-1))"}&gt;} Amount) |
| --- | --- | --- | --- | --- |
| 合計 | 41 | 1 | 6 | 1 |
| カナダ | 14 | 0 | 6 | 0 |
| チェコ共和国 | 10 | 0 | 0 | 0 |
| フランス | 4 | 1 | 0 | 1 |
| ドイツ | 13 | 0 | 0 | 0 |

説明

* 軸：

  * `Country`

* 数式：

  * `Sum(Amount)`

    set 数式なしで `Amount` を合計します。

  * `Sum({<US_Date={'$(vToday)'}>}Amount)`

    `US_Date` が変数 `vToday` と同じであるすべてのレコードの場合は Sum `Amount` です。

  * `Sum({<ISO_Date={"$(=Date(Min(ISO_Date),'YYYY-MM-DD'))"}>}Amount)`

    `ISO_Date` が最初の (最小の) 可能な `ISO_Date` と同じであるすべてのレコードの場合は Sum `Amount` です。日付の形式が項目の形式と一致するようにするには、`Date()` 関数が必要です。

  * `Sum({<US_Date={">=$(=AddYears(Max(US_Date),-1))"}>}Amount)`

    最新の (最大の) 可能な `US_Date` の 1 年前または 1 年前の日付に `US_Date` があるすべてのレコードの場合は Sum `Amount` です。`AddYears()` 関数は、変数 `DateFormat` で指定された形式で日付を返します。これは、項目 `US_Date` の形式と一致する必要があります。

ドル記号展開を使った set 修飾子

ドル記号展開を使った set 修飾子

ドル記号展開を使った set 修飾子 ![ドル記号展開を使った set 修飾子。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_setanalysis_dollar_expansion.png)

数式の詳細については、「[ビジュアライゼーションにおける数式の使用](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/use-expressions-in-visualizations.htm)」を参照してください。

| 例 | 結果 |
| --- | --- |
| sum( {$&lt;Year = {$(#vLastYear)}&gt;} Sales ) | 現在の選択に関連した、前年の sales が返されます。ここでは、対応する年を含む変数 vLastYear がドル記号展開に使用されています。 |
| sum( {$&lt;Year = {$(#=Only(Year)-1)}&gt;} Sales ) | 現在の選択に関連した、前年の sales が返されます。ここでは、前年を計算するためにドル記号展開が使用されています。 |