Einen Bericht erstellen, ändern oder löschen
Der Bericht wird über eine XML-Datei konfiguriert. Sie müssen festlegen:
- die Abfrage auf der Datenbank von Systancia Identity, mit der die gewünschten Informationen abgerufen werden,
- die Eigenschaften jeder anzuzeigenden Spalte im XML-Format: Objekttyp, Name in der SQL-Datenbank, anzuzeigender Name, Anzeigeindex usw.
- die Anzeigeoptionen der Diagramme (Balkendiagramm, Kreisdiagramm, farbige Punkte).
Klicken Sie auf die Schaltfläche „New report“, um einen neuen Bericht zu erstellen und zu konfigurieren.
Wählen Sie einen Bericht aus und klicken Sie auf die Schaltfläche „Modify“, um seine Konfiguration zu ändern.

Eigenschaften eines Berichts
| Parameter |
Beschreibung |
Typen und mögliche Werte |
| Name |
Anzeigename des Berichts. |
Zeichenkette. Erforderlich. |
| Code |
Entspricht der ID des Objekts. Der Wert muss über alle Berichte hinweg eindeutig sein. |
Zeichenkette , ohne Leerzeichen und ohne Sonderzeichen. Erforderlich |
| Category |
Berichtskategorie, in der die Liste der Berichte angezeigt wird. |
Liste vordefinierter Kategorien. |
| Description |
|
Zeichenkette. |
| XML |
XML-Tags, die die SQL-Abfrage in der Hpliance-Datenbank, die Eigenschaften jeder Spalte des Berichts und die Eigenschaften der grafischen Elemente beschreiben. |
Text im XML-Format. |
| Choice of report template |
Grafische Vorlage des Berichts (zusätzlich zur Datentabelle). |
Without chart, Histogram, Stacked histogram, Pie chart oder Color ball by threshold. |
| With parameters |
Ermöglicht das Hinzufügen von Variablen, die der Benutzer eingibt. Sie müssen dem XML das Tag hinzufügen. |
Kontrollkästchen. |
Das XML eines einfachen Berichts schreiben
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 | <Config>
<!-- If there is a chart, indicate whether to display the chart on the dashboard -->
<DisplayGraphicInDashboard>true</DisplayGraphicInDashboard>
<!-- If there is a chart, indicate the chart display index on the dashboard -->
<DashboardDisplayIndex>0</DashboardDisplayIndex>
<!-- Indicates whether data is displayed as soon as the report page is accessed -->
<DirectDisplay>true</DirectDisplay>
<!-- The SQL query used to retrieve the data to be displayed -->
<Query></Query>
<!-- Definition of the list of columns available to the user. -->
<!-- The visibility and display index of the column can be configured by the user when viewing the report. -->
<Columns>
<!-- Definition of a column (to be duplicated as many times as necessary) -->
<Column>
<!-- The Object Type -->
<ObjectType></ObjectType>
<!-- Name of the column containing the IDs -->
<Column_Link_Id></Column_Link_Id>
<!-- The name of the field as defined in the query. -->
<Name></Name>
<!-- The default name to display to the user. -->
<DisplayName></DisplayName>
<!-- Indicates whether this column is visible by default. TRUE or FALSE -->
<Visible></Visible>
<!-- The default display index. -->
<DisplayIndex></DisplayIndex>
</Column>
</Columns>
</Config>
|
Beispiel: Liste der Benutzer ohne Telefonnummer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 | <Config>
<DisplayGraphicInDashboard>true</DisplayGraphicInDashboard>
<DashboardDisplayIndex>0</DashboardDisplayIndex>
<DirectDisplay>true</DirectDisplay>
<Query>
SELECT personne_uid,personne_display_name FROM PERSONNE
WHERE personne_id NOT IN(SELECT personne_id FROM PERSONNE_MULTIVALUED WHERE personne_schema_attribut_id = 7)
AND personne_hidden=0
</Query>
<Columns>
<Column>
<ObjectType/>
<Column_Link_Id/>
<Name/>
<DisplayName/>
<Visible/>
<DisplayIndex/>
</Column>
<Column>
<ObjectType/>
<Column_Link_Id/>
<Name>personne_uid</Name>
<DisplayName>UID</DisplayName>
<Visible>TRUE</Visible>
<DisplayIndex>1</DisplayIndex>
</Column>
<Column>
<Name>personne_display_name</Name>
<DisplayName>Nom</DisplayName>
<Visible>TRUE</Visible>
<DisplayIndex>2</DisplayIndex>
</Column>
</Columns>
</Config>
|
| XML-Tag |
Definition |
Mögliche Werte |
| Name |
Name des Felds, wie er in der SQL-Abfrage definiert ist. |
Zeichenkette. |
| Column_Link_Id |
Dient der Erstellung von Spalten mit anklickbaren Daten. Entspricht dem Namen der Spalte, die die zur Verwaltung des Links verwendete ID enthält. |
Zeichenkette. Optional |
| ObjectType |
Zielobjekttyp des anklickbaren Links (Identity, Struktur). |
Identity = 1 => Weiterleitung zur Seite userDetails.aspx |
|
|
Structure = 2 => Weiterleitung zur Seite structure.aspx |
|
|
Optional |
| DisplayName |
Name der Spalte, der in der Oberfläche angezeigt wird. |
Zeichenkette. |
| Visible |
Gibt an, ob die Spalte angezeigt oder ausgeblendet wird. |
'TRUE' oder 'FALSE' |
| DisplayIndex |
Index der Spalte (Anzeigereihenfolge). |
Ganze Zahl größer als 0 |
Vom Benutzer eingegebene Parameter zum Bericht hinzufügen: Tag
Markieren Sie das Kontrollkästchen „With parameters“ und fügen Sie dem XML die folgenden Tags hinzu:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 | <!-- Definition of the list of parameters expected by the report request. -->
<Parameters>
<!-- Definition of a parameter (to be duplicated as many times as necessary) -->
<Parameter>
<!-- The name of the variable as defined in the query. -->
<Variable></Variable>
<!-- The label to display to the user. -->
<Label></Label>
<!-- An integer indicating the expected data type (see documentation for possible values) -->
<DataType></DataType>
<!-- Indicates whether the user must specify a value of ‘TRUE’ or ‘FALSE’ -->
<Mandatory></Mandatory>
<!-- For optional parameters, the default value to be used if not entered by the user. -->
<DefaultValue></DefaultValue>
</Parameter>
</Parameters>
|
Beispiel: Berechtigungen, die bald ablaufen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 | <Query>DECLARE @DateNow AS DATETIME; SELECT @DateNow = GETDATE(); SELECT * FROM vHABILITATIONS_FULL WHERE (date_debut_lien IS NULL OR @DateNow > date_debut_lien) AND date_fin_lien IS NOT NULL AND ((0 = @ApplicationId) OR (application_id = @ApplicationId)) AND DATEADD(dd, @NbJours, @DateNow) > date_fin_lien ORDER BY date_fin_lien ASC</Query>
<Parameters>
<Parameter>
<Variable>ApplicationId</Variable>
<DataType>4</DataType>
<Mandatory>TRUE</Mandatory>
<Label>Selectionnez l'application</Label>
</Parameter>
<Parameter>
<Variable>NbJours</Variable>
<DataType>23</DataType>
<Mandatory>TRUE</Mandatory>
<Label>Sélectionnez le nombre de jour</Label>
</Parameter>
</Parameters>
|
XML-Tags in <Parameter>, die die vom Benutzer eingebbaren Parameter beschreiben:
| XML-Tag |
Definition |
Mögliche Werte |
| Variable |
Name der in der SQL-Abfrage verwendeten Variablen (ohne das @). |
Zeichenkette. |
| Data Type |
Der Objekttyp von Systancia Identity, der dem Parameter entspricht. Handelt es sich nicht um einen einfachen Objekttyp (Datum, Zeichenkette, ganze Zahl usw.), ist der Parameter eine Auswahlliste mit den möglichen Werten. |
Structure=2; Authorization Rule=3; Application=4; Repository=5; Right=8; StructureType=11; Tree=12; AdminProfile=18; PersonType=19; String=22; Integer=23; Boolean=24; Date=25. |
| Label |
Bezeichnung, die dem Benutzer angezeigt wird. |
Zeichenkette. |
| AttributeCode |
PSA-Attributcode. |
Zeichenkette, die einem PSA-Code entspricht. |
| Mandatory |
Gibt an, ob der Benutzer einen Wert angeben muss. |
'TRUE' oder 'FALSE |
| DefaultValue |
Bei optionalen Parametern der Standardwert, der eingesetzt wird, wenn der Benutzer nichts eingibt. |
Zeichenkette. |
Die Parameter der Diagramme festlegen
Wählen Sie die grafische Vorlage aus der Auswahlliste und fügen Sie dem XML die folgenden Tags hinzu:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 | <GraphicConfig>
<!-- The type of graph (1=Histogram, 2=Stacked histogram, 3=Pie chart, 4=Colored ball per threshold -->
<GraphicType>1</GraphicType>
<!-- Graph title (if not specified, the report name will be used -->
<Title></Title>
<!-- The query to use to retrieve the data that will be used to generate the graph -->
<Query></Query>
<!-- The name of the query field that will serve as the x-axis -->
<ColumnX></ColumnX>
<!-- The name of the query field that will serve as the y-axis -->
<ColumnY></ColumnY>
<!-- The label of the x-axis -->
<LabelX>Label of column X</LabelX>
<!-- The label of the y-axis -->
<LabelY>Label of column Y</LabelY>
<!-- Indicates whether the graph is in 3 dimensions -->
<ThreeDimension>false</ThreeDimension>
</GraphicConfig>
|
Stacked histogram
Fügen Sie die folgenden Tags in das Tag ein:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 | <!-- 0 = each compiled block corresponds to a column of data (default value) -->
<!-- 1 = each compiled block corresponds to a grouping of data from a single column of data -->
<StackColumnMode></StackColumnMode>
<!-- Definition of the list of columns to stack. -->
<StackedColumns>
<!-- Definition of a column (to be duplicated as many times as necessary) -->
<StackedColumn>
<!-- StackColumnMode = 0: The name of the field that contains the data as defined in the query. -->
<!-- StackColumnMode = 1: The name of the field that allows you to create stackable blocks. (YColumn contains the data) -->
<DataField></DataField>
<!-- The name to display to the user. -->
<DisplayName></DisplayName>
<!-- Defines the color of the stacked block (HTML code or color name) -->
<Color></Color>
</StackedColumn>
</StackedColumns>
|
Farbiger Kreis je Schwellenwert
Fügen Sie die folgenden Tags in das Tag ein:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 | <!-- Definition of thresholds -->
<Intervals>
<!-- Definition of a threshold (to be duplicated as many times as necessary) -->
<Interval>
<!-- Minimum threshold included -->
<Min></Min>
<!-- Maximum threshold excluded -->
<Max></Max>
<!-- Color of the ball for the defined threshold (HTML code or color name) -->
<Color></Color>
</Interval>
</Intervals>
|
Die Namen der Spalten eines Berichts übersetzen
Die Spalten und Werte, die in den Ergebnissen eines Berichts enthalten sind, lassen sich in mehrere Sprachen übersetzen.
Im Folgenden ein Beispiel für einen Bericht, dessen Spalten übersetzt wurden:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 | <Config>
<DisplayGraphicInDashboard>True</DisplayGraphicInDashboard>
<DashboardDisplayIndex>5</DashboardDisplayIndex>
<GraphicConfig>
<GraphicType>1</GraphicType>
<Title>Nombre de personnes par application et type de compte</Title>
<Query>SELECT APPLICATION.application_nom + ' - ' + compte_type_nom as Administrateur, T_PERSONNE_APPLICATION_GROUPED.total FROM (SELECT application_id, compte_type_id, COUNT(*) AS total FROM (SELECT DISTINCT personne_id, vPERSONNE_COMPTE_DROIT.application_id, compte_type_id FROM vPERSONNE_COMPTE_DROIT INNER JOIN DROIT ON DROIT.droit_id = vPERSONNE_COMPTE_DROIT.droit_id) T_PERSONNE_APPLICATION GROUP BY application_id, compte_type_id) T_PERSONNE_APPLICATION_GROUPED INNER JOIN APPLICATION ON APPLICATION.application_id = T_PERSONNE_APPLICATION_GROUPED.application_id INNER JOIN COMPTE_TYPE ON COMPTE_TYPE.compte_type_id = T_PERSONNE_APPLICATION_GROUPED.compte_type_id ORDER BY total DESC</Query>
<ColumnX>Administrateur</ColumnX>
<LabelX>Nom de l'administrateur</LabelX>
<ColumnY>total</ColumnY>
<LabelY>Nombre de compte</LabelY>
<ThreeDimension>false</ThreeDimension>
</GraphicConfig>
<Query>SELECT APPLICATION.application_culture, APPLICATION.application_nom, compte_type.compte_type_nom, compte_type.compte_type_culture, T_PERSONNE_APPLICATION_GROUPED.total FROM (SELECT application_id, compte_type_id, COUNT(*) AS total FROM (SELECT DISTINCT personne_id, vPERSONNE_COMPTE_DROIT.application_id,
compte_type_id FROM vPERSONNE_COMPTE_DROIT INNER JOIN DROIT ON DROIT.droit_id = vPERSONNE_COMPTE_DROIT.droit_id) T_PERSONNE_APPLICATION GROUP BY application_id, compte_type_id) T_PERSONNE_APPLICATION_GROUPED INNER JOIN APPLICATION ON APPLICATION.application_id = T_PERSONNE_APPLICATION_GROUPED.application_id INNER JOIN COMPTE_TYPE ON COMPTE_TYPE.compte_type_id = T_PERSONNE_APPLICATION_GROUPED.compte_type_id ORDER BY total DESC</Query>
<Columns>
<Column>
<Name>application_nom</Name>
<DisplayName>Application</DisplayName>
<Visible>True</Visible>
<DisplayIndex>1</DisplayIndex>
<Internationaldisplayname Lang="FR">Application_FR</internationaldisplayname>
<Internationaldisplayname Lang="EN">Application_EN</internationaldisplayname>
<CultureColumnName Prop="Name">application_culture</CultureColumnName>
</Column>
<Column>
<Name>compte_type_nom</Name>
<DisplayName>Compte type</DisplayName>
<Visible>True</Visible>
<DisplayIndex>2</DisplayIndex>
<Internationaldisplayname Lang="FR">Compte type</internationaldisplayname>
<Internationaldisplayname Lang="EN">Account type</internationaldisplayname>
<CultureColumnName Prop="Name">compte_type_culture</CultureColumnName>
</Column>
<Column>
<Name>total</Name>
<DisplayName>Nombre</DisplayName>
<Visible>True</Visible>
<DisplayIndex>3</DisplayIndex>
<internationaldisplayname Lang="FR">Nombre</internationaldisplayname>
<internationaldisplayname Lang="EN">Number</internationaldisplayname>
</Column>
</Columns>
</Config>
|
XML-Tag
- Internationaldisplayname:
- Definition: Tag, mit dem die Namen der vom Bericht zurückgegebenen Spalten übersetzt werden. Dieses Tag muss so oft vorkommen, wie Sprachen in Systancia Identity konfiguriert sind.
- Attribut: Lang=„<\language_code>“, wobei <\language_code> für den Sprachcode steht, der in den Spracheinstellungen in der Registerkarte General > Application Settings festgelegt ist.
- Möglicher Wert: Zeichenkette. Der Name der Spalte, die im Bericht für diese Sprache angezeigt wird.
- CultureColumnName:
- Definition: Definition des Culture-XML, mit dem der Inhalt der vom Bericht erzeugten Tabelle übersetzt wird.
- Attribut: Prop=„<\XML_Attribute>“, wobei <\XML_Attribute> für das Attribut der XML-Eigenschaft steht, das den verschiedenen Werten der Spalte entspricht.
- Möglicher Wert: Zeichenkette. Culture-Spalte der SQL-Abfrage.
Einen Bericht abhängig vom Benutzerkontext anzeigen
In der Version 4000 von Hpliance lässt sich einem Bericht ein unsichtbarer Parameter hinzufügen, der anhand der Person festgelegt wird, die den Bericht ausführt. Die Werte des Berichts werden dann anhand der Werte eines Benutzerattributs angezeigt. So sieht die Person beispielsweise nur die Ergebnisse ihrer eigenen Organisation.
Beispiel für einen Bericht: alle Berechtigungen auflisten, die den Identitäten einer bestimmten Struktur zugewiesen sind. Anzeigen der Nachnamen, Vornamen, Berechtigungen und Anwendungen aller Identitäten, deren Strukturattribut „Responsibility“ dem Strukturattribut des angemeldeten Benutzers entspricht.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109 | <Config>
<DirectDisplay>true</DirectDisplay>
<Query>select P.personne_id,P.personne_nom, P.personne_prenom, D.droit_nom, A.application_nom
from vHABILITATIONS_ALL AS VHA
inner join LIEN_PERSONNE_STRUCTURE AS LPS ON LPS.personne_id = VHA.personne_id
inner join DROIT AS D ON D.droit_id = VHA.droit_id
inner join PERSONNE AS P ON P.personne_id = VHA.personne_id
inner join APPLICATION AS A ON A.application_id = D.application_id
where structure_id in
(select * from dbo.fctSplitString(dbo.fctGetAttributeValueByPersonneIdAndPersonneSchemaAttributCode(@personneId, 'responsabilite'), '|'))
</Query>
<Columns>
<Column>
<Name>personne_id</Name>
<DisplayName>ID</DisplayName>
<Visible>False</Visible>
<DisplayIndex>1</DisplayIndex>
</Column>
<Column>
<Name>personne_nom</Name>
<DisplayName>Nom</DisplayName>
<Visible>True</Visible>
<DisplayIndex>2</DisplayIndex>
<ObjectType>1</ObjectType>
<Column_Link_Id>personne_id</Column_Link_Id>
</Column>
<Column>
<Name>personne_prenom</Name>
<DisplayName>Prénom</DisplayName>
<Visible>True</Visible>
<DisplayIndex>2</DisplayIndex>
<ObjectType>1</ObjectType>
<Column_Link_Id>personne_id</Column_Link_Id>
</Column>
<Column>
<Name>droit_nom</Name>
<DisplayName>Droit</DisplayName>
<Visible>True</Visible>
<DisplayIndex>3</DisplayIndex>
</Column>
<Column>
<Name>application_nom</Name>
<DisplayName>Application</DisplayName>
<Visible>True</Visible>
<DisplayIndex>4</DisplayIndex>
</Column>
</Columns>
<Parameters>
<Parameter>
<Variable>personneId</Variable>
<AttributUserConnected>True</AttributUserConnected>
<AttributeCode>personne_id</AttributeCode>
</Parameter>
</Parameters>
</Config>
|
XML-Tags, die die Parameter anhand des Benutzerkontexts beschreiben.
- Variable:
- Definition: Name der in der SQL-Abfrage verwendeten Variablen (ohne das @).
- Möglicher Wert: Zeichenkette.
- AttributUserConnected:
- Definition: Gibt an, ob der Parameter anhand des Kontexts des aktuellen Benutzers festgelegt wird oder ob er manuell über die Oberfläche eingegeben werden muss.
- Möglicher Wert:
- True: Benutzerkontext
- False: manuelle Eingabe
- AttributeCode:
- Definition: PSA-Attributcode.
- Möglicher Wert: Zeichenkette, die dem PSA-Code entspricht.