Del via


INDEX

gælder for:beregnet kolonneberegnet tabelMeasurevisualiseringsberegning

Returnerer en række på en absolut placering, der er angivet af positionsparameteren, i den angivne partition sorteret efter den angivne rækkefølge. If den aktuelle partition ikke kan udledes til en enkelt partition, returneres der muligvis flere rækker.

Syntaks

INDEX(<position>[, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )

Parametre

Udtryk Definition
position Den absolutte position (1-baseret), som dataene skal hentes fra:
- position er positiv: 1 er den first række, 2 er den second række osv.
- position er negativ: -1 er den last række, -2 er den secondlast række osv.
Når position er uden for grænsen, or nul, orBLANK(), INDEX returnerer en tom tabel. Det kan være et hvilket som helst DAX udtryk, der returnerer en skalar value.
relation (Valgfrit) Et tabeludtryk, som outputtet returneres fra.
If angivet, skal all kolonner i partitionBy komme fra den or en related tabel.
If udeladt:
- orderBy skal angives eksplicit.
– AllorderByandpartitionBy udtryk skal være fuldt kvalificerede kolonnenavne, and kommer fra en enkelt tabel.
– som standard ALLSELECTED() af all kolonner i orderByandpartitionBy.
axis (Valgfrit) En akse i visualiseringsfiguren. and er kun tilgængelig i visuelle beregninger og erstatter relation.
orderBy (Valgfrit) En ORDERBY()-delsætning, der indeholder de udtryk, der define, hvordan hver partition sorteres.
If udeladt:
- relation skal angives eksplicit.
– Sorteres som standard efter hver kolonne i relation, der allerede er not angivet i partitionBy.
blanks (Valgfrit) En optælling, der definerer, hvordan du håndterer blankvalues ved sortering.
Denne parameter er reserveret til fremtidig brug.
I øjeblikket er den eneste understøttede valueDEFAULT, hvor funktionsmåden for numeriske values er blankvalues sorteres mellem nul and negative values. Funktionsmåden for strenge er blankvalues sorteres før all strenge, herunder tomme strenge.
partitionBy (Valgfrit) En PARTITIONBY()-delsætning, der indeholder de kolonner, der define, hvordan relation partitioneres.
If udelades, behandles relation som en enkelt partition.
matchBy (Valgfrit) En MATCHBY() delsætning, der indeholder de kolonner, der define, hvordan data skal matche and identificere den aktuelle række.
reset (Valgfrit) Kun tilgængelig i visuelle beregninger. Angiverif beregningen nulstilles, and på hvilket niveau i den visuelle figurs kolonnehierarki. Accepterede values er: en feltreference til en kolonne i den aktuelle visualiseringsfigur, NONE (standard), LOWESTPARENT, HIGHESTPARENTor et heltal. Funktionsmåden afhænger af heltalet sign:
- If nul or udeladt, nulstilles beregningen not. Svarer til NONE.
– If positiv, identificerer heltalet kolonnen med start fra den højeste, uafhængig af detaljering. HIGHESTPARENT svarer til 1.
– If negativ, identificerer heltalet kolonnen med start fra det laveste i forhold til den aktuelle detaljering. LOWESTPARENT svarer til -1.

Returner value

En række på en absolut placering.

Bemærkninger

Hver partitionByandmatchBy kolonne skal have en tilsvarende ydre value for at hjælpe med at define den "aktuelle partition", der skal arbejdes på, med følgende funktionsmåde:

  • If der er nøjagtigt én tilsvarende ydre kolonne, bruges dens value.
  • If der ikke er nogen tilsvarende ydre kolonne:
    • INDEX bestemmer firstallpartitionByandmatchBy kolonner, der ikke har en tilsvarende ydre kolonne.
    • For hver kombination af eksisterende values for disse kolonner i INDEXoverordnede kontekst evalueres INDEXand en række returneres.
    • INDEXendelige output er en union af disse rækker.
  • If der er mere end én tilsvarende ydre kolonne, returneres der en error.

If matchBy er til stede, forsøger INDEX at bruge matchByandpartitionBy kolonner til at identificere rækken. If matchBy findes notand de kolonner, der er angivet i orderByandpartitionBy, kan ikke entydigt identificere hver række i relation:

  • INDEX forsøger at find det mindste antal ekstra kolonner, der kræves for entydigt at identificere hver række.
  • If disse kolonner findes, føjer INDEX automatisk disse nye kolonner til orderBy, and hver partition sorteres ved hjælp af dette nye sæt OrderBy kolonner.
  • If sådanne kolonner ikke blev fundet, returneres der en error.

Der returneres en tom tabel if:

  • Den tilsvarende ydre value af en PartitionBy kolonne findes not i relation.
  • position value refererer til en position, der not findes i partitionen.

If INDEX bruges i en beregnet kolonne, der er defineret i den samme tabel, som relationandorderBy udelades, returneres der en error.

reset kun kan bruges i visuelle beregninger, kan and ikke bruges sammen med orderByorpartitionBy. If reset findes, kan axis angives, men relation kan ikke.

Eksempel 1 – beregnet kolonne

Følgende DAX forespørgsel:

EVALUATE INDEX(1, ALL(DimDate[CalendarYear]))

Returnerer følgende tabel:

DimDate[CalendarYear]
2005

Eksempel 2 – beregnet kolonne

Følgende DAX forespørgsel:

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 tabel:

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 – visuel beregning

Følgende visuelle beregning DAX forespørgsler:

SalesComparedToBeginningOfYear = [SalesAmount] - CALCULATE(SUM([SalesAmount]), INDEX(1, ROWS, HIGHESTPARENT))

SalesComparedToBeginningOfQuarter = [SalesAmount] - CALCULATE(SUM([SalesAmount]), INDEX(1, , -1))

Optimer en tabel, så den containsfor hver month:
– det samlede salgsbeløb;
- forskellen i forhold til firstmonth af de respektive year;
– and forskellen i forhold til firstmonth af de respektive quarter.

Skærmbilledet nedenfor viser den visuelle matrix and det first visuelle beregningsudtryk:

DAX visualiseringsberegning

OFFSET ORDERBY PARTITIONBY WINDOW RANK ROWNUMBER