Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Koskee seuraavia:
Laskettu sarake
Laskettu taulukko
Mittayksikkö
Visuaalinen laskenta -
Palauttaa rivin arvon, joka täyttää kaikki yhden tai useamman hakuehdon määrittämät ehdot.
Syntaksi
LOOKUPVALUE (
<result_columnName>,
<search_columnName>,
<search_value>
[, <search2_columnName>, <search2_value>]…
[, <alternateResult>]
)
Parametrit
| Termi | Määritelmä |
|---|---|
result_columnName |
Sen olemassa olevan sarakkeen nimi, joka sisältää palautettavan arvon. Se ei voi olla lauseke. |
search_columnName |
Olemassa olevan sarakkeen nimi. Se voi olla samassa taulukossa kuin result_columnName tai liittyvässä taulukossa. Se ei voi olla lauseke. Voit määrittää useita search_columnName- ja search_value-pareja. |
search_value |
Kohteessa search_columnName etsittävä arvo. Voit määrittää useita search_columnName- ja search_value-pareja. |
alternateResult |
(Valinnainen) Palautettu arvo, kun result_columnName konteksti suodatetaan nollaan tai yli yhteen erilliseen arvoon. Jos tätä ei määritetä, funktio palauttaa arvon BLANK , kun result_columnName suodatetaan nollaan, tai virheen, kun result_columnName kontekstissa on useampi kuin yksi erillinen arvo. |
Palautusarvo
Arvo result_columnName rivillä, jossa kaikilla search_columnName ja search_value pareilla on tarkka vastaavuus.
Jos vastaavuus ei täytä kaikkia hakuarvoja, funktio palauttaa arvon BLANK tai alternateResult (jos määritetty). Toisin sanoen funktio ei palauta hakuarvoa, jos vain jotkin ehdoista täyttyvät.
Jos useat rivit vastaavat hakuarvoja ja näiden rivien arvot result_columnName ovat identtisiä, tämä arvo palautetaan. Jos kuitenkin result_columnName palauttaa eri arvoja, funktio palauttaa virheen tai alternateResult (jos määritetty).
Huomautuksia
Jos taulukon, joka sisältää hakusarakkeet sisältävän tulossarakkeen ja taulukoiden, välillä on suhde, useimmissa tapauksissa -funktion RELATEDLOOKUPVALUE käyttö on tehokkaampaa ja tarjoaa paremman suorituskyvyn.
Voit määrittää useita pareja lle
search_columnNamejasearch_value.search_valuejaalternateResultparametrit arvioidaan ennen kuin funktio iteroi hakutaulukon rivien läpi.Kun se arvioidaan rivikontekstissa, LOOKUPVALUE se suorittaa kontekstisiirtymän, kuten CALCULATE, muuntaen nykyisen rivin suodattimiksi. Lasketussa sarakkeessa tämä voi lisätä riippuvuuksia saman taulukon muihin sarakkeisiin, vaikka lauseke ei viitaisikaan nimenomaan näihin sarakkeisiin. Nämä riippuvuudet voivat aiheuttaa kehäriippuvuusvirheitä.
LOOKUPVALUE poistaa suodattimet taulukosta, joka sisältää
result_columnNamearvon , samalla suodattimen poistamistoiminnolla kuin kyseisessä ALL taulukossa. Muista taulukoista kaksisuuntaisten suhteiden kautta välitetyt suodattimet voivat silti vaikuttaa hakutulokseen. Esimerkki 3 näyttää, miten lähdetaulukon suodattimet poistetaan, kun kyseiset suodattimet rajoittavat muuten hakua.Vältä -toiminnon käyttämistä ISERROR tai IFERROR kohteen palauttaman virheen sieppaamista LOOKUPVALUE. Jos jotkin funktion syötteet aiheuttavat virheen, kun yksittäistä tulostearvoa ei voida määrittää, parametrin tarjoaminen
alternateResulton luotettavin ja tehokkain tapa käsitellä virhe.alternateResult-parametri palauttaa virheen, jos se on määritetty power pivotin lasketussa sarakkeessa.-
Tätä funktiota ei tueta DirectQuery-tilassa lasketuissa sarakkeissa tai rivitason suojauksen (RLS) säännöissä käytettäväksi.
Tämän artikkelin esimerkkejä voidaan käyttää Adventure Works DW 2020 Power BI Desktop -mallissa. Jos haluat hakea mallin, katso DAX esimerkkimallin.
Esimerkki 1
Tässä esimerkissä hakusanalla Keskihinta hakee sitä valuuttaa, LOOKUPVALUE jota käytettiin tilauksen maksamiseen tilauksen tilauspäivänä:
Exchange Rate =
LOOKUPVALUE (
'Currency Rate'[Average Rate],
'Currency Rate'[CurrencyKey], [CurrencyKey],
'Currency Rate'[DateKey], [OrderDateKey]
)
Tarvitset sekä tilauspäivämäärän että valuutan, jotta löydät oikean päivämäärän ja valuutan keskimääräisen hinnan. OrderDateKey ja CurrencyKey ovat avaimia, joita käytetään keskimääräisen kurssin etsimiseen Valuuttaprosentti-taulukosta.
Vaihtokurssin avulla voit laskea myyntisumman paikallisena valuuttana käyttäen:
Sales Amount Local Currency =
[Sales Amount] * [Exchange Rate]
Esimerkki 2
Tässä esimerkissä seuraava sales -
CHANNEL =
LOOKUPVALUE (
'Sales Order'[Channel],
'Sales Order'[SalesOrderLineKey], [SalesOrderLineKey]
)
Koska Myyntitilaus- ja Myynti-taulukoiden välillä on suhde, on tehokkaampaa käyttää -funktiota.RELATED
CHANNEL =
RELATED ( 'Sales Order'[Channel] )
Esimerkki 3
Tässä esimerkissä vaihda Product[ProductKey] - ja Sales[ProductKey] -suhteiden ristiinsuodatuksen suunnaksi Molemmat. Näin Myynti-suodattimet voivat suodattaa Tuotteen.
Seuraava laskettu sarake Sales-kohdassa etsii kiinteän viitetuotteen nimen. Viitetuotteen käyttäminen nykyisen myyntirivin tuotteen sijaan osoittaa, miten kaksisuuntaiset suodattimet voivat rajoittaa hakua.
Reference Product Name =
VAR ReferenceProductKey = 528
RETURN
LOOKUPVALUE ( 'Product'[Product], 'Product'[ProductKey], ReferenceProductKey )
Sisäinen kontekstin siirtymä luo suodattimia nykyiseltä Myynti-riviltä . Nämä suodattimet leviävät Product-funktioon kaksisuuntaisen suhteen kautta. Jos myyntirivillä on eri tuoteavain, haku palauttaa BLANK haun, vaikka viitetuote on olemassa.
Korvaa lasketun sarakkeen kaava seuraavalla lausekkeella. REMOVEFILTERS tyhjentää myyntisuodattimet , jotka on luotu kontekstisiirtymän avulla ennen hakua:
Reference Product Name =
VAR ReferenceProductKey = 528
RETURN
CALCULATE (
LOOKUPVALUE ( 'Product'[Product], 'Product'[ProductKey], ReferenceProductKey ),
REMOVEFILTERS ( Sales )
)
Muokattu kaava palauttaa viitetuotteen nimen riippumatta nykyisen myyntirivin tuotteesta. Palauta tämän esimerkin jälkeen suhteen alkuperäinen ristisuodatussuunta.