含貨幣符號展開的集合修飾詞
貨幣符號展開是在剖析並評估運算式之前計算的建構。結果則插入到運算式中,而非 $(…)。然後會使用貨幣展開的結果進行運算式的計算。
運算式編輯器會顯示貨幣展開預覽,讓您可以驗證貨幣符號展開要評估的內容。
若您想要在元素集內部使用計算,請使用貨幣符號展開。
例如,若您希望僅查看上次可能的年份,可以使用下列建構:
<Year = {$(=Max(Year))}>
會先計算 Max(Year),結果會插入運算式中,而非 $(…)。
貨幣展開後的結果將會是如下的運算式:
<Year = {2021}>
會根據目前選項計算貨幣展開內部的運算式。這表示,若您在另一個欄位有選項,將會影響運算式的結果。
若您希望計算獨立於選項,請在貨幣展開內部使用集合分析。例如︰
<Year = {$(=Max({1} Year))}>
字串
若您希望貨幣展開產生字串,則一般引用規則適用。例如︰
<Country = {'$(=FirstSortedValue(Country,Date)'}>
貨幣展開後的結果將會是如下的運算式:
<Country = {'New Zealand'}>
若您沒有使用引號,將會取得語法錯誤。
數字
若您希望貨幣展開產生數字,請確保展開取得與欄位相同的格式。這表示,您有時候需要以格式化函數包裹運算式。
例如︰
<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"}>
這將會挑選出上個月發生的所有事件。
範例:含貨幣符號展開的集合修飾詞的圖表運算式
載入指令碼
在資料載入編輯器中載入下列資料作為內嵌載入,以建立以下的圖表運算式範例。
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];
如需更多關於使用內嵌載入的資訊,請參閱 內嵌載入。
含貨幣符號展開的圖表運算式
透過下列圖表運算式在 Qlik Sense 工作表中建立表格。
表格 - 含貨幣符號展開的集合修飾詞
國家/地區 |
Sum (Amount) |
Sum({<US_Date={'$(vToday)'}>} Amount) |
Sum({<ISO_Date={"$(=Date(Min(ISO_Date),'YYYY-MM-DD'))"}>} Amount) |
Sum({<US_Date={">=$(=AddYears(Max(US_Date),-1))"}>} Amount) |
總計 |
41 |
1 |
6 |
1 |
加拿大 |
14 |
0 |
6 |
0 |
捷克 |
10 |
0 |
0 |
0 |
法國 |
4 |
1 |
0 |
1 |
德國 |
13 |
0 |
0 |
0 |
解釋
-
維度:
-
量值:
-
Sum(Amount)
加總不含集合運算式的 Amount。
-
Sum({<US_Date={'$(vToday)'}>}Amount)
US_Date 與變數 vToday 相同的所有記錄的總和 Amount。
-
Sum({<ISO_Date={"$(=Date(Min(ISO_Date),'YYYY-MM-DD'))"}>}Amount)
ISO_Date 與第一個 (最小) 可能的 ISO_Date 相同的所有記錄的總和 Amount。需要 Date() 函數才能確保日期格式符合欄位格式。
-
Sum({<US_Date={">=$(=AddYears(Max(US_Date),-1))"}>}Amount)
在最晚 (最大) 可能的 US_Date 之前的年份日期之後或當日具有 US_Date 的所有記錄的總和 Amount。AddYears() 函數將會以變數 DateFormat 指定的格式傳回日期,而這需要符合欄位 US_Date 的格式。
如需關於運算式的詳細資訊,請參閱在視覺化中使用運算式。