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 -palvelu, 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 -editori 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 ne julkaistaan palveluun, lisäävän päivityksen käytäntö ohittaa nämä aika-alueen arvot. Käytäntö luo saapuvien tietojen ikkunat yksi toisensa jälkeen.

  1. Avaa Power Query -editori valitsemalla Power BI Desktopin Aloitus-valintanauhasta Muunna tiedot.

  2. Valitse avattava Parametrien hallinta -valikko ja valitse sitten Uusi parametri.

  3. 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.

    Define the Range Start parameter in the Manage Parameters dialog.

  4. 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.

    Define the Range End parameter in the Manage Parameters dialog.

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 yyyymmddkorvaavien 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.

  1. Valitse Power Query -editori päivämääräsarake, jota haluat suodattaa, ja valitse sitten avattavan valikon nuoli >Päivämääräsuodattimet>Mukautettu suodatin.

  2. 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.

    Filter rows dialog showing Range Start and Range End conditions.

    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 .

  3. Valitse Power Query -editori 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.

  1. Napsauta Tietonäkymässä taulukkoa hiiren kakkospainikkeella Tiedot-ruudussaja valitse Lisäävä päivitys.

    Data view showing Table context menu with Incremental refresh selected.

  2. Tarkista tai valitse taulukko lisäävä päivitys ja reaaliaikaiset tiedot>-kohdassa Valitse taulukko. Valitse taulukko -luetteloruudun oletusarvo on tietonäkymässä valitsemasi taulukko.

  3. 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.

  4. 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ä:

    Incremental refresh and real-time data policy dialog showing incremental refresh range.

  5. 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, ota suuren mallin tallennusmuotokäyttöön ennen palvelun ensimmäisen päivityksen käynnistämistä.

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ä.

  1. Valitse Power Query -editori Aloitus-valintanauhastaavattava Uusi lähde -valikko ja valitse sitten Tyhjä kysely.

  2. Kirjoita Kyselyn Asetukset nimi, esimerkiksi DateKey, ja kirjoita sitten kaavaeditoriin seuraava kaava:

    = (x as datetime) => Date.Year(x)*10000 + Date.Month(x)*100 + Date.Day(x)

    Power BI function editor showing the integer surrogate DateKey function.

  3. 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 .

  4. 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))

    Power BI table showing DateKey filter.