事件
3月31日 下午11時 - 4月2日 下午11時
最終Microsoft Fabric、Power BI、SQL 和 AI 社群主導的活動。 2025 年 3 月 31 日至 4 月 2 日。
立即註冊傳回位於指定間隔內的多個資料列。
WINDOW ( from[, from_type], to[, to_type][, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
詞彙 | 定義 |
---|---|
from |
指出 window 的開始位置。 它可以是傳回純量 value的任何 DAX 表達式。
行為取決於 from_type 參數:- If from_type 為 REL,從目前數據列返回的數據列數目(負 valueoror 正 value),以取得 window中的 first 數據列。
- If from_type 為 ABS,andfrom 為正數,則為從分割區開頭開始 window 的位置。 編制索引是以 1 為基礎。 例如,1 表示 window 從數據分割的開頭開始。
If
from 為負數,則它是從分割區結尾 window 開始的位置。 -1 表示分割區中的 last 數據列。 |
from_type |
修改 from 參數的行為。 可能的 valuesABS(絕對)and REL(相對)。 預設值為 REL。 |
to |
與 from 相同,但表示 window結尾。
last 數據列包含在 window中。 |
to_type |
與 from_type 相同,但會修改 to 的行為。 |
relation |
(選擇性)傳回輸出數據列的數據表運算式。
If 指定, partitionBy all 數據行必須來自 orrelated 數據表。
If 省略:必須明確指定 - orderBy 。- All orderBy andpartitionBy 表示式必須是來自單一數據表的完整數據行名稱 and。
- 預設為 orderBy andpartitionBy 中 all 資料列的 ALLSELECTED() 。 |
axis |
(選擇性)視覺圖形中的軸。 只能在視覺計算中使用,and 會取代 relation 。 |
orderBy |
(選擇性)ORDERBY() 子句,其中包含 define 每個分割區排序方式的表達式。
If 省略:必須明確指定 - relation 。
- 預設會依已在 partitionBy 中指定之 notrelation 中的每個數據行排序。 |
blanks |
(選擇性)列舉,定義排序時如何處理 blankvalues。
這個參數會保留供日後使用。 目前,唯一支援的 value 是 DEFAULT ,其中數值 values 的行為 blankvalues 會以零 and 負 values排序。 字串的行為 blankvalues 在 all 字串之前排序,包括空字串。 |
partitionBy |
(選擇性)PARTITIONBY() 子句,其中包含數據行,define 分割 relation 的方式。
If 省略,relation 會視為單一分割區。 |
matchBy |
(選擇性)MATCHBY() 子句,其中包含 define 如何比對數據 and 識別目前數據列的數據行。 |
reset |
(選擇性)僅適用於視覺計算。 指出 if 計算重設,and 視覺效果圖形的數據行階層層級。 接受的 values 為:NONE 、LOWESTPARENT 、HIGHESTPARENT 、or 整數。 行為取決於整數 sign:- If 省略零 or,計算會 not 重設。 相當於 NONE 。
- If 正數,整數會識別從最高、與粒紋無關的數據行。 HIGHESTPARENT 相當於1。
- If 負數,整數會識別從最低開始的數據行,相對於目前的粒紋。 LOWESTPARENT 相當於 -1。 |
從 windowAll 數據列。
Except
DAX 數據表函式所加入的數據行,relation
中的每個數據行,當 matchBy
not 存在時,ormatchBy
andpartitionBy
中的每個數據行,當 matchBy
存在時,必須有對應的外部 value,以協助 define 要操作的目前數據列。
If
from_type
and
to_type
兩者都有 valueABS,則下列專案僅適用於 partitionBy
數據行:
DAX 數據表函式會新增 relation
數據行的 Ifall,則會傳回 error。
If
matchBy
存在,WINDOW 會嘗試使用 matchBy
andpartitionBy
數據行來識別數據列。
If
matchBy
not
orderBy
and
partitionBy
中指定的數據行 and 無法唯一識別 relation
中的每個數據列,然後:
orderBy
,and 每個分割區都會使用此新的一組 orderBy 數據行進行排序。if傳回空資料表:
orderBy
or
partitionBy
數據行的對應外部 valuenot 存在於 relation
內。
If
WINDOW 用於與 relation
相同數據表上定義的匯出數據行內,andorderBy
省略,則會傳回 error。
If window 的開頭會顯示在 first 數據列之前,然後將它設定為 first 列。 同樣地,ifwindow 結尾是在分割區 last 數據列之後,然後將它設定為 last 數據列。
reset
只能用於視覺計算,and 不能與 orderBy
orpartitionBy
搭配使用。
If
reset
存在,可以指定 axis
,但無法指定 relation
。
下列 measure:
3-day Average Price =
AVERAGEX(
WINDOW(
-2,REL,0,REL,
SUMMARIZE(ALLSELECTED('Sales'), 'Date'[Date], 'Product'[Product]),
ORDERBY('Date'[Date]),
KEEP,
PARTITIONBY('Product'[Product])
),
CALCULATE(AVERAGE(Sales[Unit Price]))
)
傳回每個 product單位價格的 3dayaverage。 請注意,3-daywindow 包含三天,其中 product 有銷售,not 一定連續三 calendar 天。
下列 measure:
RunningSum =
SUMX (
WINDOW (
1, ABS, 0, REL,
ALLSELECTED (
'Date'[Fiscal Year],
'Date'[Month Number Of Year]
),
PARTITIONBY ( 'Date'[Fiscal Year] )
),
[Total Sales]
)
傳回總銷售額的執行 sumMonthYear數目,針對每個 Fiscal Year重新啟動:
Year | Month 數目 Year | 銷售量 | RunningSum |
---|---|---|---|
FY2018 | 1 | $1,327,675 | $1,327,675 |
FY2018 | 2 | $3,936,463 | $5,264,138 |
FY2018 | 3 | $700,873 | $5,965,011 |
FY2018 | 4 | $1,519,275 | $7,484,286 |
FY2018 | 5 | $2,960,378 | $10,444,664 |
FY2018 | 6 | $1,487,671 | $11,932,336 |
FY2018 | 7 | $1,423,357 | $13,355,693 |
FY2018 | 8 | $2,057,902 | $15,413,595 |
FY2018 | 9 | $2,523,948 | $17,937,543 |
FY2018 | 10 | $561,681 | $18,499,224 |
FY2018 | 11 | $4,764,920 | $23,264,145 |
FY2018 | 12 | $596,747 | $23,860,891 |
FY2019 | 1 | $1,847,692 | $1,847,692 |
FY2019 | 2 | $2,829,362 | $4,677,054 |
FY2019 | 3 | $2,092,434 | $6,769,488 |
FY2019 | 4 | $2,405,971 | $9,175,459 |
FY2019 | 5 | $3,459,444 | $12,634,903 |
FY2019 | 6 | $2,850,649 | $15,485,552 |
FY2019 | 7 | $2,939,691 | $18,425,243 |
FY2019 | 8 | $3,964,801 | $22,390,045 |
FY2019 | 9 | $3,287,606 | $25,677,650 |
FY2019 | 10 | $2,157,287 | $27,834,938 |
FY2019 | 11 | $3,611,092 | $31,446,030 |
FY2019 | 12 | $2,624,078 | $34,070,109 |
FY2020 | 1 | $3,235,187 | $3,235,187 |
FY2020 | 2 | $4,070,046 | $7,305,233 |
FY2020 | 3 | $4,429,833 | $11,735,066 |
FY2020 | 4 | $4,002,614 | $15,737,680 |
FY2020 | 5 | $5,265,797 | $21,003,477 |
FY2020 | 6 | $3,465,241 | $24,468,717 |
FY2020 | 7 | $3,513,064 | $27,981,781 |
FY2020 | 8 | $5,247,165 | $33,228,947 |
FY2020 | 9 | $5,104,088 | $38,333,035 |
FY2020 | 10 | $3,542,150 | $41,875,184 |
FY2020 | 11 | $5,151,897 | $47,027,081 |
FY2020 | 12 | $4,851,194 | $51,878,275 |
下列視覺計算 DAX 查詢:
TotalSalesRunningSumByYear = SUMX(WINDOW(0, ABS, 0, REL, ROWS, HIGHESTPARENT), [SalesAmount])
依 month傳回累計總銷售額,依每個 year計算。
values 1 and -2 可以使用,而不是使用相同結果的 HIGHESTPARENT
。
下列螢幕快照顯示視覺化矩陣 and 視覺化計算表示式:
下列視覺計算 DAX 查詢:
TotalSalesRunningSumByQuarter = SUMX(WINDOW(0, ABS, 0, REL, , -1), [SalesAmount])
依 month傳回累計總銷售額,依每個 quarter計算。
INDEX
MOVINGAVERAGE
OFFSET
ORDERBY
PARTITIONBY
RANGE
RANK
ROWNUMBER
RUNNINGSUM
事件
3月31日 下午11時 - 4月2日 下午11時
最終Microsoft Fabric、Power BI、SQL 和 AI 社群主導的活動。 2025 年 3 月 31 日至 4 月 2 日。
立即註冊