Skip to main content

Hello Opendatasoft Community,

I hope this message finds you well.

I am currently working on a project where we utilize the ODS Widgets to display various datasets. Our application is designed to pull data from multiple sources, and currently, we hardcode the year values for dataset parameters. Here is a snippet of our configuration:

 

<!-- Conteneur principal de l'application AngularJS utilisant la librairie ODS Widgets -->
<div ng-app="ods-widgets">
    <!-- Définition des sources de données et des paramètres pour les requêtes -->
    <ods-dataset-context domain="opendata.fr.ch"
                         context="population, 
                                  populationlatest,
                                  emplois,
                                  emploislatest,
                                  logements,
                                  logementslatest,
                                  vacantslatest,
                                  education,
                                  educationlatest,
                                  educationecolelatest,
                                  ctxdistricts, 
                                  ctxcommunes"
                         population-dataset="01_02_age_5_sex_natio"
                         populationlatest-dataset="01_02_age_5_sex_natio"
                         emplois-dataset="06_02_etablissements_emplois_branches"
                         emploislatest-dataset="06_02_etablissements_emplois_branches"                         
                         logements-dataset="09_03_parc_log_selon_categorie_batiment_et_nbre_pieces_des_2010"
                         logementslatest-dataset="09_03_parc_log_selon_categorie_batiment_et_nbre_pieces_des_2010"
                         vacantslatest-dataset="09_03_log_vacants_1_categorie_batiment_des_1995"
                         education-dataset="15_02_eleves_lieu_domicile"
                         educationlatest-dataset="15_02_eleves_lieu_domicile"
                         educationecolelatest-dataset="15_02_eleves_lieu_ecole"

                         populationlatest-parameters="{'refine.annee':'2022'}"
                         emploislatest-parameters="{'refine.annee':'2021'}"
                         logementslatest-parameters="{'refine.annee':'2022'}"
                         vacantslatest-parameters="{'refine.statyear_taux_log_vacant':'2023'}"
                         educationlatest-parameters="{'refine.annee':'2021'}"
                         educationecolelatest-parameters="{'refine.annee':'2021'}"

                         ctxdistricts-dataset="01_02_age_5_sex_natio"
                         ctxcommunes-dataset="01_02_age_5_sex_natio"

                         ng-init="values = {};
                                  selected = {}">
</div>
 

We would like to know if it is possible to dynamically refine our data by using a variable, such as the maximum year available in the dataset, instead of setting a hardcoded value. For example, instead of setting educationecolelatest-parameters="{'refine.annee':'2021'}", we would like to use something like educationecolelatest-parameters="{'refine.annee': max(annee)}" so that our dashboards automatically adapt to the latest year available in the data.

This feature would greatly enhance the flexibility and maintenance of our dashboards, allowing them to remain up-to-date without manual intervention each year.

Is there a way to achieve this within the current capabilities of the ODS Widgets? If not, are there any planned updates or workarounds that you could suggest?

Thank you in advance for your assistance and guidance!

Best regards,

Auto-translation 🪄

Bonjour la communauté Opendatasoft, J'espère que ce message vous trouvera bien. Je travaille actuellement sur un projet dans lequel nous utilisons les widgets ODS pour afficher divers ensembles de données. Notre application est conçue pour extraire des données de plusieurs sources, et actuellement, nous codons en dur les valeurs de l'année pour les paramètres de l'ensemble de données. Voici un extrait de notre configuration : 
       

Hi,

We have done something similar on a dashboard.

This is the dashboard: https://opendata.umea.se/pages/maltidsservicestatistik/ (you can switch to English in the top right corner)

This is the data set used: https://opendata.umea.se/explore/dataset/sammanstallning-maltidsservice/table/?disjunctive.omrade&disjunctive.enhet&disjunctive.typ_av_kok&disjunctive.verksamhet

 

To get current year, and previous year we used the following code:

 

<ods-dataset-context context="currentyear,previousyear, alltheyears"

                             currentyear-dataset="sammanstallning-maltidsservice"

                             currentyear-parameters="{'disjunctive.omrade':true,'disjunctive.typ_av_kok':true,'disjunctive.verksamhet':true,'sort':'period'}"

                             previousyear-dataset="sammanstallning-maltidsservice"

                             previousyear-parameters="{'sort':'period','disjunctive.omrade':true,'disjunctive.typ_av_kok':true,'disjunctive.verksamhet':true}"

                             alltheyears-dataset="sammanstallning-maltidsservice"

                             alltheyears-parameters="{'sort':'period','disjunctive.omrade':true,'disjunctive.typ_av_kok':true,'disjunctive.verksamhet':true}">    

 

 

                <div ods-analysis="everyyear"

                     ods-analysis-context="alltheyears"

                     ods-analysis-x="ar"

                     ods-analysis-serie-total="AVG(ekologisk)"

                     ods-analysis-sort="-x">               

 

                    <!--******      Filter on current year         ****-->

                    {{ currentyear.parameterse'refine.period'] = everyyear.resultsÂ0].x.year  ; "" }}            

 

                    <!--******      Filter on previous year         ****-->                  

                    {{ previousyear.parametersp'refine.period'] = everyyear.resultsÂ1].x.year  ; "" }}    

 

I’m not sure this is the best/smartest way to do it, but it is one way to do it 🙂

Auto-translation 🪄

Bonjour, Nous avons fait quelque chose de similaire sur un tableau de bord. Voici le tableau de bord : https://opendata.umea.se/pages/maltidsservicestatistik/ (vous pouvez passer à l'anglais dans le coin supérieur droit) Voici l'ensemble de données utilisé : https ://opendata.umea.se/explore/dataset/sammanstallning-maltidsservice/table/?disjunctive.omrade&disjunctive.enhet&disjunctive.typ_av_kok&disjunctive.verksamhet Pour obtenir l'année en cours et l'année précédente, nous avons utilisé le code suivant : 

Thank you very much @Maria Söderlind !

 

I didn’t fully understood the capabilities of the ods-analysis tags. It will perfectly help me render those values dynamically. Thank you for your help ! 

 

 

Auto-translation 🪄

Merci beaucoup @Maria Söderlind ! Je n’ai pas entièrement compris les capacités des balises ods-analysis. Cela m'aidera parfaitement à restituer ces valeurs de manière dynamique. Merci pour votre aide !

Reply