Zum Inhalt

Erstellen/Ändern/Löschen eines Berichts

Der Bericht wird mit einer XML-Datei konfiguriert. Sie müssen Folgendes definieren:

  • Die Abfrage der Datenbank von Systancia Identity zum Abrufen der gewünschten Informationen,
  • Die Eigenschaften jeder Spalte, die im XML-Format angezeigt werden sollen: Objekttyp, Name in der SQL-Datenbank, Name, der angezeigt werden soll, Anzeigeindex usw.
  • Die Darstellungsoptionen des Graphen (Strahl- und Kreisdiagramm, farbige Punkte).

Klicken Sie auf die Schaltfläche "Neuer Bericht", um einen neuen Bericht zu erstellen und zu konfigurieren.

Wählen Sie einen Bericht aus und klicken Sie auf die Schaltfläche "Ändern", um seine Konfiguration zu ändern.

New report

Eigenschaften eines Berichts

Parameter Beschreibung Typen und mögliche Werte
Name Anzeige des Berichtsnamens Zeichenfolge. Pflicht.
Codes Entspricht der ID des Objekts. Sein Wert muss in allen Berichten eindeutig sein. Zeichenfolge ohne Leerzeichen oder Sonderzeichen.
Kategorie Die Berichtskategorie, in der die Liste der Berichte angezeigt wird. Liste der vordefinierten Kategorien.
Beschreibung Zeichenfolge
XML XML-Tags, die SQL-Abfrage in der Hpliance-Datenbank, die Eigenschaften jeder Spalte im Bericht und die Eigenschaften der grafischen Elemente beschreiben. Text im XML-Format.
Auswahl der Berichtsvorlage Grafische Vorlage für den Bericht (zusätzlich zur Datentabelle). Ohne Diagramm, Histogramm, gestapeltes Histogramm, Kreisdiagramm oder Farbkugel nach Schwellenwert
Mit Parametern Ermöglicht das Hinzufügen von vom Benutzer eingegebenen Variablen. Sie müssen dem XML den Tag hinzufügen. Checkbox.

Schreiben der XML für einen einfachen Bericht

 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-Tags, die Spalten eines Berichts beschreiben

XML-Tag Definition Mögliche Werte
Name Der Name des Feldes, wie er in der SQL-Abfrage definiert ist. Zeichenfolge.
Column_Link_Id Verwendet zum Erstellen von Spalten, die anklickbare Daten enthalten. Entspricht dem Namen der Spalte, die ID enthält, die zur Verwaltung des Links verwendet wird. Zeichenfolge. * Optional*
ObjectType Zielobjekttyp des anklickbaren Links (Identity, Struktur). Identität = 1 => Weiterleitung an die UserDetails.aspx Seite
Struktur = 2 => Umleitung auf die structure.aspx Seite
Optional
DisplayName Name der zu zeigenden Spalte in der Schnittstelle. Zeichenfolge
Sichtbar Zeigt an, ob die Spalte angezeigt oder versteckt wird. 'TRUE' oder 'FALSE'
DisplayIndex Index der Spalte (Anzeigefolge). Ganzzahl größer als 0

Einfügung von vom Benutzer eingegebenen Parametern in den Bericht: Tag

Wählen Sie das Kontrollkästchen "Mit Parametern" aus 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: Auslaufende Genehmigungen

 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 vom Benutzer eingegebenen Parameter beschreiben:

XML-Tag Definition Mögliche Werte
Variable Name der Variablen, die in der SQL-Abfrage verwendet werden (ohne das @). Zeichenfolge.
Datentyp Der Systancia Identity Objekttyp, der dem Parameter entspricht. Wenn es sich nicht um einen grundlegenden Objekttyp handelt (Datum, Zeichenfolge, Ganzzahl usw.), ist der Parameter eine Dropdownliste mit den möglichen Werten. Struktur=2; Autorisierungsregel=3; Anwendung=4; Repository=5; Rechts=8; StrukturType=11; Baum=12; AdminProfile=18; PersonType=19; String=22; Ganzzahl=23; Boolean=24; Datum=25.
Label Label, das dem Benutzer angezeigt werden soll. Zeichenfolge
AttributCode PSA-Attributcode. Zeichenfolge, die einem PSA-Code entspricht.
Pflicht Gibt an, ob der Benutzer einen Wert angeben muss. 'TRUE' oder 'FALSE
DefaultValue Für optionale Parameter ist dies der Standardwert, der eingegeben wird, wenn der Benutzer keine Eingabeaufgabe erstellt. Zeichenfolge.

Definition der Parameter für Grafiken

Wählen Sie die Grafikvorlage aus der Dropdownliste aus 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>

Gehechtes Histogramm

In das -Tag sind folgende Tags einzufügen:

 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 pro Schwelle

In das -Tag sind folgende Tags einzufügen:

 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>

Übersetzung der Spaltenbezeichnungen in einem Bericht

Die in den Ergebnissen eines Berichts enthaltenen Spalten und Werte können in mehrere Sprachen übersetzt werden.

Das folgende Beispiel ist ein Bericht, in dem die 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_GROUPEDINNER 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

  • Internationale Anzeige:
    • Definition: Tag, der zur Übersetzung der Namen der vom Bericht zurückgegebenen Spalten verwendet wird. Es müssen so viele Instanzen dieses Tags vorhanden sein, wie es in Systancia Identity Sprachen gibt.
    • Attribut: Lang=<\language_code>, wobei <\language_code> den in den Spracheinstellungen im Register "Allgemein > Anwendungs-Einstellungen" definierten Sprachcode darstellt.
    • Möglicher Wert: Zeichenfolge. Name der Spalte, die im Bericht für die Sprache angezeigt wird.
  • KulturSpalteName:
    • Definition: Definition der Kultur-XML, die zur Übersetzung des Inhalts der vom Bericht erzeugten Tabelle verwendet wird.
    • Attribut: Prop=<\XML_Attribute>, wobei <\XML_Attribute> das Attribut der XML-Eigenschaft darstellt, das den verschiedenen Werten in der Spalte entspricht.
    • Mögliche Werte: Zeichenfolge. SQL-Abfrage-Kultur-Spalte.

Anzeige eines Berichts basierend auf dem Benutzerkontext

In Version 4000 von Hpliance ist es möglich, einem Bericht einen unsichtbaren Parameter hinzuzufügen, der entsprechend der Person, die den Bericht ausführt, definiert wird. Die Werte im Bericht werden entsprechend den Werten eines Benutzerattributs angezeigt.

Beispiel für einen Bericht: Liste aller Berechtigungen, die den Identitäten in einer bestimmten Struktur zugewiesen sind. Zeigen Sie die Nachnamen, Vornamen, Berechtigungen und Anwendungen aller Identitäten an, für die das Attribut "Verantwortung" der Struktur mit dem Attribut der Struktur des verbundenen Benutzers übereinstimmt.

  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_ALLAS 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_idin  

(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 Parameter basierend auf dem Kontext des Benutzers beschreiben.

  • Variable:
    • Definition: Name der in der SQL-Abfrage verwendeten Variable (ohne das @).
    • Möglicher Wert: Zeichenfolge.
  • AttributUserConnected:
    • Definition: Gibt an, ob der Parameter auf der Grundlage des Kontexts des aktuellen Benutzers definiert ist oder ob er manuell über die Schnittstelle eingegeben werden muss.
    • Möglicher Wert:
      • Wahr: Benutzerkontext
      • Falsch: manuelle Eingabe
  • Attributcode:
    • Definition: Kennzeichen des PSA-Attributs.
    • Möglicher Wert: Zeichenfolge, die dem PSA-Code entspricht.