1. 23.06.2023 - Page 1
A Power Pivot model for
Activity reports at
Pouvoir Judiciaire Genève
Power BI User Group Switzerland
31.05.2023
laurent.dami@justice.ge.ch
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
2. 23.06.2023 - Page 2
Reports: no dashboards, but documents !
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
3. 23.06.2023 - Page 3
Agenda
• Intro to Pouvoir Judiciaire Genève
• Reporting needs
• Design choices
• Data Model
• DAX Measures
• Conclusions
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
4. 23.06.2023 - Page 1
Intro to Pouvoir Judiciaire GE
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
5. 23.06.2023 - Page 5
3 powers
Pouvoir législatif
(parlement cantonal)
Grand Conseil
Pouvoir exécutif
(gouvernement
cantonal)
Conseil d'Etat
Pouvoir judiciaire
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
6. 3 judicial domains
Criminal Civil Administrative
Infractions
against the law
Private disputes :
• Family affairs
• Business affairs
• Workplace disputes
• Rental disputes
• Etc.
Disputes against the State
• Taxes
• Building authorizations
• Etc.
7. 23.06.2023 - Page 7
Judicial instances
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
1st instance Court
Cantonal Court
Federal Court
European Court of Human Rights
Criminal Pursuit
Criminal Civil Administrative
8. 23.06.2023 - Page 8
Geneva instances
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
9. 23.06.2023 - Page 1
Reporting judicial activities
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
10. 23.06.2023 - Page 10
Reporting contexts
1. Annual report
– For other authorities
and for the public
2. Operational reporting (quarterly)
– For checking efficiency, use of resources, risks, etc.
3. Conseil supérieur de la magistrature (biannual)
– For checking the load and output of every judge
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
11. 23.06.2023 - Page 11
No fancy graphics …
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
12. 23.06.2023 - Page 12
… but complex calculations
• "Semi-additive" measures
– Initial / final stock
• Changing granularities
– Time : by day / by quarter
– Case typology : different for each Court
• Computed relationship
• Must accomodate varying rules
– Courts have different requirements
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
13. 23.06.2023 - Page 1
Design choices
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
14. Excel vs.
PBI Desktop
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
Excel
PowerBI Desktop
15. 23.06.2023 - Page 15
Literature
• Rob Collie
– https://powerpivotpro.com/
• Alberto Ferrari & Marco
Russo
– https://www.sqlbi.com/
– https://dax.guide/
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
16. 23.06.2023 - Page 1
Architecture
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
17. 23.06.2023 - Page 17
Distinct datasets & reports
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
TCIV 2021
données données
calculs calculs
tableau de bord tableau de bord
TCIV 2022
TPEN 2021
données
calculs
tableau de bord
. . .
. . .
18. 23.06.2023 - Page 18
Two kinds of Excel Files
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
Data File
• Pure data
• 10 Excel tables
• Fresh extract from DBMS
Computation File
• Power queries to data file
• Power pivot model
• Pivot tables & graphs
19. 23.06.2023 - Page 19
Relative link from computation to data file
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
Source : https://stackoverflow.com/questions/46376718/create-a-
link-to-a-word-document-from-an-excel-cell-using-a-relative-path
20. 23.06.2023 - Page 20
Production process
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
TCIV 2021
données données
calculs calculs
tableau de bord tableau de bord
TCIV 2022
copy
copy
database
Extraction program
refresh
refresh
edit & comment
21. 23.06.2023 - Page 21
Data model
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
Fact
tables
Dimension
tables
Temporal
binning &
trimming
22. 23.06.2023 - Page 1
DAX Measures
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
23. 23.06.2023 - Page 23
Case flows
• [Nb. affaires]
– COUNTROWS(Affaires)
• [Entrées]
– IF (NOT(ISEMPTY(Dates)), [Nb. Affaires])
• [Sorties]
– IF (NOT(ISEMPTY(Dates)),
CALCULATE([Nb. Affaires],
USERELATIONSHIP(Affaires[D_FIN_ATTR], Dates[DATE])))
• [Taux de sortie]
– DIVIDE([Sorties], [Entrées])
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
25. 23.06.2023 - Page 25
Final stock
• [Stock final]
– VAR d_fin_periode=MAX(Dates[DATE])
RETURN CALCULATE(
[Nb. Affaires],
ALL(Trimestres),
Affaires[D_INSCR_ATTR] <= d_fin_periode,
Affaires[D_FIN_ATTR] > d_fin_period || ISBLANK(Affaires[D_FIN_ATTR])
)
• "semi-additive" measure
– Adds up on some dimensions (e.g. typology of cases)
– Does not add up on the temporal dimension
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
Étiquettes de
lignes
Entrées
cumulées
Sorties
cumulées
Stock
final
2020 20'918 20'946 9'350
T1 5'044 5'367 9'055
T2 9'546 10'549 8'376
T3 14'965 15'507 8'836
T4 20'918 20'946 9'350
2021 20'229 21'044 8'535
T1 5'209 5'658 8'902
T2 10'464 11'454 8'361
T3 15'028 16'093 8'285
T4 20'229 21'044 8'535
2022 20'540 19'968 9'106
T1 5'034 5'248 8'320
T2 10'009 10'288 8'255
T3 14'938 14'566 8'906
T4 20'540 19'968 9'106
2023 5'279 5'544 8'841
T1 5'279 5'544 8'841
Total général 8'841
26. 23.06.2023 - Page 26
Months in stock
• [Mois en stock, médiane]
– VAR d_fin_periode=MAX(Dates[DATE])
RETURN CALCULATE(
MEDIANX(Affaires,
YEARFRAC(Affaires[D_INSCR_ATTR], d_fin_periode, 1) * 12),
ALL(Trimestres),
Affaires[D_INSCR_ATTR] <= d_fin_periode,
Affaires[D_FIN_ATTR] > d_fin_period || ISBLANK(Affaires[D_FIN_ATTR])
)
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
27. 23.06.2023 - Page 27
Temporal binning
• Computed relationship
– IF (
NOT ( ISBLANK ( Affaires[D_FIN_ATTR] ) ),
VAR nb_mois_sortie =
YEARFRAC ( [D_INSCR_ATTR], [D_FIN_ATTR], 1 ) * 12
VAR tranches =
FILTER (
Tranches_durees,
nb_mois_sortie >= Tranches_durees[Min_tranche]
&& nb_mois_sortie < Tranches_durees[Max_tranche]
)
VAR result =
CALCULATE (
IFERROR ( DISTINCT ( Tranches_durees[Min_tranche] ), BLANK () ),
tranches
)
RETURN
result
)
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
Tableau des tranches de durées
Min_tranche Max_trancheNom_tranche
0 1 [0-1) mois
1 3 [1-3) mois
3 6 [3-6) mois
6 9 [6-9) mois
9 12 [9-12) mois
12 18 [12-18) mois
18 24 [18-24) mois
24 36 [2-3) ans
36 99999 3 ans ou plus
/* template from "The Definitive Guide to DAX", chap. 15 */
28. 23.06.2023 - Page 28
Temporal trimming
• [Médiane hors extrêmes]
– IF (NOT(ISEMPTY(Dates));
CALCULATE(
MEDIANX(
FILTER(
SELECTCOLUMNS(
Affaires;
"n_months";
VAR d_deb = Affaires[D_INSCR_ATTR]
VAR d_fin = Affaires[D_FIN_ATTR]
VAR n_jours = IF(d_deb<= d_fin; DATEDIFF(d_deb; d_fin; DAY))
RETURN IF(n_jours >= [Seuil durée min] && n_jours <= [Seuil durée max];
YEARFRAC(d_deb; d_fin; 1) * 12)
);
NOT(ISBLANK([n_months]))
);
[n_months]
);
USERELATIONSHIP(Affaires[D_FIN_ATTR]; Dates[DATE])
)
)
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
29. 23.06.2023 - Page 29
Conclusion
• Power Pivot extremely powerful
– Multiple fact tables (better than star model)
– DAX formulas in model, not in tables
– Dimensions with hierarchies
• Steep learning curve
– Semantics of CALCULATE()
– Claims to be a "functional language" … but is not
• Satisfactory results
– May evolve to a PBI Service architecture
… but Cloud storage is out of the question
A Power Pivot Model for Pouvoir Judiciaire GE
Direction des systèmes d'information
Notes de l'éditeur
1. Le principe de la séparation des pouvoirs :
Celui qui créée le droit;
Celui qui applique le droit;
Celui qui dit le droit.
2. Spécificité genevoise : un pouvoir judiciaire intégré. Le pouvoir judiciaire en tant qu'institution regroupe l'ensemble des autorités judiciaires chargées de rendre la justice, soit non seulement les autorités de jugement (de première ou de dernière instances cantonales) mais aussi les autorités de poursuite pénale (MP).