Tag Archives: lookupvalue

Taulujen välinen laskenta PowerPivotissa

Halutaan poimia tietoja toisesta taulusta, johon on muodostettu yhteys (relation).

Tällöin voidaan käyttää funktiota RELATED, jonka syntaksi on RELATED(Sarakenimi).

Esimerkissä on kaava:

    =RELATED(Products[ProductName])

Se poimii tuotetaulusta tuotteen nimen.

Tämän saisi myös haettua LOOKUPVALUE-funktiolla, mutta tämän kaava on huomattavasti pitempi ja aikaavievämpi kirjoittaa:

    =LOOKUPVALUE(Products[ProductName];Products[ProductID];’Order Details'[ProductID])

 

Toisessa esimerkissä lasken, mitä tuotteen myynti olisi listahinnalla, eli kerron tilatun kappalemäärän tuotteen listahinnalla:

    =’Order Details'[Quantity]*RELATED(Products[UnitPrice])

Tässäkin käytän RELATED-funktiota, koska taulujen välillä on yhteys (Order Details ja Products).

 

Huomaa myös, että kirjoittaessasi kaavoja PowerPivotissa teet sen kaavakentässä. Muista kaikki sulut! PowerPivot ei korjaa kaavoja samalla tavalla kun varsinainen Excel.

 

Taulujen liitokset/suhteet

 

Taulujen yhteyksiä pääset tutkimaan PowerPivot ikkunan Aloitus – valintanauhan Näytä ryhmän Kaavionäkymä -työkalun avulla (Home, View, Diagram View).

 

Jos yhteyksiä on, voit kaksoisnapsauttaa yhteysviivaa ja pääset tarkastelemaan yhteyttä.

 

Takaisin normaalinäkymään pääset napsauttamalla Tietokantanäkymä-työkalua, Näytä ryhmässä (Data View).

 

Jos yhteyksiä ei ole määritelty, voit itse määritellä taulujen yhteydet PowerPivotissa.

Siirry PowerPivotin Rakenne (Design) -valintanauhaan.

Suhteet ryhmässä on kaksi työkalua, Luo suhde ja Suhteiden hallinta, joilla määrittelet ja tarkastelet taulujen välisiä liitoksia/suhteita (Create Relationships, Manage Relationships).

 

Taulujen ominaisuus (Table Properties) -työkalulla hallitset suodatusta ja pääset määrittelemään SQL-lauseketta jolla tietoja poimitaan (Vaihda kohteeseen – Kyselyeditori, Switch to – Query Editor)

Tietojen ryhmittelyä

Tässä kun Pivot- ja PowerPivot kurssia valmistelen tuli taas esiin kysymys tietojen ryhmittelystä ryhmiin, ryhmiin joita ei ole lähdetiedoissa.

Alla kaksi eri esimerkkiä miten sen voisi ratkaista.

Esimerkissäni käytän Accessin Northwind-esimerkki kannasta ottamaani dataa.

Esimerkkidata

Esimerkkidata

Pivot esimerkki:

Haluan laskea myynnin maantieteellisesti jaettuna. Lähdetiedoissa on vain maiden nimet joten joutuisin tämän tekemään manuaalisesti pivotissa joka on hankalaa.

Eräs kiertotapa on että poimin kaikki yksilölliset maat eri tauluun ja laitan siihen mihin maantieteelliseen alueeseen ao. maa kuuluu.

Tietysti voin tämän tehdä suoraan lähdetietoonkin mutta tuhansien rivien päivitys manuaalisesti on hankalaa.

Joten poimin lähteestä yksilölliset maat seuraavasti:

1. Valitsen B-sarakkeen
2. Tiedot, Lajittele ja suodata, Lisäasetukset – Vain ainutkertaiset tiedot (Data, Sort & Filter, Advanced – Unique records only)
3. Kopioin tuloksen ja liitän sen uuteen taulukkoon
(Olisin kyllä voinut lähteä liikkeelle uudesta taulukosta ja erikoissuodatuksella saada sinne kaikki yksilölliset maat mutta tällä kertaa teen sen näin)
4. Määrittelen mihin alueeseen kukin maa kuuluu (manuaalisesti) uuden taulukon B -sarake.

Ryhmät

Ryhmät

5. Tämän jälkeen siirryn lähdetietoon ja luon sinne uuden sarakkeen PHAKU (VLOOKUP) kaavalla joka poimii luomastani uudesta taulusta ryhmän.

H-sarakkeen kaava: =PHAKU(B2;Groups!A:B;2;EPÄTOSI), (=VLOOKUP(B2;Groups!A:B;2;FALSE))

Jos taulu on määritelty Taulukoksi niin kaava kopioituu automaattisesti kaikille riveille.

Valmis data

Valmis data

Nyt voin ryhmitellä pivotissani tiedot tämän ryhmän mukaan.

 PowerPivot esimerkki:

Kopioin yksilölliset maat omaksi tauluksi PowerPivottiin ja lisäsin varisainaiseen tauluun uuden sarakkeen johon laitoin kaavan:

=LOOKUPVALUE(Ryhmat[Ryhmä];Ryhmat[Country];[Country])
(Ryhmat on uusi taulu jonka loin)

PowerPivot esimerkki

PowerPivot esimerkki

Kaava etsii maan luomastani taulusta ja palauttaa ryhmän johon ao. maa kuluu.
Funktion LOOKUPVALUE syntaksi on:
LOOKUPVALUE( <result_columnName>, <search_columnName>, <search_value>[, <search_columnName>, <search_value>]…)
result_columnName = sarake josta arvo palautetaan
search_columnName = sarake josta hakuarvo etsitään
search_value = arvo jota etsitään

PowerPivotista saat yksilölliset rivit esimerkiksi viemällä ne pivot-taulukoksi ja sitten kopioi tuloksen takasin uuteen taulukkoon PowerPivottiin.