INDEX
gjelder:beregnet kolonneberegnet tabellMeasurevisualobjektberegning
Returnerer en rad i en absolutt posisjon, angitt av posisjonsparameteren, innenfor den angitte partisjonen, sortert etter den angitte rekkefølgen. If gjeldende partisjon ikke kan utledes til én enkelt partisjon, kan flere rader returneres.
Syntaks
INDEX(<position>[, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Parametere
Vilkår | Definisjon |
---|---|
position |
Den absolutte posisjonen (1-basert) som dataene hentes fra: - position er positiv: 1 er first rad, 2 er second rad osv. - position er negativ: -1 er last rad, -2 er secondlast rad osv. Når position er utenfor grensen, or null, orBLANK(), INDEX returnerer en tom tabell. Det kan være et hvilket som helst DAX uttrykk som returnerer en skalar value. |
relation |
(Valgfritt) Et tabelluttrykk som utdataene returneres fra.
If angitt, må all kolonner i partitionBy komme fra den or en related tabell.
If utelatt: - orderBy må angis eksplisitt.
– All orderBy andpartitionBy uttrykk må være fullstendige kolonnenavn and kommer fra én enkelt tabell.
– standarder for ALLSELECTED() av all kolonner i orderBy andpartitionBy . |
axis |
(Valgfritt) En akse i den visuelle figuren.
and er bare tilgjengelig i visuelle beregninger, erstatter relation . |
orderBy |
(Valgfritt) En ORDERBY() setningsdel som inneholder uttrykkene som define hvordan hver partisjon sorteres.
If utelatt: - relation må angis eksplisitt.
– Standarder for å bestille etter hver kolonne i relation som allerede er not angitt i partitionBy . |
blanks |
(Valgfritt) En opplisting som definerer hvordan du håndterer blankvalues når du sorterer.
Denne parameteren er reservert for fremtidig bruk. Foreløpig er den eneste støttede value DEFAULT , der virkemåten for numeriske values er blankvalues ordnes mellom null and negativ values. Virkemåten for strenger er blankvalues ordnes før all strenger, inkludert tomme strenger. |
partitionBy |
(Valgfritt) En PARTITIONBY() setningsdel som inneholder kolonnene som define hvordan relation partisjoneres.
If utelatt, behandles relation som én enkelt partisjon. |
matchBy |
(Valgfritt) En MATCHBY() setningsdel som inneholder kolonnene som define hvordan data samsvarer and identifisere gjeldende rad. |
reset |
(Valgfritt) Bare tilgjengelig i visuelle beregninger. Angir if beregningen tilbakestilles, and på hvilket nivå i kolonnehierarkiet for visualobjektfiguren. Godtatt values er: en feltreferanse til en kolonne i gjeldende visuelle figur, NONE (standard), LOWESTPARENT , HIGHESTPARENT , or et heltall. Virkemåten avhenger av heltallet sign: - If null or utelatt, tilbakestilles beregningen not. Tilsvarer NONE .
– If positivt identifiserer heltallet kolonnen som starter fra den høyeste, uavhengige av korn. HIGHESTPARENT tilsvarer 1.
– If negativ, identifiserer heltallet kolonnen fra det laveste, i forhold til gjeldende korn. LOWESTPARENT tilsvarer -1. |
Returner value
En rad i en absolutt posisjon.
Merknader
Hver partitionBy
andmatchBy
kolonne må ha en tilsvarende ytre value for å define den gjeldende partisjonen du vil bruke, med følgende virkemåte:
- If det er nøyaktig én tilsvarende ytre kolonne, brukes value.
-
If det ikke finnes noen tilsvarende ytre kolonne:
-
INDEX vil first bestemme all
partitionBy
andmatchBy
kolonner som ikke har noen tilsvarende ytre kolonne. - For hver kombinasjon av eksisterende values for disse kolonnene i INDEXoverordnede kontekst, evalueres INDEXand en rad returneres.
- INDEXendelige utdata er en union av disse radene.
-
INDEX vil first bestemme all
- If det er mer enn én tilsvarende ytre kolonne, returneres en error.
If
matchBy
finnes, prøver INDEX å bruke matchBy
andpartitionBy
kolonner til å identifisere raden.
If
matchBy
finnes notand kolonnene som er angitt i orderBy
andpartitionBy
, kan ikke identifisere hver rad i relation
unikt:
- INDEX vil prøve å find det minste antallet ekstra kolonner som kreves for å identifisere hver rad unikt.
-
If slike kolonner finnes, vil INDEX automatisk føye til disse nye kolonnene i
orderBy
, and hver partisjon sorteres ved hjelp av dette nye settet med OrderBy kolonner. - If slike kolonner ikke finnes, returneres en error.
En tom tabell returneres if:
- Den tilsvarende ytre value i en PartitionBy kolonne finnes not i
relation
. - Den
position
value refererer til en posisjon som not finnes i partisjonen.
If
INDEX brukes i en beregnet kolonne som er definert i samme tabell som relation
andorderBy
utelates, returneres en error.
reset
bare kan brukes i visuelle beregninger, kan and ikke brukes i kombinasjon med orderBy
orpartitionBy
.
If
reset
finnes, kan axis
angis, men relation
kan ikke.
Eksempel 1 – beregnet kolonne
Følgende DAX spørring:
EVALUATE INDEX(1, ALL(DimDate[CalendarYear]))
Returnerer følgende tabell:
DimDate[CalendarYear] |
---|
2005 |
Eksempel 2 – beregnet kolonne
Følgende DAX spørring:
EVALUATE
SUMMARIZECOLUMNS (
FactInternetSales[ProductKey],
DimDate[MonthNumberOfYear],
FILTER (
VALUES(FactInternetSales[ProductKey]),
[ProductKey] < 222
),
"CurrentSales", SUM(FactInternetSales[SalesAmount]),
"LastMonthSales",
CALCULATE (
SUM(FactInternetSales[SalesAmount]),
INDEX(-1, ORDERBY(DimDate[MonthNumberOfYear]))
)
)
ORDER BY [ProductKey], [MonthNumberOfYear]
Returnerer følgende tabell:
FactInternetSales[ProductKey] | DimDate[MonthNumberOfYear] | [CurrentSales] | [LastMonthSales] |
---|---|---|---|
214 | 1 | 5423.45 | 8047.7 |
214 | 2 | 4968.58 | 8047.7 |
214 | 3 | 5598.4 | 8047.7 |
214 | 4 | 5073.55 | 8047.7 |
214 | 5 | 5248.5 | 8047.7 |
214 | 6 | 7487.86 | 8047.7 |
214 | 7 | 7382.89 | 8047.7 |
214 | 8 | 6543.13 | 8047.7 |
214 | 9 | 6788.06 | 8047.7 |
214 | 10 | 6858.04 | 8047.7 |
214 | 11 | 8607.54 | 8047.7 |
214 | 12 | 8047.7 | 8047.7 |
217 | 1 | 5353.47 | 7767.78 |
217 | 2 | 4268.78 | 7767.78 |
217 | 3 | 5773.35 | 7767.78 |
217 | 4 | 5738.36 | 7767.78 |
217 | 5 | 6158.24 | 7767.78 |
217 | 6 | 6998 | 7767.78 |
217 | 7 | 5563.41 | 7767.78 |
217 | 8 | 5913.31 | 7767.78 |
217 | 9 | 5913.31 | 7767.78 |
217 | 10 | 6823.05 | 7767.78 |
217 | 11 | 6683.09 | 7767.78 |
217 | 12 | 7767.78 | 7767.78 |
Eksempel 3 – visuell beregning
Følgende visuelle beregning DAX spørringer:
SalesComparedToBeginningOfYear = [SalesAmount] - CALCULATE(SUM([SalesAmount]), INDEX(1, ROWS, HIGHESTPARENT))
SalesComparedToBeginningOfQuarter = [SalesAmount] - CALCULATE(SUM([SalesAmount]), INDEX(1, , -1))
Forbedre en tabell slik at den contains, for hver month:
– det totale salgsbeløpet.
– forskjellen til firstmonth for de respektive year;
– and forskjellen til firstmonth for de respektive quarter.
Skjermbildet nedenfor viser den visuelle matrisen and det first visuelle beregningsuttrykket: