# 含隱含集合運算子的集合修飾詞

在集合修飾詞中撰寫選項的標準方式是使用等號。例如︰

`Year = {">2015"}`

集合修飾詞中的等號右側的運算式稱為元素集。這定義一組相異欄位值，換言之即選項。

此標記法會定義新的選項，而忽略欄位中的目前選項。因此，若集合識別碼包含此欄位中的選項，則舊的選項將被元素集中的選項取代。

若您想要以欄位中的目前選項作為選取基礎，需要使用不同的運算式

例如，若您想要採用舊的選項，並新增年份晚於 2015 年的要求，可以撰寫下列內容：

`Year = Year * {">2015"}`

星號是定義交集的集合運算子，因此您將會取得 `Year` 中目前選項之間的交集，以及年份晚於 `2015` 的附加要求。替代方式是以下列內容撰寫此部分：

`Year *= {">2015"}`

也就是說，指派運算子 (`*=`) 隱含性地定義交集。

類似地，可以使用下列內容定義隱含的聯集、排除和對稱差：`+=`、`–=`、`/=`

## 範例：含隱含集合運算子的集合修飾詞的圖表運算式

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-modifiers-using-assignments-implicit-set-operators.htm)

#### 範例 - 圖表運算式

載入指令碼

在資料載入編輯器中載入下列資料作為內嵌載入，以建立以下的圖表運算式範例。

```

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
2020-09-16, France, Washer, 1];	
```

如需更多關於使用內嵌載入的資訊，請參閱 [使用內嵌載入以載入資料](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)。

含隱含集合運算子的圖表運算式

透過下列圖表運算式在 Qlik Sense 工作表中建立表格。

從國家清單中選取 `Canada` 和 `Czech Republic`。

表格 - 含隱含集合運算子的圖表運算式

| 國家/地區 | Sum(Amount) | Sum({&lt;Country\*={Canada}&gt;} Amount) | Sum({&lt;Country-={Canada}&gt;} Amount) | Sum({&lt;Country+= {France}&gt;} Amount) |
| --- | --- | --- | --- | --- |
| 總計 | 24 | 14 | 10 | 28 |
| 加拿大 | 14 | 14 | 0 | 14 |
| 捷克 | 10 | 0 | 10 | 10 |
| 法國 | 0 | 0 | 0 | 4 |

解釋

* 維度：

  * `Country`

* 量值：

  * `Sum(Amount)`

    目前選項的總格 `Amount` 請注意，只有 `Canada` 和 `Czech Republic` 有非零值。

  * `Sum({<Country*={Canada}>}Amount)`

    目前選項的總和 `Amount`，與 `Country` 為 `Canada` 的要求交集。若 `Canada` 不屬於使用者選項，則集合運算式會傳回空的集合，該欄在所有列都會是 `0`。

  * `Sum({<Country-={Canada}>}Amount)`

    目前選項的總和 `Amount`，但首先從 `Country` 選項中排除 `Canada`。若 `Canada` 不屬於使用者選項，則集合運算式不會變更任何數字。

  * `Sum({<Country+={France}>}Amount)`

    目前選項的總和 `Amount`，但首先將 `France` 新增至 `Country` 選項。若 `France` 已屬於使用者選項，則集合運算式不會變更任何數字。

含隱含集合運算子的集合修飾詞

含隱含集合運算子的集合修飾詞

含隱含集合運算子的集合修飾詞 ![含隱含集合運算子的集合修飾詞。](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Resources/Images/ui_gen_setanalysis_implicit_set_operators.png)

如需關於運算式的詳細資訊，請參閱[在視覺化中使用運算式](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/use-expressions-in-visualizations.htm)。

| 範例 | 結果 |
| --- | --- |
| sum( {$&lt;Product += {OurProduct1, OurProduct2} &gt;} Sales ) | 會傳回目前選項的銷售額，但使用隱含聯集將「OurProduct1」和「OurProduct2」產品加入所選產品的清單中。 |
| sum( {$&lt;Year += {“20\*”,1997} – {2000} &gt;} Sales ) | 會傳回目前選項的銷售額，但使用隱含聯集將一些年份加入選項中：1997 年和以「20」開頭的所有年份，不過不包含 2000 年。<br><br>請注意，如果 2000 年包含在目前選項中，則修改後仍會包含在內。相同於 `<Year=Year + ({“20*”,1997}–{2000})>`。 |
| sum( {$&lt;Product \*= {OurProduct1} &gt;} Sales ) | 會傳回目前選項的銷售額，但僅針對目前所選產品和 OurProduct1 產品的交集。 |