Gå till innehållet

Skapa, ändra eller ta bort en rapport

Rapporten konfigureras med hjälp av en XML-fil. Du måste definiera:

  • frågan mot databasen i Systancia Identity som hämtar den önskade informationen,
  • egenskaperna för varje kolumn som ska visas, i XML-format: objekttyp, namn i SQL-databasen, namn som ska visas, visningsindex osv.
  • alternativen för diagramvisning (stapeldiagram, cirkeldiagram, färgade punkter).

Klicka på knappen ”New report” för att skapa och konfigurera en ny rapport.

Välj en rapport och klicka på knappen ”Modify” för att ändra dess konfiguration.

New report

Egenskaper för en rapport

Parameter Beskrivning Typer och möjliga värden
Name Rapportens visningsnamn. Teckensträng. Obligatoriskt.
Code Motsvarar objektets ID. Värdet måste vara unikt för alla rapporter. Teckensträng , utan blanksteg och utan specialtecken. Obligatoriskt
Category Den rapportkategori som rapportlistan visas i. Lista över fördefinierade kategorier.
Description Teckensträng.
XML XML-taggar som beskriver SQL-frågan i Hpliance-databasen, egenskaperna för varje kolumn i rapporten och egenskaperna för de grafiska elementen. Text i XML-format.
Choice of report template Grafisk mall för rapporten (utöver datatabellen). Without chart, Histogram, Stacked histogram, Pie chart eller Color ball by threshold.
With parameters Gör det möjligt att lägga till variabler som användaren anger. Du måste lägga till taggen i XML-koden. Kryssruta.

Skriva XML för en enkel rapport

 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> 

Exempel: lista över användare utan 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-taggar som beskriver kolumnerna i en rapport

XML-tagg Definition Möjliga värden
Name Fältets namn så som det definieras i SQL-frågan. Teckensträng.
Column_Link_Id Används för att skapa kolumner som innehåller klickbara data. Motsvarar namnet på den kolumn som innehåller det ID som används för att hantera länken. Teckensträng. Valfritt
ObjectType Måltyp för objektet i den klickbara länken (Identity, struktur). Identity = 1 => Omdirigering till sidan userDetails.aspx
Structure = 2 => Omdirigering till sidan structure.aspx
Valfritt
DisplayName Namnet på den kolumn som ska visas i gränssnittet. Teckensträng.
Visible Anger om kolumnen visas eller döljs. 'TRUE' eller 'FALSE'
DisplayIndex Kolumnens index (visningsordning). Heltal större än 0

Lägga till parametrar som användaren anger i rapporten: taggen

Markera kryssrutan ”With parameters” och lägg till följande taggar i XML-koden:

 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> 

Exempel: behörigheter som snart löper ut

 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-taggar i <Parameter> som beskriver de parametrar som användaren kan ange:

XML-tagg Definition Möjliga värden
Variable Namnet på den variabel som används i SQL-frågan (utan @). Teckensträng.
Data Type Den objekttyp i Systancia Identity som motsvarar parametern. Om det inte är en grundläggande objekttyp (datum, teckensträng, heltal osv.) är parametern en listruta med de möjliga värdena. 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 Beteckning som ska visas för användaren. Teckensträng.
AttributeCode Kod för PSA-attributet. Teckensträng som motsvarar en PSA-kod.
Mandatory Anger om användaren måste ange ett värde. 'TRUE' eller 'FALSE
DefaultValue För valfria parametrar är detta standardvärdet som används om användaren inte anger något. Teckensträng.

Definiera parametrarna för diagrammen

Välj den grafiska mallen i listrutan och lägg till följande taggar i XML-koden:

 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

Infoga följande taggar i taggen :

 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>

Färgad cirkel per tröskelvärde

Infoga följande taggar i taggen :

 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>

Översätta namnen på kolumnerna i en rapport

De kolumner och värden som ingår i resultaten av en rapport kan översättas till flera språk.

Nedan följer ett exempel på en rapport där kolumnerna har översatts:

 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-tagg

  • Internationaldisplayname:
    • Definition: tagg som används för att översätta namnen på de kolumner som rapporten returnerar. Taggen måste förekomma lika många gånger som det finns språk konfigurerade i Systancia Identity.
    • Attribut: Lang=”<\language_code>” där <\language_code> står för den språkkod som definierats i språkinställningarna på fliken General > Application Settings.
    • Möjligt värde: teckensträng. Namnet på den kolumn som visas i rapporten för språket.
  • CultureColumnName:
    • Definition: definition av culture-XML som används för att översätta innehållet i den tabell som rapporten genererar.
    • Attribut: Prop=”<\XML_Attribute>” där <\XML_Attribute> står för attributet i XML-egenskapen som motsvarar de olika värdena i kolumnen.
    • Möjligt värde: teckensträng. Culture-kolumn i SQL-frågan.

Visa en rapport utifrån användarkontexten

I version 4000 av Hpliance är det möjligt att lägga till en osynlig parameter i en rapport som definieras utifrån den person som kör rapporten. Värdena i rapporten visas då utifrån värdena för ett användarattribut. Personen ser till exempel bara resultaten för sin egen organisation.

Exempel på rapport: lista alla behörigheter som är tilldelade identiteterna i en given struktur. Visa efternamn, förnamn, behörigheter och applikationer för alla identiteter där strukturattributet ”Responsibility” motsvarar strukturattributet för den anslutna användaren.

  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-taggar som beskriver parametrarna utifrån användarens kontext.

  • Variable:
    • Definition: namnet på den variabel som används i SQL-frågan (utan @).
    • Möjligt värde: teckensträng.
  • AttributUserConnected:
    • Definition: anger om parametern definieras utifrån den aktuella användarens kontext eller om den måste anges manuellt via gränssnittet.
    • Möjligt värde:
      • True: användarkontext
      • False: manuell inmatning
  • AttributeCode:
    • Definition: kod för PSA-attributet.
    • Möjligt värde: teckensträng som motsvarar PSA-koden.