Ich habe zwei Kunden bei Exact Online, beide mit Testumgebungen, die aus meinen Berichten herausgehalten werden müssen.
Bei Kunde A hat Invantive selbst während der Einführungsstunde dieses Start-SQL erstellt:
use
select code, ‘eol’
from systemdivisions@eol
where upper(description) not like ‘%TEST%’;
Ich möchte nun das gleiche Start-SQL für Kunde B verwenden. Da nichts Spezifisches angegeben wird, dachte ich, ich könnte diesen Code einfach wiederverwenden. Wenn ich ihn jedoch eingebe und in Power BI aktualisiere, erhalte ich Folgendes:
Microsoft.Mashup.Engine1.Library.Resources.HttpResource: Request failed: OData Version: 3 and 4, Error: The remote server returned an error: (500) Internal Server Error. (Die Start-SQL-Anweisungen der Datenbank haben einen Benutzerfehler verursacht, bitte lesen Sie den Rest dieses Fehlers aufmerksam durch. Kann aktive Partitionen nicht ändern in [Liste der Divisionen, aus Datenschutzgründen in diesem Beitrag entfernt], da die Partition ‚X‘ nicht existiert. Wählen Sie nur autorisierte und lizenzierte Partitionen aus. Bitte wenden Sie sich an den Entwickler des Start-SQL. (itgenboe074, 13b606de-6697-49d7-aa7f-8406aac9960b))
Partition/Division X existiert jedoch wohl und ist nicht eine der Testdivisionen, die ignoriert werden sollen.
Die betreffende Abteilung hat tatsächlich keine Lese-/Schreibrechte, aber das wird nicht als Fehlermeldung angezeigt, wenn ich ‚use all‘ als Startup-SQL hinzufüge. Nur bei der Einschränkung der Partitionen mit TEST im Namen tritt der Fehler auf.
Mit folgendem Code habe ich es gelöst, auch wenn ich es weiterhin merkwürdig finde:
use
select code, ‚eol‘
from systemdivisions@eol
where upper(description) not like ‚%TEST%‘ and code <> ‚X‘;
In diesem Sinne ist das Problem also gelöst, danke dir.
Das ist das von uns gewünschte Verhalten. use all wählt nur die nutzbaren Partitionen/Verwaltungen aus und wendet dabei bereits selbst die erforderlichen Filter an.