Jeg har to kunder på Exact Online, begge med testmiljøer som må holdes utenfor rapportene mine.
Hos kunde A satte Invantive selv opp denne oppstarts-SQL-en under introduksjonstimen:
use
select code, ‘eol’
from systemdivisions@eol
where upper(description) not like ‘%TEST%’;
Nå vil jeg bruke den samme oppstarts-SQL-en for kunde B. Siden det ikke er oppgitt noe spesifikt, tenkte jeg at jeg bare kunne gjenbruke denne koden. Men når jeg fyller den inn og oppdaterer i Power BI, får jeg følgende:
Microsoft.Mashup.Engine1.Library.Resources.HttpResource: Request failed: OData Version: 3 and 4, Error: The remote server returned an error: (500) Internal Server Error. (Oppstarts-SQL-setningene i databasen har forårsaket en brukerfeil, les resten av denne feilen nøye. Kan ikke endre aktive partisjoner til [liste over divisjoner, fjernet av personvernhensyn i dette innlegget] fordi partisjonen ‘X’ ikke finnes. Velg kun autoriserte og lisensierte partisjoner. Vennligst ta kontakt med utvikleren av oppstarts-SQL-en. (itgenboe074, 13b606de-6697-49d7-aa7f-8406aac9960b))
Partisjonen/divisjonen X eksisterer forresten, og er ikke en av testdivisjonene som skal ignoreres.
Den aktuelle divisjonen har faktisk ikke lese-/skriverettigheter, men dette kommer ikke frem som en feilmelding hvis jeg legger til «use all» som oppstarts-SQL. Feilen kommer bare frem når jeg begrenser partisjonene med TEST i navnet.
Med koden nedenfor løser jeg det, selv om jeg fortsatt synes det er merkelig:
use
select code, ‘eol’
from systemdivisions@eol
where upper(description) not like ‘%TEST%’ and code <> ‘X’;
Dette er ønsket atferd fra vår side. use all velger kun de brukbare partisjonene/administrasjonene og bruker allerede selv de nødvendige filtrene for disse.