Begivenhed
31. mar., 23 - 2. apr., 23
Den største Fabric-, Power BI- og SQL-læringshændelse. 31. marts - 2. april. Brug koden FABINSIDER til at gemme $400.
Tilmeld dig i dagDenne browser understøttes ikke længere.
Opgrader til Microsoft Edge for at drage fordel af de nyeste funktioner, sikkerhedsopdateringer og teknisk support.
gælder for:beregnet kolonne
beregnet tabel
beregning af måling
visualisering
Returnerer en enkelt række, der er placeret enten før eller efter den aktuelle række i den samme tabel med en given forskydning. Hvis den aktuelle række ikke kan udledes til en enkelt række, returneres der muligvis flere rækker.
OFFSET ( <delta>[, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Udtryk | Definition |
---|---|
delta |
Antallet af rækker før (negativ værdi) eller efter (positiv værdi) den aktuelle række, hvorfra dataene skal hentes. Det kan være et hvilket som helst DAX udtryk, der returnerer en skalarværdi. |
relation |
(Valgfrit) Et tabeludtryk, som outputrækken returneres fra.
Hvis det er angivet, skal alle kolonner i partitionBy komme fra den eller en relateret tabel.
Hvis udeladt: - orderBy skal angives eksplicit.– Alle udtryk for orderBy og partitionBy skal være fuldt kvalificerede kolonnenavne og komme fra en enkelt tabel.
– ALLSELECTED() som standard for alle kolonner i orderBy og partitionBy . |
axis |
(Valgfrit) En akse i visualiseringsfiguren. Kun tilgængelig i visuelle beregninger og erstatter relation . |
orderBy |
(Valgfrit) En ORDERBY() delsætning, der indeholder de udtryk, der definerer, hvordan hver partition sorteres.
Hvis udeladt: - relation skal angives eksplicit.
– Som standard sorteres efter hver kolonne i relation , der ikke allerede er angivet i partitionBy . |
blanks |
(Valgfrit) En optælling, der definerer, hvordan tomme værdier skal håndteres ved sortering af relation eller axis .
De understøttede værdier er:
Bemærk, at når blanks -parameteren og tomme værdier i funktionen ORDERBY() for individuelle udtryk begge er angivet, prioriteres blanks i det enkelte orderBy-udtryk for det relevante orderBy-udtryk, og orderBy-udtryk, uden at blanks er angivet, vil overholde parameteren blanks for den overordnede funktion. |
partitionBy |
(Valgfrit) En PARTITIONBY() delsætning, der indeholder de kolonner, der definerer, hvordan relation partitioneres. Hvis den udelades, behandles relation som en enkelt partition. |
matchBy |
(Valgfrit) En MATCHBY() delsætning, der indeholder de kolonner, der definerer, hvordan dataene skal matche og identificere den aktuelle række. |
reset |
(Valgfrit) Kun tilgængelig i visuelle beregninger. Angiver, om beregningen nulstilles, og på hvilket niveau i den visuelle figurs kolonnehierarki. Accepterede værdier er: en feltreference til en kolonne i den aktuelle visualiseringsfigur, NONE (standard), LOWESTPARENT , HIGHESTPARENT eller et heltal. Funktionsmåden afhænger af heltalstegnet: – Hvis nul eller udeladt, nulstilles beregningen ikke. Svarer til NONE .
– Hvis den er positiv, identificerer heltalet kolonnen, der starter fra den højeste, uafhængig af detaljering. HIGHESTPARENT svarer til 1.
– Hvis det er negativt, identificerer heltalet kolonnen med start fra det laveste i forhold til den aktuelle detaljering. LOWESTPARENT svarer til -1. |
En eller flere rækker fra relation
.
Med undtagelse af kolonner, der tilføjes af DAX tabelfunktioner, skal hver kolonne i relation
, når matchBy
ikke findes, eller hver kolonne i matchBy
og partitionBy
, når matchBy
er til stede, have en tilsvarende ydre værdi for at hjælpe med at definere den aktuelle række, der skal arbejdes på, med følgende funktionsmåde:
Hvis alle relation
's kolonner blev tilføjet af DAX tabelfunktioner, returneres der en fejl.
Hvis matchBy
findes, forsøger OFFSET at bruge matchBy
og partitionBy
kolonner til at identificere rækken.
Hvis matchBy
ikke findes, og de kolonner, der er angivet i orderBy
og partitionBy
, ikke entydigt kan identificere hver række i relation
, kan:
orderBy
, og hver partition sorteres ved hjælp af dette nye sæt OrderBy-kolonner.Der returneres en tom tabel, hvis:
relation
.delta
medfører et skift til en række, der ikke findes i partitionen.Hvis OFFSET bruges i en beregnet kolonne, der er defineret i den samme tabel som relation
, og orderBy
udelades, returneres der en fejl.
reset
kan kun bruges i visuelle beregninger og kan ikke bruges sammen med orderBy
eller partitionBy
. Hvis reset
findes, kan axis
angives, men relation
kan ikke.
Følgende DAX forespørgsel:
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]
)
)
Returnerer en tabel, der opsummerer det samlede salg for hver produktkategori og hvert kalenderår samt det samlede salg for den pågældende kategori i det forrige år.
Følgende DAX forespørgsel:
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]
)
Bruger OFFSET() i en måling til at returnere en tabel, der opsummerer det samlede salg for hvert kalenderår og det samlede salg for det foregående år.
Følgende DAX forespørgsel:
EVALUATE
ADDCOLUMNS (
FactInternetSales,
"Previous Sales Amount",
SELECTCOLUMNS (
OFFSET (
-1,
FactInternetSales,
ORDERBY ( FactInternetSales[SalesAmount], DESC ),
PARTITIONBY ( FactInternetSales[ProductKey] ),
MATCHBY( FactInternetSales[SalesOrderNumber], FactInternetSales[SalesOrderLineNumber] )
),
FactInternetSales[SalesAmount]
)
)
Returnerer tabellen FactInternetSales med tilføjelse af en kolonne, som angiver det forrige salgsbeløb for det samme produkt for hvert salg i faldende rækkefølge efter salgsbeløb, hvor det aktuelle salg identificeres af dets SalesOrderNumber og SalesOrderLineNumber. Uden MATCHBYreturnerer forespørgslen en fejl, da der ikke er nogen nøglekolonner i tabellen FactInternetSales.
Følgende visualiseringsberegning DAX forespørgsel:
SalesRelativeToPreviousMonth = [SalesAmount] - CALCULATE(SUM([SalesAmount]), OFFSET(-1, ROWS, HIGHESTPARENT))
Returnerer forskellen i det samlede salg mellem hver måned og den forrige inden for samme år.
Skærmbilledet nedenfor viser den visuelle matrix og det visuelle beregningsudtryk:
Begivenhed
31. mar., 23 - 2. apr., 23
Den største Fabric-, Power BI- og SQL-læringshændelse. 31. marts - 2. april. Brug koden FABINSIDER til at gemme $400.
Tilmeld dig i dag