Voit tehostaa tietojen analysointia luomalla yhteyksiä, jotka tunnistavat eri taulukot. Yhteys on yhteys kahden tietoja sisältävän taulukon välillä: yksi sarake kussakin taulukossa on yhteyden perusta. Jotta ymmärtäisit, miksi suhteet ovat hyödyllisiä, kuvittele, että tarvitset tietoja yrityksen asiakastilauksia varten. Voit seurata yhden taulukon kaikkia tietoja, joilla on tällainen rakenne:
CustomerID |
Nimi |
Sähköposti |
Alennusmäärä |
Tilaustunnus |
Tilauspäivämäärä |
Tuote |
Määrä |
---|---|---|---|---|---|---|---|
1 |
Koivula |
veli.koivula@contoso.com |
.05 |
256 |
7.1.2010 |
Kompakti digitaalinen |
11 |
1 |
Koivula |
veli.koivula@contoso.com |
.05 |
255 |
3.1.2010 |
JÄRJESTELMÄKAMERA |
15 |
2 |
Laurinen |
kalevi.laurinen@contoso.com |
.10 |
254 |
3.1.2010 |
Edullinen Movie-Maker |
27 |
Tämä menetelmä ehkä toimii, mutta sitä käytettäessä tietyt tiedot, kuten asiakkaan sähköpostiosoite, on tallennettava toistuvasti kutakin tilausta varten. Tallennustila on halpaa, mutta jos sähköpostiosoite muuttuu, joudut päivittämään kaikki kyseisen asiakkaan rivit. Eräs ratkaisu tähän ongelmaan on jakaa tiedot useaan taulukkoon ja määrittää suhteet noiden taulukoiden välille. Tätä menetelmää käytetään relaatiotietokannoissa, kuten SQL Server -tietokannoissa. Esimerkiksi tuotavassa tietokannassa tilaustiedot voivat olla kolmessa taulukossa, joiden väliset suhteet ovat seuraavat:
Asiakkaat
[Asiakastunnus] |
Nimi |
Sähköposti |
---|---|---|
1 |
Koivula |
veli.koivula@contoso.com |
2 |
Laurinen |
kalevi.laurinen@contoso.com |
AsiakkaidenAlennukset
[Asiakastunnus] |
Alennusmäärä |
---|---|
1 |
.05 |
2 |
.10 |
Tilaukset
[Asiakastunnus] |
Tilaustunnus |
Tilauspäivämäärä |
Tuote |
Määrä |
---|---|---|---|---|
1 |
256 |
7.1.2010 |
Kompakti digitaalinen |
11 |
1 |
255 |
3.1.2010 |
JÄRJESTELMÄKAMERA |
15 |
2 |
254 |
3.1.2010 |
Edullinen Movie-Maker |
27 |
Yhteydet ovat olemassa tietomallissa, jonka luot eksplisiittisesti, tai sellaisen, jonka Excel luo automaattisesti puolestasi, kun tuot samanaikaisesti useita taulukoita. Voit luoda mallin ja hallita sitä myös Power Pivot -apuohjelmalla. Lisätietoja on artikkelissa Tietomallin luominen Excelissä.
Jos tuot taulukoita samasta tietokannasta Power Pivot -apuohjelmalla, Power Pivot voi tunnistaa taulukoiden väliset suhteet [hakasulkein] ympäröityjen sarakkeiden perusteella ja muodostaa nämä suhteet uudelleen taustalla rakennettavaan tietomalliin. Lisätietoja on tämän artikkelin kohdassa Suhteiden automaattinen tunnistaminen ja johtaminen. Jos tuot taulukoita useista lähteistä, voit luoda suhteet manuaalisesti artikkelissa Kahden taulukon välisen suhteen luominen kuvatulla tavalla.
Suhteet perustuvat sellaisiin kussakin taulukossa oleviin sarakkeisiin, jotka sisältävät saman tiedon. Voit esimerkiksi liittää Asiakkaat-taulukonTilaukset-taulukkoon , jos jokaisessa taulukossa on asiakastunnusta tallentava sarake. Esimerkissä sarakkeiden nimet ovat samat, mutta tämä ei ole välttämätöntä. Toisen nimi voi olla Asiakastunnus ja toisen Asiakasnumero, kunhan kaikki Tilaus-taulukon rivit sisältävät tunnuksen, joka on tallennettu myös Asiakkaat-taulukkoon.
Relaatiotietokannassa on useita erityyppisiä avaimia. Avain on yleensä sarake, jossa on erikoisominaisuuksia. Kun eri avainten tarkoituksen ymmärtää, on helpompi hallita useita taulukoita käsittävää tietomallia, josta pivot-taulukon, pivot-kaavion tai Power View -raportin tiedot ovat peräisin.
Vaikka näppäimiä on monenlaisia, ne ovat tärkeimpiä tässä tarkoituksessamme:
-
Perusavain: yksilöi taulukon rivin, kuten Asiakkaat-taulukon Asiakastunnus.
-
Vaihtoehtoinen näppäin (tai ehdotusavain): muu sarake kuin yksilöllinen perusavain. Esimerkiksi Työntekijä-taulukossa voisi olla työntekijätunnus ja sosiaaliturvatunnus, jotka molemmat ovat yksilöiviä.
-
Viiteavain: sarake, joka viittaa toisen taulukon yksilölliseen sarakkeeseen, kuten Tilaukset-taulukonAsiakastunnus, joka viittaa Asiakkaat-taulukon Asiakastunnus-sarakkeeseen.
Tietomalliin perusavainta tai vaihtoehtoista avainta kutsutaan nimellä vastaava sarake. Jos taulukossa on sekä perusavain että vaihtoehtoinen avain, voit käyttää kumpaa tahansa taulukkosuhteen perustana. Viiteavaimesta käytetään nimeä lähdesarake tai vain sarake. Esimerkissämme asiakastunnus määritettäisiin Tilaukset-taulukon (sarake) ja Asiakkaat-taulukon Asiakastunnus -sarakkeen (hakusarakkeen) välillä. Jos tuot tietoja relaatiotietokannasta, Excel valitsee oletusarvoisesti toisesta taulukosta viiteavaimen ja toisesta taulukosta vastaavan perusavaimen. Voit kuitenkin käyttää hakusarakkeena mitä tahansa saraketta, jossa on yksilöivät arvot.
Asiakkaan ja tilauksen välinen suhde on yksi-moneet-yhteys. Kullakin asiakkaalla voi olla useita tilauksia, mutta tilauksella ei voi olla useita asiakkaita. Toinen tärkeä taulukkoyhteys on yksi-yhteen. Tässä esimerkissä CustomerDiscounts-taulukolla , joka määrittää kullekin asiakkaalle yksittäisen diskonttokoron, on yksi-yhteen-yhteys Asiakkaat-taulukkoon.
Tässä taulukossa näkyvät kolmen taulukon (Asiakkaat, CustomerDiscounts ja Tilaukset) väliset yhteydet:
Suhde |
Tyyppi |
Hakusarake |
Sarake |
---|---|---|---|
Asiakkaat-AsiakkaidenAlennukset |
yksi-yhteen |
Asiakkaat.Asiakastunnus |
AsiakkaidenAlennukset.Asiakastunnus |
Asiakkaat-Tilaukset |
yksi-moneen |
Asiakkaat.Asiakastunnus |
Tilaukset.Asiakastunnus |
Huomautus: Tietomalli ei tue monta-moneen-suhteita. Esimerkki monta-moneen-suhteesta on Tuotteet- ja Asiakkaat-taulukoiden välinen suora suhde, koska yksi asiakas voi ostaa useita tuotteita ja useat asiakkaat voivat ostaa samaa tuotetta.
Kun yhteys on luotu, Excelin on yleensä laskettava uudelleen kaikki kaavat, jotka käyttävät juuri luodun yhteyden taulukoiden sarakkeita. Tietojen määrästä ja suhteen monimutkaisuudesta riippuen käsittely voi kestää jonkin aikaa. Lisätietoja on artikkelissa Kaavojen laskeminen uudelleen.
Tietomallissa voi olla useita suhteita kahden taulukon välillä. Jotta voit luoda tarkkoja laskutoimituksia, Excel tarvitsee yhden polun taulukosta toiseen. Niinpä kunkin taulukkoparin välillä voi olla vain yksi aktiivinen suhde kerrallaan. Vaikka muut ovat passiivisia, voit määrittää passiivisen suhteen kaavoissa ja kyselyissä.
Kaavionäkymässä aktiivinen yhteys on yhtenäinen viiva ja passiiviset viivat ovat katkoviivoja. Esimerkiksi AdventureWorksDW2012-taulukossa DimDate sisältää Sarakkeen DateKey, joka liittyy kolmeen eri sarakkeeseen taulukossa FactInternetSales: OrderDate, DueDate ja ShipDate. Jos DateKey- ja OrderDate-sarakkeiden välinen suhde on aktiivinen, se on kaavojen oletussuhde, ellei toisin ole määritetty.
Suhteen voi luoda, kun seuraavat vaatimukset täyttyvät:
Ehdot |
Kuvaus |
---|---|
Kunkin taulukon yksilöivä tunnus |
Jokaisessa taulukossa on oltava yksi sarake, joka yksilöi taulukon jokaisen rivin. Tästä sarakkeessa käytetään usein nimitystä perusavain. |
Yksilöivät hakusarakkeet |
Hakusarakkeen tietoarvojen tulee olla yksilöiviä. Toisin sanoen sarakkeessa ei saa olla kaksoisarvoja. Tietomallissa nollat ja tyhjät merkkijonot vastaavat tyhjää, joka on erillinen tietoarvo. Tämä tarkoittaa, että hakusarakkeessa ei saa olla useita nollia. |
Yhteensopivat tietotyypit |
Lähdesarakkeen ja hakusarakkeen tietotyyppien on oltava yhteensopivia. Lisätietoja tietotyypeistä on artikkelissa Tietomalleissa tuetut tietotyypit. |
Tietomallissa ei voi luoda taulukkosuhdetta, jos avain on yhdistelmäavain. Luotava suhde voi lisäksi olla vain yhden suhde yhteen tai yhden suhde moneen. Muuntyyppisiä suhteita ei tueta.
Yhdistelmäavaimet ja hakusarakkeet
Yhdistelmäavain muodostuu useasta sarakkeesta. Tietomalleissa ei voi käyttää yhdistelmäavaimia: taulukossa on aina oltava täsmälleen yksi sarake, joka yksilöi taulukon jokaisen rivin. Jos tuot taulukoita, joiden yhteys perustuu yhdistelmäavaimeen, Power Pivotin ohjattu taulukon tuontitoiminto ohittaa tämän yhteyden, koska sitä ei voi luoda mallissa.
Jos haluat luoda suhteen kahden taulukon välille, joiden perus- ja viiteavaimet määrittää usea sarake, sinun on ensin yhdistettävä arvot yhdeksi avainsarakkeeksi, ennen kuin luot suhteen. Voit tehdä tämän ennen tietojen tuomista tai luomalla tietomalliin lasketun sarakkeen Power Pivot -apuohjelman avulla.
Monta-moneen-suhteet
Tietomallissa ei voi olla monta-moneen-suhteita. Malliin ei voi lisätä liitostaulukoita . Voit kuitenkin jäljitellä monta-moneen-suhteita DAX-funktioilla.
Itseliitokset ja silmukat
Itseliitokset eivät ole sallittuja tietomallissa. Itseliitos on rekursiivinen suhde taulukon ja sen itsensä välillä. Itseliitosten avulla määritetään esimerkiksi pää- ja aliobjektien välisiä hierarkioita. Voit esimerkiksi luoda hierarkian, joka esittää yrityksen johtamisketjun, liittämällä Työntekijät-taulukon itseensä.
Excel ei salli silmukoiden luomista suhteiden kesken työkirjassa. Toisin sanoen seuraavat suhteet on kielletty.
Taulukon 1 sarake a Taulukon 2 sarakkeeseen f
Taulukon 2 sarake f Taulukon 3 sarakkeeseen n
Taulukon 3 sarake n Taulukon 1 sarakkeeseen a
Jos yrität luoda suhteen, josta seuraa silmukka, ilmenee virhe.
Power Pivot -apuohjelmalla tietojen tuomisen yhtenä etuna on se, että Power Pivot voi toisinaan tunnistaa suhteita ja luoda uusia suhteita Exceliin luomassaan tietomallissa.
Kun tuot useita taulukoita, Power Pivot tunnistaa taulukoiden väliset suhteet automaattisesti. Kun luot Pivot-taulukon, Power Pivot myös analysoi taulukoissa olevat tiedot. Se tunnistaa mahdollisesti määrittämättä jääneet suhteet ja ehdottaa noihin suhteisiin sisällytettäviä sarakkeita.
Tunnistusalgoritmi tekee päätelmiä suhteiden todennäköisyydestä sarakkeiden arvoja ja metatietoja koskevien tilastollisten tietojen avulla.
-
Kaikkien suhteissa käytettyjen sarakkeiden tietotyyppien on oltava yhteensopivia. Automaattinen tunnistus tukee vain kokonaisluku- ja tekstitietotyyppejä. Lisätietoja tietotyypeistä on ohjeaiheessa Tietomalleissa tuetut tietotyypit.
-
Jotta suhteen tunnistaminen voi onnistua, hakusarakkeessa olevien yksilöivien avainten määrän on oltava suurempi kuin taulukon monta-puolella olevien arvojen määrä. Suhteen monta-puolen avainsarake ei siis saa sisältää mitään arvoja, joita ei ole hakutaulukon avainsarakkeissa. Oletetaan esimerkiksi, että käytössä on taulukko, jossa tuotteet on lueteltu tunnusten kanssa (hakutaulukko), sekä myyntitaulukko, jossa on lueteltu kunkin tuotteen myynnit (suhteen monta-puoli). Jos myyntitietueet sisältävät sellaisen tuotteen tunnuksen, jolla ei ole vastaavaa tunnusta tuotetaulukossa, suhdetta ei voi luoda automaattisesti, mutta sen luominen manuaalisesti saattaa olla mahdollista. Jotta Excel voi tunnistaa suhteen, sinun on ensin päivitettävä tuotteiden hakutaulukkoon puuttuvien tuotteiden tunnukset.
-
Pidä huoli, että monta-puolen avainsarakkeen nimi on samankaltainen kuin hakutaulukon avainsarakkeen nimi. Nimien ei tarvitse olla täsmälleen samoja. Esimerkiksi liiketoiminta-asetuksissa on usein variaatioita sarakkeiden nimistä, jotka sisältävät pääasiassa samat tiedot: Emp ID, EmployeeID, Työntekijätunnus, EMP_ID jne. Algoritmi tunnistaa samankaltaiset nimet ja määrittää suuremman todennäköisyyden sellaisten sarakkeiden välille, joiden nimet ovat samankaltaisia tai täsmälleen samoja. Voit siis yrittää parantaa suhteen tunnistamisen todennäköisyyttä nimeämällä tuotavat tietosarakkeet niin, että nimet muistuttavat aiemmin luoduissa taulukoissa olevien sarakkeiden nimiä. Jos Excel löytää monta mahdollista suhdetta, se ei luo suhdetta.
Tämä tieto voi auttaa ymmärtämään, miksi toiminto ei havaitse kaikkia suhteita, tai miksi metatietojen, kuten kenttien nimien ja tietotyyppien, muuttaminen voi parantaa automaattisen suhteiden tunnistamisen tuloksia. Lisätietoja on ohjeaiheessa Suhteiden vianmääritys.
Automaattinen nimettyjen joukkojen tunnistus
Nimettyjen joukkojen ja liittyvien Pivot-taulukkokenttien yhteyttä ei tunnisteta automaattisesti. Voit luoda nämä suhteet manuaalisesti. Jos haluat käyttää automaattista suhteen tunnistusta, irrota kukin nimetty joukko ja lisää nimetystä joukosta yksittäisiä kenttiä suoraan Pivot-taulukkoon.
Suhteiden johtaminen
Joissakin tapauksissa taulukoiden väliset suhteet ketjutetaan automaattisesti. Jos esimerkiksi luot suhteen seuraavan esimerkin kahden ensimmäisen taulukon välille, suhde johdetaan myös kahden muun taulukon välille ja luodaan automaattisesti.
Tuotteet ja Luokka – luodaan automaattisesti
Luokka ja Aliluokka – luodaan automaattisesti
Tuotteet ja Aliluokka – suhde johdetaan
Jotta suhteiden ketjuttaminen voisi tapahtua automaattisesti, suhteiden on oltava yksisuuntaisia, kuten yllä. Jos suhteet olisi alun perin luotu esimerkiksi taulukoiden Myynti ja Tuotteet sekä taulukoiden Myynti ja Asiakkaat välille, suhdetta ei johdeta. Tämä johtuu siitä, että suhde taulukoiden Tuotteet ja Asiakkaat välillä on monta-moneen-suhde.