Skip to content

Ajoute des dimensions aux indicateurs

Ronan Amicel requested to merge dimensions into main

Contexte

https://datahub.incubateur.tech/infrastructure/indicateurs/-/issues/294

Contenu

On peut ajouter une ou plusieurs dimensions à un indicateur :

- identifiant: nb_locaux
  sql: SELECT COALESCE(SUM(nombre_locaux), 0) FROM suivi_fthd
  maille_origine: commune
  dimensions:
    - identifiant: zone
      titre: Zone
      description: Le territoire est découpé en zones
      colonne: zonage_mthd
      catégories:
        - titre: Zone RIP
          valeur: RIP
        - titre: Zone AMII
          valeur: AMII
        - titre: Zone AMEL ou FP
          description: Zone AMEL ou fonds propres
          valeurs: ["AMEL", "FP"]

La répartition de l’indicateur entre les différentes catégories peut être demandée dans l’API :

query {
    commune(code: 80021) {
        maille
        code
        libelle
        indicateurs {
            toto: indicateur {
                valeur
                dimensions {
                    identifiant
                    titre
                    description
                    repartition {
                        titre
                        description
                        valeur
                    }
                }
            }
        }
    }
}

La réponse :

"commune": {
    "maille": "commune",
    "code": "80021",
    "libelle": "Amiens",
    "indicateurs": {
        "toto": {
            "valeur": 69,
            "dimensions": [
                {
                    "identifiant": "couleur",
                    "titre": "Couleur",
                    "description": "Un camaieu de couleurs chattoyantes",
                    "repartition": [
                        {
                            "titre": "Couleurs chaudes",
                            "description": null,
                            "valeur": 59,
                        },
                        {
                            "titre": "Couleurs froides",
                            "description": null,
                            "valeur": 10,
                        },
                    ],
                },
                {
                    "identifiant": "taille",
                    "titre": null,
                    "description": null,
                    "repartition": [
                        {
                            "titre": "petit",
                            "description": null,
                            "valeur": 52,
                        },
                        {
                            "titre": "grand",
                            "description": null,
                            "valeur": 17,
                        },
                    ],
                },
            ],
        },
    },
}

Les métadonnées peuvent aussi être demandées via l’API :

query {
    indicateurs {
        identifiant
        nom
        dimensions {
            identifiant
            titre
            description
            categories {
                titre
                description
            }
        }
    }
}

La réponse :

{
    "identifiant": "toto",
    "nom": "Toto",
    "dimensions": [
        {
            "identifiant": "couleur",
            "titre": "Couleur",
            "description": "Un camaieu de couleurs chattoyantes",
            "categories": [
                {
                    "titre": "Couleurs chaudes",
                    "description": null,
                },
                {
                    "titre": "Couleurs froides",
                    "description": null,
                },
            ],
        },
        {
            "identifiant": "taille",
            "titre": null,
            "description": null,
            "categories": [
                {
                    "titre": "grand",
                    "description": null,
                },
                {
                    "titre": "petit",
                    "description": null,
                },
            ],
        },
    ],
}
Edited by Ronan Amicel

Merge request reports