diff --git a/README.md b/README.md index 693a062..7f02c88 100644 --- a/README.md +++ b/README.md @@ -143,32 +143,73 @@ ____________________________ # niveau AMOA Conseil et Métier -Pour avoir ces tables il va falloir alimenter la base de report à partir de la base public -Pour les alimenter on va utiliser une fonction SQL. + +Pour avoir ces tables il va falloir alimenter la base de report à partir de la base public +donc rappel chaque socle a une base : +- public.socleng-nomduclient + et +- report.socleng-nomduclient_report + +La finalité est d'avoir cette table demandé par PBI, exemple ici "f_task_v2" : +![illustration_dbeaver](https://repolake.alc-crm.com/aurelien.prevost/Reporting_Generique_PowerBI/raw/branch/main/illustrations/dbeaver_1.png) + + +On cré donc la table et ensuite, pour l'alimenter on va utiliser une fonction SQL . +![illustration_dbeaver](https://repolake.alc-crm.com/aurelien.prevost/Reporting_Generique_PowerBI/raw/branch/main/illustrations/dbeaver_2.png) Cette fonction sera logé dans le dossier fonction sur dbeaver. -et cette fonction fera notamment appel à 3 autres fonctions qui sont logé dans le dossier -Cette fonction va être appelé par un cronjob. -En vous connectant donc a un serveur socle, -Au travers de putty, -Vous allez ajouter un job recurrent en .sh -Ce job pour faire simple, l'instance sur laquelle vous vous trouvez ayant accès à la base de donnée du socle, vous allez appelez la fonction via une sorte de +En ouvrant cette fonction et en lisant le SQL vous constaterez que elle est casiment générique pour tout les comptes mais elle fait appel à 3 autre fonctions qui elles par contre doivent être "calibré" selon la logique metier. +![illustration_dbeaver](https://repolake.alc-crm.com/aurelien.prevost/Reporting_Generique_PowerBI/raw/branch/main/illustrations/dbeaver_3.png) + + +Ces sous fonctions sont logé dans la base public.socleng-nomduclient et leur contenu depend...du metier. Donc pour savoir comment les modifier il faut faire appel au conseil: +![illustration_dbeaver](https://repolake.alc-crm.com/aurelien.prevost/Reporting_Generique_PowerBI/raw/branch/main/illustrations/dbeaver_4.png) + +Cette fonction va être appelé ensuite par un cronjob depuis la liste des crontab -l accessible via putty (le classique). Sauf que cette fois on ne fait pas appel à un bash/shell executable ou autre mais on fait une connexion a postgre directement et on lance la fonction + +Exemple d'un job à adapté selon vos comptes clients ``` -echo blabla - -psql -U monsuperuser -d masuperbase...etc...on appele la fonction... - -echo blabla +#!/bin/bash +set -x +source /home/socleng-monoprix/exploit_batch/config-report-batch.properties +echo "toto" +# +#Logs +LOG_FILE="/home/socleng-monoprix/logs/Import_Donnes_Contact_For_PBI.log" +# +# Date de reference : 1er janvier 2023 +date_ref="2025-01-01" +# +# Date du jour (aujourd hui) +date_du_jour=$(date +%Y-%m-%d) +# +# Calcul du nombre de jours entre les deux dates +nb_jours=$(( ($(date -d "$date_du_jour" +%s) - $(date -d "$date_ref" +%s)) / 86400 )) +echo "=== debut" >> "$LOG_FILE" +echo "=== $(date '+%Y-%m-%d %H:%M:%S') ===" >> "$LOG_FILE" +echo "Nombre de jours entre le 1er janvier 2023 et aujourd'hui : $nb_jours" >> "$LOG_FILE" +# +# Suppression des donnees de la table f_contact_v2 +echo "lancement truncate table f_contact_v2" >> "$LOG_FILE" +echo "=== $(date '+%Y-%m-%d %H:%M:%S') ===" >> "$LOG_FILE" +psql -U $userReport -h $hoteReport -d $baseReport -c "TRUNCATE TABLE report.f_contact_v2 CONTINUE IDENTITY RESTRICT;" >> "$LOG_FILE" 2>&1 +# +# Import des donnees de la table f_contact_v2 +echo "lancement import des donnes table f_contact_v2" >> "$LOG_FILE" +echo "select report.refresh_contact($nb_jours);" >> "$LOG_FILE" +psql -U $userReport -h $hoteReport -d $baseReport -c "select report.refresh_contact($nb_jours);" >> "$LOG_FILE" 2>&1 +echo "=== $(date '+%Y-%m-%d %H:%M:%S') ===" >> "$LOG_FILE" +echo "=== fin" >> "$LOG_FILE" + ``` Inspirez vous d'un compte qui a deja toute cette trame implementé pour construire votre script. -**Cedric ajoutera des captures d'ecran pour illustré les choses** - +Bon courage _Fait le 23/09/2025_ _Réalisé par PREVOST Aurelien & FUSEAU Cédric_ \ No newline at end of file