IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Contrainte de classement des heures pour les GRAPH COURBES ?


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 2
    Points : 0
    Points
    0
    Par défaut Contrainte de classement des heures pour les GRAPH COURBES ?
    Bonjour à tous.

    J'ai besoin de vous !

    Voilà, j'aimerais faire un graphique, avec des données d'une base qui vient de SQLSERVER, et qui vas de 4h à 4h pour deux date selectionnée dans une combo BOX.

    La récupération et l'affichage des données fonctionne très bien.

    Le graph s'initialise lorsque j'ai selectionné mes deux dates, (Date de début, et date de fin)

    Cependant, Mes heures (etiquette de catégorie) qui vont de 4h J-1 a 4H J, ne s'affichent absolument pas comme il faut.

    Voici ma création de graph.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    sdValeurGraph est une Source de Données
    sReq est une chaîne = "select KickOff_Avg, cast(consolidationmoment as time) as Heure, consolidationmoment from dataconsolidation where MachineID = '"+Machine+"' AND ConsolidationMoment >= CAST('"+DateDebut+" 04:00:00.000' AS datetime) AND ConsolidationMoment <= CAST('"+DateFin+" 04:00:00.999' AS datetime) order by Heure desc"
    SI PAS HExécuteRequêteSQL(sdValeurGraph,sReq) ALORS
    	Info(sReq)
    	Erreur(HErreurInfo())
    SINON
    	HLitPremier(sdValeurGraph)	
    	i est un entier = 1
    	grSupprimeTout(FEN_Home.GRF_MS1)
     
     
    	POUR TOUT sdValeurGraph											
    		grAjouteDonnée(FEN_Home.GRF_MS1,1,HRécupèreRubrique(sdValeurGraph,1))	
    		grEtiquetteCatégorie(FEN_Home.GRF_MS1,i,Gauche(HRécupèreRubrique(sdValeurGraph,2),5))			
    		i++					
    	FIN	
     
    	grDessine(FEN_Home.GRF_MS1)
    FIN
    Pour un intervalle de J-1 a J, j'ai 289 valeurs (1 valeur toute les 5 minutes).

    J'aimerais arriver, à afficher pour commencer sur mon graph, sur l'axe des abscisse 04:00 au début, et 04:00 à la fin !

    Et non comme actuellement : 23:55 à 12:15.

    J'imagine que windev à mis en place une contraite de classement, ou ordonnancement des valeurs qui sont en abscisse. Mais ca m'embête beaucoup..

    Auriez-vous une idée pour résoudre mon problème ?

    Merci !

  2. #2
    R&B
    R&B est déconnecté
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2005
    Messages : 571
    Points : 1 263
    Points
    1 263
    Par défaut
    Bonjour,

    Je pense qu'il vous faut travailler votre catégorie et donc votre graphe non pas pour utiliser le comportement par défaut ou adaptée (manipulation des propriétés du champ) de ce dernier mais pour exploiter une organisation et une présentation des données conforme à votre besoin.

    En clair, il s'agit déjà de grouper les données d'une même journée. Les données de 00:00 à 03:55 appartiennent donc à la veille.

    Je vous invite dont a passer par un tableau (associatif) qui groupera les données pour une même journée : [Date,Heure]Valeur
    Notez que la date et l'heure se concatènent
    Il sera alors plus simple de brancher le graphique sur votre tableau après l'avoir exploité pour calculer vos catégories.

    Si vous en avez le courage, vous pouvez effectuer la gestion des catégorie/alimentation du graphe au sine même du parcours du résultat de la requête, il suffit pour cela de programmer une "rupture" sur la date et 04h00 pour alimenter le graphe, raz le tableau et continuer. La consommation mémoire en sera amoindrie.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 2
    Points : 0
    Points
    0
    Par défaut
    Bonjour,

    Merci de votre réponse R&B.

    J'avais déjà essayé de passer par un tableau, qui ferait intermédiaire entre ma requête et mon graph. Cependant, j'avais rencontré un problème par rapport aux types. J'ai deux types de données différentes à stocker dans un tableau, que je dois déclarer d'un seul et unique type...

    Je vais creuser dans cette direction là.

    Si j'ai bien compris, vous me conseillez donc de mettre dans un tableau avec les données du premier jour (04:00 à 23:55) dans un tableau, alimenter mon graph, Raz de mon tableau, Mettre les données restantes dans mon tableau vide (00:00 à 04:00), puis ajouter ces données dans le graph ? Cela résoudrais le problème d'affichage de mon graph Courbe ?


    Merci à vous

    Cdlt

  4. #4
    R&B
    R&B est déconnecté
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2005
    Messages : 571
    Points : 1 263
    Points
    1 263
    Par défaut
    Bonjour
    la relecture de votre requête implique que vous y ajoutiez la date.
    Dans le parcours, vous allez être en mesure de grouper Date,Heure>=400 avec Date+1,Heure<=3:55
    Dès qu'on dépasse (Date+1,Heure<=3:55), on est sur une rupture, on peut alors envoyer le tableau dans le graphe, décaler la date et continuer (attention à ne perdre des lignes)

Discussions similaires

  1. Trouver les codes des couleurs pour un graph
    Par Hydro999 dans le forum R
    Réponses: 2
    Dernier message: 16/03/2010, 18h06
  2. Réponses: 1
    Dernier message: 06/03/2007, 12h25
  3. Des classes pour les liens en CSS
    Par Invité dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 08/03/2005, 14h31
  4. [debutant][JNI]Stocker des objet pour les rappeler plus tard
    Par Celenor dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 28/03/2004, 01h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo