Les på engelsk

Del via


Vanlige problemer

Power Query

Bevare sortering

Du kan anta at hvis du sorterer dataene, bevarer eventuelle nedstrømsoperasjoner sorteringsrekkefølgen.

Hvis du for eksempel sorterer en salgstabell slik at hver butikks største salg vises først, kan det hende at du forventer at en «Fjern duplikater»-operasjon bare returnerer det øverste salget for hver butikk. Og denne operasjonen kan faktisk se ut til å fungere. Denne virkemåten er imidlertid ikke garantert.

På grunn av måten Power Query optimaliserer bestemte operasjoner, inkludert å hoppe over dem eller avlaste dem til datakilder (som kan ha sin egen unike rekkefølge), er sorteringsrekkefølge ikke garantert å bli bevart gjennom aggregasjoner (for eksempel Table.Group), flettinger (for eksempel Table.NestedJoin), eller duplisert fjerning (for eksempel Table.Distinct).

Det finnes flere måter å omgå dette på. Her er noen forslag:

  • Utfør en sortering etter at du har brukt nedstrømsoperasjonen. Når du for eksempel grupperer rader, sorterer du den nestede tabellen i hver gruppe før du bruker flere trinn. Her er noen eksempler på M-kode som demonstrerer denne tilnærmingen: Table.Group(Sales_SalesPerson, {"TerritoryID"}, {{"SortedRows", each Table.Sort(_, {"SalesYTD", Order.Descending})}})
  • Bufre dataene (ved hjelp av Table.Buffer) før du bruker nedstrømsoperasjonen. I noen tilfeller fører denne operasjonen til at nedstrømsoperasjonen bevarer den bufrede sorteringsrekkefølgen.
  • Bruk rangering. I stedet for å bruke Table.Distinct, kan du for eksempel bestille etter kolonnen(e) som inneholder de dupliserte verdiene, rangere basert på en tie-breaker-kolonne (for eksempel modified_date), og deretter filtrere for å beholde bare rangeringen 1 rader.

Datatypereferanse

Noen ganger kan Power Query feilaktig oppdage datatypen til en kolonne. Dette skyldes at Power Query utleder datatyper med bare de første 200 radene med data. Hvis dataene i de første 200 radene på en eller annen måte er annerledes enn dataene etter rad 200, kan Power Query ende opp med å plukke feil type. (Vær oppmerksom på at feil type ikke alltid vil gi feil. Noen ganger er de resulterende verdiene rett og slett feil, noe som gjør problemet vanskeligere å oppdage.)

Tenk deg for eksempel en kolonne som inneholder heltall i de første 200 radene (for eksempel alle nuller), men som inneholder desimaltall etter rad 200. I dette tilfellet utsetter Power Query datatypen for kolonnen som heltall (Int64.Type). Denne slutningen resulterer i at desimaldelene av alle ikke-heltall blir avkortet.

Eller tenk deg en kolonne som inneholder tekstdatoverdier i de første 200 radene, og andre typer tekstverdier etter rad 200. I dette tilfellet utsetter Power Query datatypen for kolonnen som Dato. Denne slutningen resulterer i at tekstverdiene som ikke er dato, behandles som typekonverteringsfeil.

Siden typeregistrering fungerer på de første 200 radene, men dataprofilering kan fungere over hele datasettet, kan du vurdere å bruke dataprofileringsfunksjonaliteten for å få en tidlig indikasjon i Power Query-redigering om feil (fra typeregistrering eller en rekke andre årsaker) utover de øverste N-radene.

Tilkoblinger som er tvunget lukket av den eksterne verten

Når du kobler til ulike API-er, kan du få følgende advarsel:

Data source error: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host

Hvis du støter på denne feilen, er det mest sannsynlig et nettverksproblem. Vanligvis er de første personene du må sjekke med, eierne av datakilden du prøver å koble til. Hvis de ikke tror de er de som lukker tilkoblingen, er det mulig at noe underveis er (for eksempel en proxy-server, mellomliggende rutere/gatewayer og så videre).

Enten dette bare reproduseres med data eller bare større datastørrelser, er det sannsynlig at det er et tidsavbrudd for nettverket et sted på ruten. Hvis det bare er med større data, bør kunder rådføre seg med eieren av datakilden for å se om API-ene støtter sideveksling, slik at de kan dele forespørslene sine i mindre deler. Mislykkes dette, bør alternative måter å trekke ut data fra API-en (etter anbefalte fremgangsmåter for datakilder) følges på.

TLS RSA-chiffreringsserier er avskrevet

Fra 30. oktober 2020 ble følgende chiffreringsserier avskrevet fra serverne våre.

  • "TLS_RSA_WITH_AES_256_GCM_SHA384"
  • "TLS_RSA_WITH_AES_128_GCM_SHA256"
  • "TLS_RSA_WITH_AES_256_CBC_SHA256"
  • "TLS_RSA_WITH_AES_128_CBC_SHA256"

Listen nedenfor er de støttede chifferseriene:

  • "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
  • "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
  • "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
  • "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
  • "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"
  • "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"
  • "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
  • "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"

Chiffreringsserier brukes til å kryptere meldinger for å sikre en nettverkstilkobling mellom klienter/servere og andre servere. Vi fjerner listen over chiffereringsserier for å overholde de gjeldende sikkerhetsprotokollene. Fra og med 1. mars 2021 kan kunder bare bruke våre standard chiffreringsserier.

Dette er cipher-programseriene som serveren du kobler til, må støtte for å koble til fra Power Query Online eller Power BI.

I Power Query Desktop (Power BI, Excel) kontrollerer vi ikke chifferseriene dine. Hvis du prøver å koble til Power Platform (for eksempel Power Platform-dataflyter) eller Power BI-tjenesten, trenger du en av disse chiffreringsprogrammene som er aktivert på operativsystemet. Du kan oppgradere Windows-versjonen eller oppdatere Windows TLS-registret for å forsikre deg om at serverendepunktet støtter en av disse chiffreringene.

Hvis du vil bekrefte at serveren overholder sikkerhetsprotokollen, kan du utføre en test ved hjelp av et TLS-chiffer- og skannerverktøy. Et eksempel kan være SSLLABS.

Kunder må oppgradere serverne før 1. mars 2021. Hvis du vil ha mer informasjon om hvordan du konfigurerer ordren for TLS-chiffreringsserie, kan du se Administrere Transport Layer Security (TLS).

Sertifikatopphevelser

En kommende versjon av Power BI Desktop fører til at SSL-tilkoblinger mislykkes fra Desktop når sertifikater i SSL-kjeden mangler status for tilbakekalling av sertifikater. Dette er en endring fra gjeldende tilstand, der tilbakekalling bare forårsaket tilkoblingsfeil i tilfelle sertifikatet ble eksplisitt tilbakekalt. Andre sertifikatproblemer kan omfatte ugyldige signaturer og sertifikatutløp.

Siden det finnes konfigurasjoner der tilbakekallingsstatus kan bli fjernet, for eksempel med proxy-servere for firmaet, gir vi et annet alternativ for å ignorere sertifikater som ikke har tilbakekallingsinformasjon. Dette alternativet gjør det mulig for situasjoner der tilbakekallingsinformasjon fjernes i visse tilfeller, men du ikke vil redusere sikkerheten helt, for å fortsette å arbeide.

Det anbefales ikke, men brukere kan fortsatt deaktivere tilbakekallingskontroller helt.

Feil: Evalueringen ble avbrutt

Power Query returnerer meldingen Evaluering ble avbrutt når bakgrunnsanalyse er deaktivert, og brukeren bytter mellom spørringer eller lukker Power Query-redigering mens en spørring er i ferd med å oppdateres.

Feil: Nøkkelen samsvarte ikke med noen rader i tabellen

Det er mange grunner til at Power Query kan returnere en feil som ikke samsvarer med noen rader i tabellen. Når denne feilen oppstår, finner ikke Mashup-motoren tabellnavnet den søker etter. Årsaker til at denne feilen kan oppstå, omfatter:

  • Tabellnavnet er endret, for eksempel i selve datakilden.
  • Kontoen som brukes til å få tilgang til tabellen, har ikke tilstrekkelige rettigheter til å lese tabellen.
  • Det kan være flere legitimasjoner for én enkelt datakilde, som ikke støttes i Power BI-tjenesten når du bruker personlige skytilkoblinger. Denne feilen kan for eksempel oppstå når datakilden er en datakilde i skyen, og flere kontoer brukes til å få tilgang til datakilden samtidig med annen legitimasjon. Hvis datakilden er lokal, må du bruke den lokale datagatewayen.

Begrensning: Domenetilføyd krav for gateway-maskiner når du bruker Windows-godkjenning

Bruk av Windows-godkjenning med en lokal gateway krever at gateway-maskinen er koblet til domenet. Dette gjelder for alle tilkoblinger som er konfigurert med Windows-godkjenning gjennom gatewayen*. Windows-kontoer som brukes til å få tilgang til en datakilde, kan kreve lesetilgang til de delte komponentene i Windows-katalogen og gatewayinstallasjonen.

Begrensning: OAuth2-oppdatering på tvers av leier støttes ikke i Power Bi-tjeneste

Hvis du vil koble til en datakilde fra Power Bi-tjeneste ved hjelp av OAuth2, må datakilden være i samme leier som Power Bi-tjeneste. Tilkoblingsscenarioer for flere leiere støttes for øyeblikket ikke med OAuth2.

Begrensning: Egendefinert AD FS-godkjenningsendepunkt støttes ikke i Power Bi-tjeneste

Muligheten til å bruke et egendefinert AD FS-godkjenningsendepunkt (Active Directory Federation Services) støttes ikke i Power Bi-tjeneste. Brukere kan støte på følgende feil: Tokentjenesten som er rapportert av ressursen, er ikke klarert.

Begrensning: Gjestekontoer støttes ikke

Bruk av gjestekontoer for en leier til å koble til data ved hjelp av Power Query-koblinger støttes for øyeblikket ikke.

Expression.Error: Evaluering resulterte i en stakkoverflyt og kan ikke fortsette

Stakkoverflytfeil kan skyldes en feil i M-koden. Følgende funksjon produserer for eksempel en stakkoverflyt fordi den gjentatte ganger kaller tilbake til seg selv uten noen form for sluttbetingelse. En funksjon som kaller seg slik, kalles en rekursiv funksjon.

let f = (x) => @f(x + 1) in f(0)

Her er noen vanlige måter å løse en stakkoverflyt i M-koden på.

  • Sørg for at rekursive funksjoner faktisk avsluttes når den forventede sluttbetingelsen er nådd.
  • Erstatt rekursjon med gjentakelse (for eksempel ved hjelp av funksjoner som List.Transform, List.Generate eller List.Accumulate).

Expression.Error: Evalueringen gikk tom for minne og kan ikke fortsette

Feil (eller OOM-er) kan skyldes for mange minneintensive operasjoner mot svært store tabeller. Følgende M-kode produserer for eksempel en OOM fordi den prøver å laste inn en milliard rader i minnet samtidig.

Table.Buffer(Table.FromList({1..1000000000}, Splitter.SplitByNothing()))

Hvis du vil løse minnefeil, optimaliserer du minneintensive operasjoner som sorter, sammenføyninger, gruppering og distinkte verdier ved å sikre at de brettes til kilden, eller ved å fjerne dem helt der det er mulig. Sorteringer, for eksempel, er ofte unødvendige.

Dataflyt

Avbryt oppdatering av dataflyt

Noen ganger starter du en oppdatering av dataflyten, men når du har startet den, innser du at du vil endre én ting til før du oppdaterer dataene. I så fall må du vente til oppdateringen er fullført. Å stoppe en oppdatering midtveis i prosessen fungerer allerede med å hente dataene, og oppdatering av tabellene i arbeidsområdet eller miljøet støttes for øyeblikket ikke.

Vi planlegger å legge til støtte for å avbryte en dataflytoppdatering i fremtiden.