Le blog francophone consacré
aux technologies Esri

Conseils & Astuces ArcGIS Online - N°207

N°207 - Expressions de données ArcGIS Dashboards - Combiner plusieurs jeux de données

Dans ce précédent article, je vous présentais la notion très puissante d'expression de données dans ArcGIS Dashboards ainsi que l'interface permettant de les créer. Dans cet article, je vous propose un exemple d'expression de données permettant de combiner (assembler) plusieurs jeux de données avant de les utiliser dans votre tableau de bord.

Exemple:

Je dispose de plusieurs jeux de données contenant l'inventaire des maternités en France pour différentes années de 2019 à 2023. 

2019                            

Cliquez sur l'image pour l'agrandir

2020

Cliquez sur l'image pour l'agrandir

... 2023

Cliquez sur l'image pour l'agrandir

L'objectif est tout simplement de combiner ces 5 jeux de données en une seule table pour pouvoir réaliser différentes représentations dans mon tableau de bord ArcGIS.


L'expression de données suivante pourra alors être utilisée :

// Récupération du portail, ici ArcGIS Online
var myportal = Portal("https://www.arcgis.com");

// Jeux de données à combiner
var datasets = [
  {id: "e916f4bfd43a45749430259e0f2cd705", lyr: 0},
  {id: "15ad737ec56047718e39bee66defe5fa", lyr: 0},
  {id: "d8042ec1eb38412aa17460d13b2f9f91", lyr: 0},
  {id: "a655dc01634749dc8da4bb57b2d147c4", lyr: 0},
  {id: "4b83cbea7c7041928394bf92be79c84b", lyr: 0},
];

// Résultats de la combinaison
var features = [];

// Boucle sur chaque jeu de données
for (var i in datasets) {
  var fs = FeatureSetByPortalItem(myportal, datasets[i].id, datasets[i].lyr,
     ["ANNEE","NOM_MAT","TYPE","STATUT","FI_ET","FI_EJ","NOMCOM","LIT_OBS",
     "SALTRAV","ACCTOT"], false);
  
  for (var f in fs) {
    Push(features, {
      attributes: {
        ANNEE: f["ANNEE"],
        NOM_MAT: f["NOM_MAT"],
        TYPE: f["TYPE"],
        STATUT: f["STATUT"],
        FI_ET: f["FI_ET"],
        FI_EJ: f["FI_EJ"],
        NOMCOM: f["NOMCOM"],
        LIT_OBS: f["LIT_OBS"],
        SALTRAV: f["SALTRAV"],
        ACCTOT: f["ACCTOT"]
      }
    });
  }
}

// Construction de la défintion du featureset (schéma + entités)
var json = {
  fields: [
    {name: "ANNEE", type: "esriFieldTypeInteger"},
    {name: "NOM_MAT", type: "esriFieldTypeString"},
    {name: "TYPE", type: "esriFieldTypeString"},
    {name: "STATUT", type: "esriFieldTypeString"},
    {name: "FI_ET", type: "esriFieldTypeString"},
    {name: "FI_EJ", type: "esriFieldTypeString"},
    {name: "NOMCOM", type: "esriFieldTypeString"},
    {name: "LIT_OBS", type: "esriFieldTypeInteger"},
    {name: "SALTRAV", type: "esriFieldTypeInteger"},
    {name: "ACCTOT", type: "esriFieldTypeInteger"}
  ],
  geometryType: "",
  features: features
};

// Conversion en FeatureSet
return FeatureSet(Text(json));

Le jeu de données généré est alors le suivant, il contient l'ensemble des données sur les maternités de 2019 à 2023 (soit au total 2286 enregistrements) :

Cliquez sur l'image pour l'agrandir



Vous pouvez, par exemple, représenter ces données combinées dans un tableau de bord à l'aide d'un diagramme en barres pour suivre l'évolution du nombre de lits obstétriques sur les 5 années par type de maternité :

Cliquez sur l'image pour l'agrandir

Vous pourrez également, par exemple, représenter le nombre d'accouchement total par année :

Cliquez sur l'image pour l'agrandir


Dans cet exemple, mes 5 jeux de données ont strictement le même schéma mais des variantes peuvent être introduites dans l'expression de données Arcade si nécessaire.


A travers cet exemple, vous avez pu découvrir comment utiliser une expression de données avec Arcade pour combiner (assembler) plusieurs jeux de données en un seul. Il ne vous reste plus qu'à l'appliquer à vos propres cas d'usage.


En conclusion

Cet article conclut cette série de 6 articles (voir le premier article ici :"Conseils & Astuces ArcGIS Online" (N°200) consacrés à l'usage des expressions de données Arcade dans ArcGIS Dashboards. Je n'ai pas couvert tous les cas d'usage de cette récente capacité ajoutée dans ArcGIS Dashboards mais, je l'espère, les plus courants. Je terminerai en signalant également que les expressions de données existent aussi dans le concepteur d'application ArcGIS Experience Builder et que vous pouvez de la même manière les utilser pour personnaliser les sources de donnés alimentant vos widgets. 

N'hésitez pas à me faire part de vos commentaires, poser des questions ou présenter des cas d'usages qui vous paraissent intéressants à partager via ce blog.


Bonne route sur ArcGIS Online !
   
Pour retrouver l'ensemble des Conseils & Astuces ArcGIS Online, cliquez sur ce lien.

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: