Actualiser README.md

This commit is contained in:
2026-02-04 09:38:34 +00:00
parent 82b036cb44
commit 03c58da2c0

View File

@@ -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_