Waarom wordt mijn query meerdere keren uitgevoerd?

Bij het vernieuwen in Power Query wordt er achter de schermen veel gedaan om u een soepele gebruikerservaring te bieden en om uw query's efficiënt en veilig uit te voeren. In sommige gevallen merkt u echter mogelijk dat er meerdere gegevensbronaanvragen worden geactiveerd door Power Query wanneer gegevens worden vernieuwd. Soms zijn deze aanvragen normaal, maar soms kunnen ze worden voorkomen.

Wanneer er meerdere aanvragen plaatsvinden

In de volgende secties worden enkele exemplaren beschreven Power Query meerdere aanvragen naar een gegevensbron kunnen verzenden.

Connectorontwerp

Connectors kunnen om verschillende redenen meerdere aanroepen naar een gegevensbron maken, waaronder metagegevens, het opslaan van resultaten in de caching, paginering, en meer. Dit gedrag is normaal en is ontworpen om op die manier te werken.

Meerdere query's die verwijzen naar één gegevensbron

Er kunnen meerdere aanvragen voor dezelfde gegevensbron optreden als meerdere query's uit die gegevensbron worden opgevraagd. Deze aanvragen kunnen zelfs plaatsvinden in gevallen waarin slechts één query verwijst naar de gegevensbron. Als naar deze query wordt verwezen door een of meer andere query's, wordt elke query samen met alle query's waar deze van afhankelijk is — — onafhankelijk geëvalueerd.

In een desktopomgeving wordt één vernieuwing van alle tabellen in het gegevensmodel uitgevoerd met behulp van één gedeelde cache. Caching kunt de kans op meerdere aanvragen voor dezelfde gegevensbron verminderen, omdat één query kan profiteren van dezelfde aanvraag die al is uitgevoerd en in de cache is opgeslagen voor een andere query. Hier kunt u echter meerdere aanvragen krijgen omdat de gegevensbron niet in de cache is opgeslagen (bijvoorbeeld lokale CSV-bestanden), de aanvraag voor de gegevensbron anders is dan een aanvraag die al in de cache is opgeslagen vanwege downstreambewerkingen (die kunnen worden gevouwen), de cache is te klein (wat relatief onwaarschijnlijk is) of omdat de query's ongeveer tegelijkertijd worden uitgevoerd.

In een cloudomgeving wordt elke query vernieuwd met behulp van een eigen afzonderlijke cache, zodat een query niet kan profiteren van dezelfde aanvraag die al in de cache is opgeslagen voor een andere query.

Vouwen

Soms Power Query de vouwlaag meerdere aanvragen voor een gegevensbron genereren op basis van de bewerkingen die downstream worden uitgevoerd. In dergelijke gevallen kunt u meerdere aanvragen vermijden met behulp van Table.Buffer . Meer informatie: Uw tabel bufferen

Laden naar Power BI Desktop model

In Power BI Desktop vernieuwt Analysis Services (AS) gegevens met behulp van twee evaluaties: één om het schema op te halen dat as doet door te vragen om nul rijen en één om de gegevens op te — — halen. Als voor het berekenen van het schema met nulrijen de gegevens moeten worden opgehaald, kunnen dubbele gegevensbronaanvragen optreden.

Analyse van gegevens privacy

Gegevens privacy heeft eigen evaluaties van elke query om te bepalen of de query's veilig samen kunnen worden uitgevoerd. Deze evaluatie kan soms leiden tot meerdere aanvragen naar een gegevensbron. Een telltale-teken dat een bepaalde aanvraag afkomstig is van gegevens privacy-analyse is dat deze een "TOP 1000"-voorwaarde (hoewel niet alle gegevensbronnen ondersteuning bieden voor een dergelijke voorwaarde). Over het algemeen zou het uitschakelen van gegevens privacy, ervan uitgaande dat acceptabel is, de — TOP 1000 of andere aanvragen met betrekking tot gegevens privacy elimineren — tijdens het vernieuwen. Meer informatie: De firewall voor gegevensbescherming uitschakelen

Downloaden van achtergrondgegevens (ook wel achtergrondanalyse genoemd)

Net als bij de evaluaties die zijn uitgevoerd voor gegevens privacy, downloadt de Power Query-editor standaard een voorbeeld van de eerste 1000 rijen van elke querystap. Als u deze rijen downloadt, zorgt u ervoor dat het voorbeeld van de gegevens gereed is om weer te geven zodra een stap is geselecteerd, maar dit kan ook leiden tot dubbele gegevensbronaanvragen. Meer informatie: Achtergrondanalyse uitschakelen

Diverse achtergrondtaken Power Query editor

Verschillende achtergrondtaken Power Query editor kunnen ook extra gegevensbronaanvragen activeren (bijvoorbeeld step folding-analyse, kolomprofilering, het automatisch vernieuwen van de preview van 1000 rijen die Power Query activeert na het laden van resultaten naar Excel, etc.).

Meerdere query's isoleren

U kunt exemplaren van meerdere query's isoleren door specifieke onderdelen van het queryproces uit te schakelen om te isoleren waar de dubbele aanvragen vandaan komen. Als u bijvoorbeeld begint:

  • In de Power Query-editor
  • Met de firewall uitgeschakeld
  • Met achtergrondanalyse uitgeschakeld
  • Als kolomprofilering en andere achtergrondtaken zijn uitgeschakeld
  • [Optioneel] Een Table.Buffer

In dit voorbeeld hebt u slechts één M-evaluatie die wordt weergegeven wanneer u de preview van Power Query editor vernieuwt. Als de dubbele aanvragen op dit moment optreden, zijn ze inherent aan de manier waarop de query wordt geschreven. Zo niet, en als u de bovenstaande instellingen één voor één inschakelen, kunt u vervolgens zien op welk punt de dubbele aanvragen beginnen.

In de volgende secties worden deze stappen gedetailleerder beschreven.

Een Power Query instellen

U hoeft de query niet opnieuw te verbinden of opnieuw te maken. Open gewoon de query die u wilt testen in de Power Query editor. U kunt de query in de editor dupliceren als u niet wilt knoeien met de bestaande query.

De firewall voor gegevensbescherming uitschakelen

De volgende stap is het uitschakelen van de firewall voor gegevensbescherming. In deze stap wordt ervan uit gegaan dat u zich geen zorgen maakt over het lekken van gegevens tussen bronnen. U kunt de firewall voor gegevensbescherming daarom uitschakelen met behulp van de instellingen voor Privacyniveau altijd negeren die worden beschreven in de optie Snel combineren instellen in Excel of de instelling De privacyniveaus negeren en mogelijk verbeterde prestaties gebruiken die worden beschreven in Power BI Desktop privacyniveaus in Power BI Desktop.

Zorg ervoor dat u deze stap ongedaan maakt voordat u de normale tests hervat.

Achtergrondanalyse uitschakelen

De volgende stap is het uitschakelen van achtergrondanalyse. Achtergrondanalyse wordt beheerd door de instelling Voorbeeld van gegevens downloaden toestaan op de achtergrond die wordt beschreven in Uitschakelen Power Query vernieuwen op de achtergrond voor Power BI. U kunt deze optie ook uitschakelen in Excel.

Afbeelding van queryopties in Excel met achtergrondanalyse uitgeschakeld

Uw tabel bufferen

U kunt eventueel ook gebruiken om af te dwingen dat alle gegevens worden gelezen, waardoor wordt geïmiteerd wat er Table.Buffer gebeurt tijdens het laden. Als u Table.Buffer wilt gebruiken in de Power Query editor:

  1. Selecteer in Power Query de formulebalk van de editor de knop fx om een nieuwe stap toe te voegen.

    Afbeelding met de locatie van de fx-knop benadrukt

  2. Plaats table.Buffer( ) rond de naam van de vorige stap in de <previous step name goes here> formulebalk. Als de vorige stap bijvoorbeeld de naam Source heeft, wordt op de formulebalk = Source weergegeven. Bewerk de stap in de formulebalk om te = Table.Buffer(Source) zeggen.

Meer informatie: Table.Buffer

De test uitvoeren

Voer de test uit door een vernieuwing uit te voeren in de Power Query editor.

Afbeelding met de locatie van de knop Vernieuwen benadrukt