事件
3月31日 下午11時 - 4月2日 下午11時
最終Microsoft Fabric、Power BI、SQL 和 AI 社群主導的活動。 2025 年 3 月 31 日至 4 月 2 日。
立即註冊根據指定的 offset,傳回位於 目前數據列 位於相同數據表內之 or 之前的單一數據列。 If 目前數據列無法推斷為單一數據列,可能會傳回多個數據列。
OFFSET ( <delta>[, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
術語 | 定義 |
---|---|
delta |
之前的數據列數(負 value)or 后(正 value),這是要從中取得數據的目前數據列。 它可以是傳回純量 value的任何 DAX 表達式。 |
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。 |
一 or 來自 relation
的更多數據列。
Except
DAX 數據表函式所加入的數據行,relation
中的每個數據行,當 matchBy
not 存在時,ormatchBy
andpartitionBy
中的每個數據行,當 matchBy
存在時,必須有對應的外部 value,以協助 define 要操作的目前數據列,並具有下列行為:
DAX 數據表函式會新增 relation
數據行的 Ifall,則會傳回 error。
If
matchBy
存在,OFFSET 會嘗試使用 matchBy
andpartitionBy
數據行來識別數據列。
If
matchBy
not
and
orderBy
and
partitionBy
中指定的數據行無法唯一識別 relation
中的每個數據列,然後:
orderBy
,and 每個分割區都會使用此新的一組 OrderBy 數據行進行排序。if傳回空資料表:
relation
內。delta
value 會導致數據分割記憶體在 not 的數據列。
If
OFFSET 用於與 relation
相同數據表上定義的匯出數據行內,andorderBy
省略,則會傳回 error。
reset
只能用於視覺計算,and 不能與 orderBy
orpartitionBy
搭配使用。
If
reset
存在,可以指定 axis
,但無法指定 relation
。
下列 DAX 查詢:
DEFINE
VAR vRelation = SUMMARIZECOLUMNS (
DimProductCategory[EnglishProductCategoryName],
DimDate[CalendarYear],
"CurrentYearSales", SUM(FactInternetSales[SalesAmount])
)
EVALUATE
ADDCOLUMNS (
vRelation,
"PreviousYearSales",
SELECTCOLUMNS(
OFFSET (
-1,
vRelation,
ORDERBY([CalendarYear]),
PARTITIONBY([EnglishProductCategoryName])
),
[CurrentYearSales]
)
)
傳回數據表,摘要說明每個 product 類別 andcalendaryear的總銷售額,以及 previousyear中該類別的總銷售額。
下列 DAX 查詢:
DEFINE
MEASURE DimProduct[CurrentYearSales] = SUM(FactInternetSales[SalesAmount])
MEASURE DimProduct[PreviousYearSales] = CALCULATE(SUM(FactInternetSales[SalesAmount]), OFFSET(-1, , ORDERBY(DimDate[CalendarYear])))
EVALUATE
SUMMARIZECOLUMNS (
DimDate[CalendarYear],
"CurrentYearSales", DimProduct[CurrentYearSales],
"PreviousYearSales", DimProduct[PreviousYearSales]
)
在 measure 中使用 OFFSET() 傳回數據表,其中摘要說明每個 calendaryearandpreviousyear總銷售額的總銷售額。
下列 DAX 查詢:
EVALUATE
ADDCOLUMNS (
FactInternetSales,
"Previous Sales Amount",
SELECTCOLUMNS (
OFFSET (
-1,
FactInternetSales,
ORDERBY ( FactInternetSales[SalesAmount], DESC ),
PARTITIONBY ( FactInternetSales[ProductKey] ),
MATCHBY( FactInternetSales[SalesOrderNumber], FactInternetSales[SalesOrderLineNumber] )
),
FactInternetSales[SalesAmount]
)
)
會傳回 FactInternetSales 數據表,並新增一個數據行,指出每個銷售、其銷售 previous 銷售金額、相同 product的下階銷售量,而目前的銷售會由 SalesOrderNumber and SalesOrderLineNumber 來識別。 如果沒有 MATCHBY,查詢會傳回 error,因為 FactInternetSales 數據表中沒有索引鍵數據行。
下列視覺計算 DAX 查詢:
SalesRelativeToPreviousMonth = [SalesAmount] - CALCULATE(SUM([SalesAmount]), OFFSET(-1, ROWS, HIGHESTPARENT))
傳回相同 year內每個 monthandprevious 總銷售額的差異。
下列螢幕快照顯示視覺化矩陣 and 視覺化計算表示式:
事件
3月31日 下午11時 - 4月2日 下午11時
最終Microsoft Fabric、Power BI、SQL 和 AI 社群主導的活動。 2025 年 3 月 31 日至 4 月 2 日。
立即註冊