RELATED
gjelder:beregnet kolonne
beregnet tabell
måle
visualobjektberegning
Returnerer en relatert verdi fra en annen tabell.
Syntaks
RELATED(<column>)
Parametere
Term | Definisjon |
---|---|
column |
Kolonnen som inneholder verdiene du vil hente. |
Returverdi
En enkelt verdi som er relatert til gjeldende rad.
Merknader
Funksjonen RELATED krever at det finnes en relasjon mellom gjeldende tabell og tabellen med relatert informasjon. Du angir kolonnen som inneholder dataene du vil bruke, og funksjonen følger en eksisterende mange-til-én-relasjon for å hente verdien fra den angitte kolonnen i den relaterte tabellen. Hvis en relasjon ikke finnes, må du opprette en relasjon.
Når RELATED-funksjonen utfører et oppslag, undersøker den alle verdiene i den angitte tabellen, uavhengig av eventuelle filtre som kan ha blitt brukt.
Funksjonen RELATED trenger en radkontekst. Derfor kan den bare brukes i beregnet kolonneuttrykk, der gjeldende radkontekst er entydig, eller som en nestet funksjon i et uttrykk som bruker en tabellskanningsfunksjon. En tabellskanningsfunksjon, for eksempel SUMX, henter verdien av gjeldende radverdi og skanner deretter en annen tabell for forekomster av denne verdien.
Funksjonen RELATED kan ikke brukes til å hente en kolonne på tvers av en begrenset relasjon.
Eksempel
I eksemplet nedenfor opprettes målet Internett-salg utenfor USA for å produsere en salgsrapport som utelukker salg i USA. Hvis du vil opprette målet, må InternetSales_USD-tabellen filtreres for å utelate alle salg som tilhører USA i SalesTerritory-tabellen. USA, som et land, vises fem ganger i SalesTerritory-tabellen. én gang for hvert av følgende områder: Northwest, Northeast, Central, Southwest og Southeast.
Den første fremgangsmåten for å filtrere Internett-salg, for å opprette målet, kan være å legge til et filteruttrykk som følger:
FILTER('InternetSales_USD'
, 'InternetSales_USD'[SalesTerritoryKey]<>1 && 'InternetSales_USD'[SalesTerritoryKey]<>2 && 'InternetSales_USD'[SalesTerritoryKey]<>3 && 'InternetSales_USD'[SalesTerritoryKey]<>4 && 'InternetSales_USD'[SalesTerritoryKey]<>5)
Denne fremgangsmåten er imidlertid kontraintuitiv, utsatt for skrivefeil, og fungerer kanskje ikke hvis noen av de eksisterende områdene deles i fremtiden.
En bedre tilnærming ville være å bruke den eksisterende relasjonen mellom InternetSales_USD og SalesTerritory og eksplisitt si at landet må være forskjellig fra USA. Hvis du vil gjøre dette, oppretter du et filteruttrykk som følger:
FILTER( 'InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")
Dette uttrykket bruker RELATED-funksjonen til å slå opp landverdien i SalesTerritory-tabellen, og starter med verdien for nøkkelkolonnen SalesTerritoryKey i InternetSales_USD-tabellen. Resultatet av oppslaget brukes av filterfunksjonen til å avgjøre om InternetSales_USD raden filtreres eller ikke.
Merk
Hvis eksemplet ikke fungerer, må du kanskje opprette en relasjon mellom tabellene.
= SUMX(FILTER( 'InternetSales_USD'
, RELATED('SalesTerritory'[SalesTerritoryCountry])
<>"United States"
)
,'InternetSales_USD'[SalesAmount_USD])
Tabellen nedenfor viser bare totalsummer for hvert område, for å bevise at filteruttrykket i målet, Ikke USA Internet Sales, fungerer som tiltenkt.
Row Labels | Internet Sales | Non USA Internet Sales |
---|---|---|
Australia | KR 49 999 021,84 | KR 49 999 021,84 |
Canada | KR 1 343 109,10 | KR 1 343 109,10 |
Frankrike | $2,490,944.57 | $2,490,944.57 |
Tyskland | KR 2 775 195,60 | KR 2 775 195,60 |
Storbritannia | KR 5 057 076,55 | KR 5 057 076,55 |
USA | kr 9 389 479,79 | |
Grand Total | KR 26 054 827,45 | KR 16 665 347,67 |
Følgende viser hva du kan få hvis du brukte dette målet i et visualobjekt i rapporttabellen:
Row Labels | Accessories | Bikes | Clothing | Grand Total |
---|---|---|---|---|
2005 | KR 1 526 481,95 | KR 1 526 481,95 | ||
2006 | KR 3 554 744,04 | KR 3 554 744,04 | ||
2007 | KR 156 480,18 | KR 5 640 106,05 | KR 70 142,77 | $5,866,729.00 |
2008 | KR 2 228 159,45 | KR 5 386 558,19 | KR 102 675,04 | KR 5 717 392,68 |
Grand Total | kr 384 639,63 | KR 16 107 890,23 | KR 1 72 817,81 | KR 16 665 347,67 |