Lisäävän päivityksen ja reaaliaikaisten tietojen määrittäminen
Tässä artikkelissa kerrotaan, miten voit määrittää lisäävän päivityksen ja reaaliaikaiset tiedot semanttisille malleille. Lisätietoja lisäävän päivityksen määrittämisestä tietovoille on artikkelissa Tietovoiden Premium-ominaisuudet – Lisäävä päivitys.
Lisäävän päivityksen määrittämiseen kuuluu RangeStart- ja RangeEnd-parametrien luominen, suodattimien käyttö ja lisäävän päivityskäytännön määrittäminen. Kun olet julkaissut Power BI -palveluun, suoritat mallille ensimmäisen päivitystoiminnon. Ensimmäinen päivitystoiminto ja sitä myöhemmät päivitystoiminnot käyttävät määrittämääsi lisäävän päivityksen käytäntöä. Ennen kuin suoritat nämä vaiheet, varmista, että ymmärrät toimintoa, joka on kuvattu artikkelissa Lisäävä päivitys ja semanttisten mallien reaaliaikaiset tiedot.
Parametrien luominen
Tässä tehtävässä luot Power Query -editorin avulla RangeStart- ja RangeEnd-parametreja oletusarvoilla. Oletusarvot ovat voimassa vain, kun suodatetaan malliin Power BI Desktopissa ladatut tiedot. Syöttämiesi arvojen tulee sisältää vain pieni määrä tietolähteen uusimpia tietoja. Kun lisäävä päivityskäytäntö julkaistaan palveluun, se ohittaa nämä aika-aluearvot. Käytäntö luo saapuvien tietojen ikkunat yksi toisensa jälkeen.
Avaa Power Query -editori valitsemalla Power BI Desktopissa Aloitus-valintanauhasta Muunna tiedot.
Valitse avattava Parametrien hallinta -valikko ja valitse sitten Uusi parametri.
Kirjoita Nimi-kenttään RangeStart (kirjainkoko on merkitsevä). Valitse Tyyppi-kentässä päivämäärä/aika avattavasta valikosta. Syötä Nykyinen arvo -kenttään alkamispäivämäärä ja -aika-arvo.
Luo toinen parametri nimeltä RangeEnd valitsemalla Uusi. Valitse Tyyppi-kentässä Päivämäärä/aika ja anna sitten Nykyinen arvo -kenttään päättymispäivä ja -aika-arvo. Valitse OK.
Nyt kun olet määrittänyt RangeStart- ja RangeEnd-parametrit, suodatat malliin ladattavat tiedot näiden parametrien perusteella.
Tietojen suodattaminen
Muistiinpano
Ennen kuin jatkat tätä tehtävää, varmista, että lähdetaulukon päivämääräsarake on Päivämäärä/aika-tietotyyppi. Jos siinä ei ole Päivämäärä/aika-saraketta, mutta siinä on kokonaisluvun yyyymmdd
korvaavien avainten päivämääräsarake muodossa , noudata tämän artikkelin myöhempiä Muunna dateTime-arvo kokonaisluvuksi -kohdan ohjeita ja luo funktio, joka muuntaa parametrien päivämäärä-/aika-arvon vastaamaan lähdetaulukon kokonaisluvun korvaavaa avainta.
Voit nyt käyttää suodatinta RangeStart- ja RangeEnd-parametrien ehtojen perusteella.
Valitse Power Query -editorissa päivämääräsarake, jota haluat suodattaa, ja valitse sitten avattavan valikon nuoli >>Mukautettu suodatin.
Jos haluat määrittää Suodata rivit -kohdassa ensimmäisen ehdon, valitse on jälkeen - tai on yhtä suuri kuin tai on sen jälkeen, valitse Parametri ja valitse sitten RangeStart.
Jos haluat määrittää toisen ehdon, jos olet valinnut jälkeen ensimmäisessä ehdossa, valitse on ennen tai yhtä suuri kuin, tai jos olet valinnut on suurempi tai yhtä suuri kuin ensimmäisessä ehdossa, valitse on ennen toista ehtoa, valitse Parametri ja valitse sitten RangeEnd.
Tärkeää: Varmista, että kyselyiden yhtä suuri arvo on (=) joko RangeStart- tai RangeEnd-kohdassa, mutta ei molemmissa. Jos kummassakin parametrissa on yhtäsarvo (=), rivi voi täyttää kahden osion ehdot, mikä voi johtaa mallin tietojen kaksoiskappaleisiin. Tietojen kaksoiskappale voi esimerkiksi syntyä,
= Table.SelectRows(#"Changed Type", each [OrderDate] >= RangeStart and [OrderDate] <= RangeEnd)
jos orderDate-arvo on sekä RangeStart että RangeEnd.Sulje valitsemalla OK .
Valitse Power Query -editorin Aloitus-valintanauhasta Sulje ja käytä. Power Query lataa tiedot RangeStart- ja RangeEnd-parametrien määrittämien suodattimien ja muiden määrittämiesi suodattimien perusteella.
Power Query lataa vain RangeStart- ja RangeEnd-parametrien välillä määritetyt tiedot. Sen mukaan, kuinka paljon tietoa kyseisellä ajanjaksolla on, taulukon pitäisi latautua nopeasti. Jos se vaikuttaa hitaalta ja prosessi-intensiivisltä, on todennäköistä , että kyselyä ei ole delegoitu lähteeseen.
Määritä käytäntö
Kun olet määrittänyt RangeStart- ja RangeEnd-parametrit ja suodattanut tiedot näiden parametrien perusteella, määrität lisäävän päivityskäytännön. Tätä käytäntöä käytetään vasta, kun malli on julkaistu palveluun ja manuaalinen tai ajoitettu päivitystoiminto suoritetaan.
Napsauta Taulukko-näkymässä taulukkoa hiiren kakkospainikkeella Tiedot-ruudun ja valitse Lisäävä päivitys -.
Tarkista tai valitse taulukko lisäävä päivitys ja reaaliaikaiset tiedot>-kohdassa Valitse taulukko. Valitse taulukko -luetteloruudun
oletusarvo on taulukkonäkymässä valitsemasi taulukko. Määritä tarvittavat asetukset:
Määritä tuonti- ja päivitysalueet -ruudussa>Lisäävästi päivitä tämä taulukko siirtää liukusäätimen Käytössä-asentoon. Jos liukusäädin on poistettu käytöstä, se tarkoittaa, että taulukon Power Query -lauseke ei sisällä suodatinta, joka perustuu RangeStart- ja RangeEnd-parametreihin.
Määritä arkistoinnin aloitustiedoissa se historiallinen säilön kausi, jonka haluat sisällyttää malliin. Kaikki rivit, joissa on päivämääriä tällä ajanjaksolla, ladataan malliin palvelussa, ellei muita suodattimia käytetä.
Määritä päivitysjakso kohdassa Tietojen lisäävästi päivittäminen alkaa. Kaikki rivit, joilla on päivämääriä tällä ajanjaksolla, päivitetään malliin aina, kun Power BI -palvelu suorittaa manuaalisen tai ajoitetun päivitystoiminnon.
Määritä valinnaiset asetukset:
Valitse Valinnaiset asetukset -kohdassa Hae uusimmat tiedot reaaliaikaisesti DirectQueryllä (vain Premium), jos haluat sisällyttää tietolähteessä viimeisimmän päivitysjakson jälkeen tapahtuneet tietojen muutokset. Tämän asetuksen vuoksi lisäävän päivityksen käytäntö lisää DirectQuery-osion taulukkoon.
Jos haluat päivittää vain kokonaiset päivät, valitse Päivitä vain täydet päivät . Jos päivitystoiminto havaitsee, että päivä ei ole valmis, koko päivän rivejä ei päivitetä. Tämä asetus on käytössä automaattisesti, kun valitset Hae uusimmat tiedot reaaliaikaisesti DirectQueryllä (vain Premium)..
Valitse Havaitse tietojen muutokset määrittääksesi päivämäärä/aika-sarakkeen, jonka avulla tunnistetaan ja päivitetään vain päivät, joiden tiedot ovat muuttuneet. Tietolähteessä on oltava päivämäärä/aika-sarake, joka on yleensä valvontaa varten. Tämän sarakkeen ei tulisi olla sama sarake kuin jota käytetään tietojen jakamiseen RangeStart- ja RangeEnd-parametreilla. Tämän sarakkeen enimmäisarvo arvioidaan jokaisen lisäävän alueen ajanjakson osalta. Jos se ei ole muuttunut viimeisen päivityksen jälkeen, nykyistä ajanjaksoa ei päivitetä. Premium-kapasiteetteihin julkaistuissa malleissa voit myös määrittää mukautetun kyselyn. Lisätietoja on artikkelissa Kehittynyt lisäävä päivitys – Mukautetut kyselyt tietojen muutosten havaitsemiseksi.
Asetuksista riippuen käytäntösi pitäisi näyttää suunnilleen tältä:
Tarkista asetuksesi ja viimeistele päivityskäytäntö valitsemalla Käytä . Tämä vaihe ei lataa tietoja.
Tallenna ja julkaise palveluun
Nyt kun RangeStart- ja RangeEnd-parametrit, suodatus- ja päivityskäytäntöasetukset ovat valmiit, tallenna mallisi ja julkaise se palveluun. Jos mallista tulee suuri, muista ottaa käyttöön suuren mallin tallennusmuotoennen kuin ensimmäisen päivityksen käynnistämistä palvelussa.
Mallin päivittäminen
Päivitä malli palvelussa. Ensimmäinen päivitys lataa sekä uudet että päivitetyt tiedot päivitysjaksolta sekä koko säilön historiatiedot. Tietojen määrästä riippuen tämä päivitys voi kestää jonkin aikaa. Myöhemmät, manuaaliset tai ajoitetut päivitykset, ovat yleensä paljon nopeampia, koska lisäävän päivityksen käytäntöä käytetään ja vain päivityskäytäntöasetuksessa määritetyn ajanjakson tiedot päivitetään.
DateTime-ajan muuntaminen kokonaisluvuksi
Tämä tehtävä vaaditaan vain, jos taulukossa käytetään kokonaisluvun korvaavia avaimia Päivämäärä/aika-arvojen sijaan rangeStart- ja RangeEnd-suodatinmääritelmissä käytettävässä päivämääräsarakkeessa.
RangeStart- ja RangeEnd-parametrien tietotyypin on oltava päivämäärä/aika-tietotyyppi riippumatta päivämääräsarakkeen tietotyypistä. Monessa tietolähteessä taulukoissa ei kuitenkaan ole päivämäärä/aika-tietotyypin saraketta, vaan niiden päivämääräsarake, joka sisältää kokonaisluvun korvaavia avaimia muodossa yyyymmdd
. Et yleensä voi muuntaa näitä kokonaisluvun korvaavia avaimia päivämäärä/aika-tietotyypiksi, koska tulos olisi kyselylauseke, jota ei voi delegoida lähteeseen, mutta voit luoda funktion, joka muuntaa parametrien päivämäärä- ja aika-arvon vastaamaan tietolähdetaulukon kokonaisluvun korvaavaa avainta menettämättä taitettavuutta. Funktio kutsutaan sitten suodatinvaiheessa. Tämä muuntamisvaihe vaaditaan, jos tietolähdetaulukko sisältää vain korvaavan avaimen kokonaislukutietotyyppinä.
Valitse Power Query -editorin Aloitus-valintanauhasta avattava Uusi lähde -valikko ja valitse sitten Tyhjä kysely.
Kirjoita Kyselyasetukset-kohtaan nimi, esimerkiksi DateKey, ja kirjoita sitten kaavaeditoriin seuraava kaava:
= (x as datetime) => Date.Year(x)*10000 + Date.Month(x)*100 + Date.Day(x)
Jos haluat testata kaavaa, anna Enter-parametri-kohtaan päivämäärä-/aika-arvo ja valitse sitten Käynnistä. Jos kaava on oikein, palautetaan päivämäärän kokonaislukuarvo. Kun olet vahvistanut toiminnon, poista tämä uusi Käynnistetty funktiokysely .
Valitse Kyselyt-kohdassa taulukko ja muokkaa sitten kyselykaavaa kutsuaksesi funktion RangeStart- ja RangeEnd-parametreilla.
= Table.SelectRows(#"Reordered Column OrderDateKey", each [OrderDateKey] > DateKey(RangeStart) and [OrderDateKey] <= DateKey(RangeEnd))