PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Quel est la meilleure façon de construire des statistiques de ventes
Quel est la meilleure façon de construire des statistiques de ventes
Iniciado por GregDev73, 04,ago. 2020 02:13 - 16 respuestas
Miembro registrado
22 mensajes
Publicado el 04,agosto 2020 - 02:13
Bonjour,
J'ai une très grande table qui reprend les lignes de facture d'une société depuis 2015.
il s'agit de +- 650k lignes.
Je devrais avoir des statistiques de ventes pour chaque article (+-1500 produits) par mois et par année.
Ensuite il faut pouvoir passer d'un article à l'autre en affichant les 5 graphiques par mois sans délai de calcul entre les articles.
Je dois donc avoir un accès immédiat.


J'ai pensé faire une table basée sur des regroupement par mois / par année

Du style
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Référence article | Année1-Mois1|Année1-Mois2|.... Année(n)-Mois12

C'est assez statique, avez-vous d'autres moyens sous windev pour afficher ces résultats ?

Merci d'avance pour vos idées .

Greg
Miembro registrado
4.363 mensajes
Publicado el 04,agosto 2020 - 07:17
Bonjour,
As tu pensé aux ruptures ? Qui plus est il n'y aura qu'une légère modification à faire au niveau de l'interface
Un rupture sur l'année, et une rupture sur le mois de l'année

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
49 mensajes
Publicado el 04,agosto 2020 - 09:47
Bonjour,

La piste proposée par Voroltinquo est excellente, et tu peux aussi regarder les TCD ( tableaux croisé dynamique ), moins simple que les ruptures mais qui plaisent assez bien aux utilisateurs... en général !

Bonne journée

--
Une tête ne sert pas seulement à porter un chapeau !
Miembro registrado
4.363 mensajes
Publicado el 04,agosto 2020 - 10:04
En lisant le post de Nikos, je viens de voir que la 2° partie de me réponse n’apparaît pas
En ce qui concerne les graphiques, le plus simple est de passer par une requête qui alimentera les différents graphiques.
SELECT
//Données à afficher
FROM
ARTICLE,
VENTE
//Autre tables
WHERE
ARTICLE.PK_Article={pArticleSélectionné}
//Eventuellement
AND
VENTE.NDX_Année={pAnnée}

En ce qui concerne le délai de calcul tout dépendra de la vitesse de ta machine (en monoposte,) pour un serveur, il faudra prendre en compte la charge.

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
1.173 mensajes
Publicado el 04,agosto 2020 - 10:29
Bonjour,

Pour accéder rapidement aux données stat, on peut aussi créer un fichier d'agrégation des données, alimentaire par un trigger serveur. Il y a un webinaire de Jérôme Aerts sur ce thème (youtube). A adapter à votre besoin.

--
Thierry TILLIER
Développeur Windev-Webdev
Formation Windev : https://coursdinfo.teachable.com/
Formation bureautique : https://coursdinfo.net
Miembro registrado
1.173 mensajes
Publicado el 04,agosto 2020 - 10:30
*alimenté

--
Thierry TILLIER
Développeur Windev-Webdev
Formation Windev : https://coursdinfo.teachable.com/
Formation bureautique : https://coursdinfo.net
Miembro registrado
22 mensajes
Publicado el 04,agosto 2020 - 20:13
Bonjour,
Le webinaire de Jérôme Aerts me semble répondre parfaitement à mes attentes, je vais bien l'étudier et vous faire part du résultat.
En ce qui concerne les ruptures, je ne maitrise absolument pas, mais je vais également me pencher sur le sujet.
Les TCD sont bien pour les présenations, mais jamais essayé avec un graphique.

Je vous remerice pour les excellentes pistes,

Bien cordialement,

Greg
Miembro registrado
2.682 mensajes
Publicado el 06,agosto 2020 - 06:45
Bonjour,

Si tu es sur une base HFSQL, le temps de calcul est particulièrement long et il devient nécessaire de passer par une table d’agrégation. Attention à bien réfléchir cette table de manière à ne pas devoir tout refaire pour une simple modification.

Concernant le TCD, le temps de calcul est souvent là aussi très long. C'est un outil qui pourrait être super mais qui n'est pas encore abouti de mon point de vue.

--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
151 mensajes
Publicado el 06,agosto 2020 - 08:56
Bonjour,
Je ne sais sur quel base vous travaillez mais si vous êtes sur un SGBD du style SQL SERVER vous pouvez utilisez des vues qui feront les agrégations ou également des fonctions tables. cela évite de maintenir une table dédiées et permet d'avoir des résultats toujours cohérents.
Miembro registrado
22 mensajes
Publicado el 06,agosto 2020 - 16:11
Bonjour Philippe,
Bonjour Silverin,

Je rapatrie des données d'une DB Progress et je les injecte dans une DB HFSQL pour le moment.
J'ai déjà constaté des lenteurs malgré les preformances annoncées par PC SOFT ... (C'est parfois plus rapide quand je fais des test sur un Ms-Access..)
Je ne maitrise pas encore bien l'outil donc je ne peux juger à ce stade.
Vous avez sans doute un avis à ce sujet.
Ce sont des tests pour le moment mais si ils ne sont pas concluants, je passerai sans doute sur du sql Server.

Un immense MERCI pour vos postes

Cordialement

Fred
Miembro registrado
2.682 mensajes
Publicado el 06,agosto 2020 - 17:03
@GregDev73: Si tu as la possibilité de passer sur du SQL Server, n'hésite surtout pas.

--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
22 mensajes
Publicado el 06,agosto 2020 - 21:31
C'est donc faux les performances annoncées ?
Miembro registrado
2.682 mensajes
Publicado el 07,agosto 2020 - 10:09
Tu peux toujours faire des tests si ça t'amuse mais je te confirme qu'il vaut mieux passer sur du SQL server, du postgresql, de l'oracle (mais à quel prix) que de rester sur HFSQL en terme de performance.

Idem en terme de possibilité de requête, de procédures stockées, de triggers et autres...

J'ai des requêtes simples qui mettent quelques ms sous postgresql et plusieurs secondes , voir plusieurs dizaines de secondes sous HFSQL. J'ai depuis de nombreuses années quasiment arrêté l'utilisation de HFSQL.

Voilà mon retour perso.

--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
151 mensajes
Publicado el 07,agosto 2020 - 11:25
je n'ai pas testé les dernières versions de la base HFSQL donc je ne pourrais pas donner mon avis, mes pour des petits volumes, la base HFSQL peut être intéressante au niveau coût/ performance mais pour de gros volume où il faut une certaine réactivité je préfère un SGBDR style Sql Server; principalement pour la possibilité de faire exécuter des traitements par le moteur (vue,procédures stockées,fonctions scalaires/tables, trigger); par contre le coût n'est évidemment pas le même.
Miembro registrado
22 mensajes
Publicado el 07,agosto 2020 - 12:51
Bonjour,
J'ai tenté de faire des tests avec MySQL et j'ai perdu quelques heures de sommeil car impossible de linker Windev à Mysql.
Erreur 27 => il ne trouve pas la dll libmysql.dll ... Pourtant je l'ai placée dans le repertoire framework de windev....
Est-ce que windev(64) est compatible avec mysql 8 ? ou c'est encore une bug inexeplicable de pcsoft ... ???
Je vois sur le forum qu'il y a déjà ne nombreuses discussions au sujet de cette connectivité avec mysql...



Miembro registrado
22 mensajes
Publicado el 07,agosto 2020 - 13:21
J'ai un peu avancé, J'ai un message d'erreur 79 Concernant un edemande d'authentification ssl ....
J'ai modifié mon account dans Mysql comme préconisé ici => https://blogs.pcsoft.fr/fr/connexion-strong-password-mysql-acces-natif-mysql/281474976710821/read.awp

Mais ca ne fonctionne toujours pas ...
Si quelqu'un est déjà tombé sur ce problème ...




Miembro registrado
22 mensajes
Publicado el 08,agosto 2020 - 02:54
Problême solutionné en installant le mysql en mode "Legacy" compatible avec les authentifications de la version 5.
Il semblerait que l'on puisse modifier le fichier initialisation "My.ini' sans devoir réinstaller, mais mon serveur ne répondait plus convenablement.
La je vais pouvoir tester les vitesses entre hfsql et mysql.