Incrementeel vernieuwen configureren

In dit artikel wordt beschreven hoe u incrementeel vernieuwen configureert voor gegevenssets. Zie Premium functies van gegevensstromen - Incrementeel vernieuwen voor meer informatie over het configureren van incrementeel vernieuwen voor gegevensstromen.

Het configureren van incrementeel vernieuwen omvat het maken van parameters RangeStart en RangeEnd, het toepassen van filters en het definiëren van een beleid voor incrementeel vernieuwen. Nadat u naar de service hebt gepubliceerd, voert u een eerste vernieuwingsbewerking uit op de gegevensset. Bij de eerste vernieuwingsbewerking en volgende vernieuwingsbewerkingen wordt het beleid voor incrementeel vernieuwen toegepast dat u hebt gedefinieerd. Voordat u deze stappen voltooit, moet u de functionaliteit die wordt beschreven in Incrementeel vernieuwen voor gegevenssets volledig begrijpen.

Parameters maken

In deze taak gebruikt u Power Query Editor om de parameters RangeStart en RangeEnd te maken met standaardwaarden. De standaardwaarden zijn alleen van toepassing bij het filteren van de gegevens die in het model moeten worden geladen in Power BI Desktop. De waarden die u op invoeren, mogen slechts een kleine hoeveelheid van de meest recente gegevens uit uw gegevensbron bevatten. Wanneer deze waarden naar de service worden gepubliceerd, worden deze overgenomen door het beleid voor incrementeel vernieuwen.

  1. Klik Power BI Desktop op Gegevens transformeren om de editor Power Query openen.

  2. Klik op Parameters beheren Nieuwe > parameter.

  3. Typ in Manage Parameters Name RangeStart (case sensitive) en selecteer in Type de optie Date/Time en voer vervolgens in Huidige waarde een > begindatum/-tijdwaarde in.

    Parameter Bereik starten definiëren in het dialoogvenster Parameters beheren

  4. Maak een tweede parameter met de naam RangeEnd. In Type selecteert u Datum/tijd en voert u vervolgens in Huidige waarde een einddatum/-tijdwaarde in.

    Parameter Bereik beëindigen definiëren in het dialoogvenster Parameters beheren

Nu u de parameters RangeStart en RangeEnd hebt, filtert u de gegevens die in het model moeten worden geladen op basis van deze parameters.

Gegevens filteren

Notitie

Voordat u verdergaat met deze taak, controleert u of uw brontabel een datumkolom van het gegevenstype Datum/tijd heeft. Als dat niet zo is, maar een datumkolom met surrogaatsleutels voor gehele getallen heeft in de vorm van , volgt u de stappen in Datum/tijd converteren naar een geheel getal later in dit artikel om een functie te maken die de datum/tijd-waarde in de parameters converteert zodat deze overeenkomen met de surrogaatsleutel voor gehele getallen van de yyyymmdd brontabel.

Nu de parameters RangeStart en RangeEnd zijn gedefinieerd, moet u een filter toepassen op basis van voorwaarden in de parameters RangeStart en RangeEnd.

  1. Selecteer Power Query Editor de datumkolom waarop u wilt filteren en klik vervolgens op het filterpictogram > Aangepaste filter datum/tijdfilters. >

  2. Selecteer in Rijen filteren om de eerste voorwaarde op te geven is na of is na of gelijk aan , selecteer vervolgens Parameter en selecteer vervolgens BereikStart.

    Als u de tweede voorwaarde wilt opgeven, als u 'is after' hebt geselecteerd in de eerste voorwaarde, selecteert u is vóór of gelijk aan , of als u hebt geselecteerd is na of gelijk is aan in de eerste voorwaarde, selecteert u is vóór voor de tweede voorwaarde, selecteert u vervolgens Parameter en selecteert u vervolgens RangeEnd. Bijvoorbeeld:

    Rijen filteren

    Belangrijk: Controleer of query's een gelijk zijn aan (=) op RangeStart of RangeEnd, maar niet beide. Als het isgelijkteken (=) voor beide parameters bestaat, kan een rij voldoen aan de voorwaarden voor twee partities, wat kan leiden tot dubbele gegevens in het model. Kan bijvoorbeeld #"Filtered Rows" = Table.SelectRows(dbo_Fact, each [OrderDate] >= RangeStart and [OrderDate] <= RangeEnd) leiden tot dubbele gegevens.

    Klik op OK om te sluiten.

  3. Klik Power Query Editor op Sluiten & Toepassen. Power Query laadt vervolgens gegevens op basis van de filters die zijn gedefinieerd in de parameters RangeStart en RangeEnd en andere filters die u hebt gedefinieerd.

    Power Query laadt alleen gegevens die zijn opgegeven tussen de parameters RangeStart en RangeEnd. Afhankelijk van de hoeveelheid gegevens in die periode moet het laden snel gaan. Als het traag en procesintensief lijkt, is het waarschijnlijk dat de query niet wordt gevouwen.

Beleid definiëren

Nadat u de parameters RangeStart en RangeEnd hebt gedefinieerd en gegevens hebt gefilterd op basis van deze parameters, definieert u een beleid voor incrementeel vernieuwen. Het beleid wordt pas toegepast nadat het model is gepubliceerd naar de service en er een handmatige of geplande vernieuwingsbewerking wordt uitgevoerd.

  1. Open in de > velden > het contextmenu voor de tabel en klik vervolgens op Incrementeel vernieuwen.

    Contextmenu voor tabel

  2. Controleer of selecteer de tabel in Tabel incrementeel vernieuwen en klik vervolgens op de > schuifregelaar Incrementeel vernieuwen op Aan. Als de schuifregelaar is uitgeschakeld, betekent dit dat Power Query expressie voor de tabel geen filter bevat op basis van de parameters RangeStart en RangeEnd.

  3. Geef in Rijen opslaan waar kolom 'kolomnaam' zich in de laatste kolom voordeed: , de historische opslagperiode op die u wilt opnemen in de gegevensset. Alle rijen met datums in deze periode worden in de gegevensset in de service geladen, tenzij er andere filters van toepassing zijn.

  4. Geef in Rijen vernieuwen waar kolom 'kolomnaam' zich in de laatste kolom voordeed, de vernieuwingsperiode op. Alle rijen met datums in deze periode worden in de gegevensset vernieuwd telkens als een handmatige of geplande vernieuwingsbewerking wordt uitgevoerd.

    Dialoogvenster Beleid vernieuwen

  5. Selecteer optionele instellingen:

    Selecteer Gegevenswijzigingen detecteren om een datum/tijd-kolom op te geven die wordt gebruikt om alleen de dagen te identificeren en te vernieuwen waarop de gegevens zijn gewijzigd. Er moet een datum/tijd-kolom bestaan, meestal voor controledoeleinden, bij de gegevensbron. Dit mag niet dezelfde kolom zijn die wordt gebruikt voor het partitioneren van de gegevens met de parameters RangeStart en RangeEnd. De maximumwaarde van deze kolom wordt geëvalueerd voor elke periode in het incrementele bereik. Als deze niet is gewijzigd sinds de laatste vernieuwing, wordt de huidige periode niet vernieuwd. Voor gegevenssets die naar Premium worden gepubliceerd, kunt u ook een aangepaste query opgeven. Zie Geavanceerde incrementele vernieuwing - Aangepaste query's voor het detecteren van gegevenswijzigingen voor meer informatie.

    Selecteer Alleen volledige dagen vernieuwen om alleen hele dagen te vernieuwen. Als de vernieuwingsbewerking detecteert dat een dag niet is voltooid, worden rijen voor die hele dag niet vernieuwd.

  6. Klik op Alles toepassen om het vernieuwingsbeleid te voltooien. Brongegevens worden niet geladen met deze stap.

Opslaan en publiceren naar de service

Wanneer de parameters RangeStart en RangeEnd, filteren en vernieuwen zijn voltooid, moet u uw model opslaan en vervolgens publiceren naar de service. Als uw gegevensset groot wordt, moet u opslagindeling voor grote gegevenssets inschakelen voordat u de eerste vernieuwing in de service aanroept.

Gegevensset vernieuwen

Vernieuw de gegevensset in de service. Bij de eerste vernieuwing worden zowel nieuwe als bijgewerkte gegevens in de vernieuwingsperiode geladen, evenals historische gegevens voor de hele opslagperiode. Afhankelijk van de hoeveelheid gegevens kan dit behoorlijk lang duren. Volgende vernieuwingen, handmatig of gepland, zijn doorgaans veel sneller omdat het beleid voor incrementeel vernieuwen wordt toegepast en alleen de gegevens voor de periode die is opgegeven in de instelling voor vernieuwingsbeleid worden vernieuwd.

Datum/tijd converteren naar een geheel getal

Deze taak is optioneel.

Het gegevenstype van de parameters RangeStart en RangeEnd moet van het gegevenstype datum/tijd zijn. Voor veel gegevensbronnen hebben tabellen echter geen kolom van het gegevenstype datum/tijd, maar hebben ze in plaats daarvan een datumkolom met surrogaatsleutels met gehele getallen in de vorm van yyyymmdd . U kunt een functie maken die de datum/tijd-waarde in de parameters converteert zodat deze overeenkomen met de surrogaatsleutel voor gehele getallen van de gegevensbrontabel. De functie wordt vervolgens aangeroepen in een filterstap. Deze stap is vereist als de gegevensbrontabel alleen een surrogaatsleutel als gegevenstype met gehele getallen bevat.

  1. Klik Power Query Editor op Get data > Blank Query.

  2. Typ in Query Instellingen een naam, bijvoorbeeld DateKey, en voer vervolgens in de formule-editor de volgende formule in:

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

    De functie DateKey maken

  3. Als u de formule wilt testen, voert u in Parameter invoeren een datum\tijd-waarde in en klikt u vervolgens op Aanroepen. Als de formule juist is, wordt een geheel getal voor de datum geretourneerd. Verwijder na het verifiëren de aangeroepen functiequery.

  4. Selecteer in Query's de tabel en bewerk vervolgens de queryformule om de functie aan te roepen met de parameters RangeStart en RangeEnd. Bijvoorbeeld:

    = Table.SelectRows(#"Sorted Rows", each [OrderDateKey] > DateKey(RangeStart) and [OrderDateKey] <= DateKey(RangeEnd))

    DateKey-filter toepassen

Zie ook

Problemen met het configureren van incrementeel vernieuwen oplossen
Geavanceerd incrementeel vernieuwen met het XMLA-eindpunt
Geplande vernieuwing configureren