RELATED
Gjelder for: Beregnet beregning av beregnet tabell for beregnet tabell Mål visualobjekt
Returnerer en relatert verdi fra en annen tabell.
Syntaks
RELATED(<column>)
Parametere
Term | Definisjon |
---|---|
kolonne | Kolonnen som inneholder verdiene du vil hente. |
Returverdi
En enkelt verdi som er relatert til gjeldende rad.
Merknader
RELATED-funksjonen 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.
RELATED-funksjonen 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, får verdien av gjeldende radverdi og skanner deretter en annen tabell for forekomster av denne verdien.
RELATED-funksjonen 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 utelater 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. Den 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 angi 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 |