Konfiguration von Kontexten
Um Kontexte in BI Point zu aktivieren, müssen Sie die Einträge in der Datei config.json bearbeiten.
Der Standardpfad ist: "C:\Program Files (x86)\Comarch\BI Point\instances\Instanzname\bipoint"
Die folgenden Flags sind relevant:
Nachdem Sie die Änderungen vorgenommen haben, speichern Sie die Datei config.json. Abschließend starten Sie Comarch BI Point neu, damit die Änderungen wirksam werden.
- IsReportContextEnable – aktiviert die Funktionalität für Kontextberichte
- IsReportContextCheckEnabled – aktiviert die Zertifikatsprüfung
Hinzufügen von Kontexten
Das Hinzufügen von Kontexten ist ausschließlich über die Datenbank möglich.
Um einen neuen Kontext hinzuzufügen, müssen die folgenden Skripte in der PostgreSQL-Datenbank von BI Point ausgeführt werden:
INSERT INTO rb."Contexts" ("CTX_Name") VALUES ('Kontextname');
INSERT INTO rb."Parameters" ("PAR_Name") VALUES ('Parametername');
INSERT INTO rb."ContextsParameters" ("CTP_ContextId","CPT_ParameterId")
VALUES (1,1);
INSERT INTO rb."ContextsMappings" ([CTM_ContextId],[CTM_ContextMapping],
[CTM_MappingName]) VALUES (1,'ExternerKontextname','Kontextname');
Nach Ausführung des obigen Codes wird NeuerKontext sichtbar sein. Die API wird den Namen ExternerKontextname verwenden. Optional können Übersetzungen für Kontexte hinzugefügt werden:
INSERT INTO rb."ContextTranslations" ("CTL_Id", "CTL_ContextId",
"CTL_LocaleId", "CTL_Translation") VALUES (1, 1, 'de-DE', 'Vertrieb');Definition von Kontexten in Comarch BI Point
Nachdem die Kontexte erfolgreich aus der Datei config.json gestartet (gemäß dem Artikel Kontexte starten) und der Kontext zur Datenbank hinzugefügt wurde (gemäß dem Artikel Hinzufügen von Kontexten), ist es notwendig, die Kontexte direkt am Repository-Objekt zu definieren.
Um einen Kontext zu definieren, muss zunächst das entsprechende Objekt ausgewählt und anschließend die Schaltfläche Kontext hinzufügen angeklickt werden.
Das Hinzufügen von Kontexten ist nicht möglich, wenn ein bestimmter Bericht, ein Dashboard oder eine Analyse auf einem Datenmodell basiert, das Parameter enthält.
Nach der Auswahl erscheint ein Fenster mit den Abschnitten Kontext und Gefiltertes Attribut.
- Kontext – wenn nur ein Kontext hinzugefügt wurde, bleibt das Feld ausgegraut und kann nicht bearbeitet werden. Wenn jedoch mehr als ein Kontext hinzugefügt wurde, erscheint eine Dropdown-Liste, die die Auswahl des entsprechenden Kontexts ermöglicht
- Gefiltertes Attribut – dieser Parameter ermöglicht die Auswahl eines Attributs aus dem Datenmodell, auf dem das Objekt basiert, dem der erstellte Kontext zugewiesen wird
Verwendung von Kontexten in Comarch BI Point
Verwendung von Kontexten
API-Methoden sollten direkt nach der BI Point-Instanz ausgeführt werden, z. B. http://localhost:55555/api/ReportContext/GetContextReports Liste der verfügbaren Methoden:-
api/ReportContext/GetContextReports
1. Anfrage
Die Anfrage akzeptiert eine Liste von Kontexten und eine Liste von Benutzern. Beide Parameter sind optional. Wenn keine Parameter angegeben werden, wird eine Liste aller Kontextberichte zurückgegeben, die nicht nach Zugriff gefiltert ist. Das Hinzufügen einer Kontext-ID oder ihres Namens führt zur Rückgabe von Berichten, die diesen Kontexten zugewiesen sind. Das Hinzufügen einer Benutzer-ID oder ihres Logins filtert die zurückgegebene Liste und gibt nur die Berichte zurück, auf die der Benutzer Zugriff hat.2. Antwort
Die Antwort der Methode ist eine Liste von Berichtsobjekten, die nach Benutzern gruppiert sind. Berichte, auf die der Benutzer keinen Zugriff hat, werden nicht zurückgegeben. Das Berichtsobjekt enthält Id, ReportName und eine Liste der ihm zugewiesenen Kontexte (Id, Name, Caption).-
api/ReportContext/GenerateLinks
1. Anfrage
Die Anfrage akzeptiert die ID des zu öffnenden Berichts und eine Liste von Kontexten. Diese Liste enthält die Kontext-ID und eine Liste der zu filternden Elemente. Diese Elemente können die Felder Typ und Value haben, wobei 3 Typen unterstützt werden:- Eindeutiger Name
- Anzeigename
- Org-Id
2. Antwort
Die Antwort der Methode ist ein Link zum Bericht/Dashboard mit einer GUID, unter der alle für die Filterung erforderlichen Informationen gespeichert sind.Beispiel für die Verwendung von Methoden
-
api/ReportContext/GetContextReports
1. Anfragen
- Anfrage nach allen Kontextberichten:
{"data":"{}"} - Anfrage nach Kontextberichten, die dem Kontext mit dem Namen „Produkt“ zugewiesen sind:
{"data":"{\"Contexts\":[{\"Name\":\"Produkt\"}]}"} - Anfrage nach Kontextberichten, die dem Kontext mit der ID 20 zugewiesen sind:
{"data":"{\"Contexts\":[{\"Id\":20}]}"} - Anfrage nach Kontextberichten, die dem Kontext mit dem Namen „Produkt“ oder dem Kontext mit der ID 20 zugewiesen sind:
{"data":"{\"Contexts\":[{\"Id\":20},{\"Name\":\"Produkt\"}]}"} - Abfrage aller Kontextberichte, die für den Benutzer mit dem Login „ab“ verfügbar sind:
{"data":"{\"Users\":[{\"Login\":\"ab\"}]}"} - Abfrage aller Kontextberichte, die für den Benutzer mit der ID 14 verfügbar sind:
{"data":"{\"Users\":[{\"Id\":14}]}"} - Abfrage aller Kontextberichte, die für den Benutzer mit dem Login „ab“ und den Benutzer mit der ID 14 verfügbar sind. Die Berichte sind für jeden Benutzer separat gruppiert:
{"data":"{\"Users\":[{\"Login\":\"ab\"},{\"Id\":14}]}"} - Abfrage von Kontextberichten, die dem Kontext mit der ID 20 zugewiesen und für Benutzer mit dem Login „ab“ und der ID 14 gruppiert sind:
{"data":"{\"Users\":[{\"Login\":\"ab\"},{\"Id\":14}],\"Contexts\":[{\"Id\":20}]}"}
2. Antworten
Antworten sind im JSON-Format und enthalten die angeforderten Berichtsdaten, gruppiert nach Benutzern und mit Kontextinformationen.-
api/ReportContext/GenerateLinks
1. Anfragen
- Generierung eines Links zum Bericht 37530:
{"data":"{\"Id\":37530}"} - Generierung eines Links zum Bericht 37530 und Filtern nach einem Element mit eindeutigem Namen (Typ 0) im Kontext mit der ID 20:
{"data":"{\"Id\":37530,\"Contexts\":[{\"Id\":20,\"Members\":[{\"Type\":0,\"Value\":\"[Produkt].[Kod].&[100010013]\"}]}]}"} - Generierung eines Links zum Bericht 37530 und Filtern nach einem Element mit Anzeigenamen (Typ 1) im Kontext mit der ID 20:
{"data":"{\"Id\":37530,\"Contexts\":[{\"Id\":20,\"Members\":[{\"Type\":1,\"Value\":\"KAR/0024/OP\"}]}]}"} - Generierung eines Links zum Bericht 37530 und Filtern nach einem Element mit OrgId (Typ 2) im Kontext mit der ID 20:
{"data":"{\"Id\":37530,\"Contexts\":[{\"Id\":20,\"Members\":[{\"Type\":2,\"Value\":\"368:141\"}]}]}"} - Generierung eines Links zum Bericht 37530 und Filtern nach Elementen nach eindeutigem Namen, Anzeigenamen und OrgId im Kontext mit der ID 20:
{"data":"{\"Id\":37530,\"Contexts\":[{\"Id\":20,\"Members\":[{\"Type\":0,\"Value\":\"[Produkt].[Kod].&[100010013]\"},{\"Type\":1,\"Value\":\"KAR/0024/OP\"},{\"Type\":2,\"Value\":\"368:141\"}]}]}"} - Generierung eines Links zum Bericht 37530 und Filtern nach Elementen nach Anzeigenamen im Kontext mit der ID 12 sowie nach eindeutigem Namen, Anzeigenamen und Org-Id im Kontext mit der ID 20:
{"data":"{\"Id\":37530,\"Contexts\":[{\"Id\":12,\"Members\":[{\"Type\":1,\"Value\":\"00111 test test DE-123123 Bayern\"}]},{\"Id\":20,\"Members\":[{\"Type\":0,\"Value\":\"[Produkt].[Kod].&[100010013]\"},{\"Type\":1,\"Value\":\"KAR/0024/OP\"},{\"Type\":2,\"Value\":\"368:141\"}]}]}"}