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

Requêtes MySQL Discussion :

Requête de date > optimisation


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 250
    Points : 75
    Points
    75
    Par défaut Requête de date > optimisation
    Bonjour à tous,

    J'ai un traitement qui s'effectue en 3 temps en PHP :
    1/ Recherche de maVariable toutes les dates MAX de chaque jour = traitement1

    2/ Recherche de maVariable de la date MAX de la veille de chaque réponse de traitement1 = traitement2

    3/ Soustraction maVariable(traitement1) à maVariable(traitement2)

    Le problème c'est ça devient très très lourd, car on fait une requête par jour, donc sur la fin de l'année on est à 365 requêtes pour un affichage.

    Je cherche une solution pour optimiser ça, mais mes connaissances en SQL sont limitées.

    Voici ma première requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT MAX(date) as date, 
      CAST(maVariable as DECIMAL(10,3)) as var" . $i . "  
    FROM `maTable` 
    WHERE champDate LIKE '2012%'  
      AND file='process' 
    GROUP BY Day(champDate) 
    ORDER BY date ASC
    Ma seconde (celle qui boucle) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT MAX(date), maVariable 
    FROM `maTable` 
    WHERE champDate LIKE '2012-01-01%' 
      AND file='process' 
      AND maVariable != '' 
    ORDER BY date DESC";
    Création de la table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CREATE TABLE IF NOT EXISTS `MaTable` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `maVariable` varchar(255) NOT NULL,
      `maVariable2` varchar(255) NOT NULL,
      `maVariable3` varchar(255) NOT NULL,
      `champDate` varchar(255) NOT NULL,
      `file` varchar(255) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
    D'avance merci de votre aide pour optimiser ceci.

  2. #2
    Membre chevronné
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2012
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 652
    Points : 1 878
    Points
    1 878
    Par défaut
    Tout d'abord, utiliser un champs VARCHAR pour stocker une date va vous pénaliser lors de la manipulation des données.

    Ensuite, ce que vous décrivez peut être fait en une seule requête SQL mais il nous faudrait connaître votre SGBD ainsi que la version pour proposer une solution adaptée

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 250
    Points : 75
    Points
    75
    Par défaut
    Merci de la réponse.

    Pourquoi cela va me pénaliser ?

    Je suis sous MySql.

  4. #4
    Expert éminent sénior
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 812
    Points : 34 084
    Points
    34 084
    Billets dans le blog
    14
    Par défaut
    J'ai du mal à comprendre quel est ton besoin qui justifierait un processus aussi complexe.
    Pourrais-tu exprimer ce besoin en français ?

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 250
    Points : 75
    Points
    75
    Par défaut
    Ca va être compliqué en français

    Il s'agit de différence d'index de compteurs ERDF entre deux dates. Je ne sais pas si ça te parle plus...

  6. #6
    Expert éminent sénior
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 812
    Points : 34 084
    Points
    34 084
    Billets dans le blog
    14
    Par défaut
    Pourquoi nous avoir donné une table aussi abstraite ? C'est quoi variable1, variable2 et variable3 ?

    Donne la vraie table, ce sera plus simple pour la compréhension et pour donner la bonne réponse.

    Un petit jeu de données serait utile aussi parce que caster des varchar(255) en DECIMAL, ça sent le mauvais choix de type de données pour ça aussi !

  7. #7
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 250
    Points : 75
    Points
    75
    Par défaut
    La table est vraiment constituée ainsi, mis à part que j'ai var0 à var29 qui sont des index renseignés ou non.

    Mis à part le champ file qui est effectivement un peu hors contexte, je vois mal comment simplifier ma demande.

  8. #8
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    salut,

    rien n'empêche de faire tout ça purement en mysql procédural... pas besoin d'allers-retours php/mysql

    déjà explique clairement ce que tu dois faire (algorithme avec formule si tu as du mal en français) et donne les create de tes tables...

    car comme dit cinephil, c'est pas clair...

    c'est destiné à du cron ou à un besoin web donc avec des contraintes de temps d'exécution

    et enfin si la structures des table n'est pas optimale peux tu la retoucher?

    ça va déjà t'occuper un peu pour répondre

  9. #9
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 250
    Points : 75
    Points
    75
    Par défaut
    Héhé

    Alors, j'essaie d'expliquer plus clairement.

    C'est destiné à du web, pour l'affichage sur un graphique highcharts.

    Voici la structure réèlle de la table :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    CREATE TABLE IF NOT EXISTS `centrale` (
      `tic_id` int(11) NOT NULL AUTO_INCREMENT,
      `var0` varchar(255) NOT NULL,
      `var1` varchar(255) NOT NULL,
      `var2` varchar(255) NOT NULL,
      `var3` varchar(255) NOT NULL,
      `var4` varchar(255) NOT NULL,
      `var5` varchar(255) NOT NULL,
      `var6` varchar(255) NOT NULL,
      `var7` varchar(255) NOT NULL,
      `var8` varchar(255) NOT NULL,
      `var9` varchar(255) NOT NULL,
      `var10` varchar(255) NOT NULL,
      `var11` varchar(255) NOT NULL,
      `var12` varchar(255) NOT NULL,
      `var13` varchar(255) NOT NULL,
      `var14` varchar(255) NOT NULL,
      `var15` varchar(255) NOT NULL,
      `var16` varchar(255) NOT NULL,
      `var17` varchar(255) NOT NULL,
      `var18` varchar(255) NOT NULL,
      `var19` varchar(255) NOT NULL,
      `var20` varchar(255) NOT NULL,
      `var21` varchar(255) NOT NULL,
      `var22` varchar(255) NOT NULL,
      `var23` varchar(255) NOT NULL,
      `var24` varchar(255) NOT NULL,
      `var25` varchar(255) NOT NULL,
      `var26` varchar(255) NOT NULL,
      `var27` varchar(255) NOT NULL,
      `var28` varchar(255) NOT NULL,
      `var29` varchar(255) NOT NULL,
      `date` varchar(255) NOT NULL,
      `date_insert` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
      `file` varchar(255) NOT NULL,
      PRIMARY KEY (`tic_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
    Il s'agit de compteurs ERDF qui envoient toutes les 15 minutes une valeur que l'on enregistre sur une nouvelle ligne de cette table.

    A chaque ligne, nous remplissons aléatoirement une ou plusieurs valeurs de var0 à var29 (en fonction des périodes, heures pleines, heures creuses, heure pointe, etc...)

    Le but pour moi, et d'afficher sur le graphique web, la différence du cumul de var0 à var4, de var5 à var 9, de var10 à var14, etc... pour chaque jour (entre les dates max de chaque jour).

    La valeur de référence est celle de fin de journée à 23:59:59, mais la requête doit aussi être adaptée au jour courant, qui lui ne dispose pas de la date 23:59:59.

    Je tente beaucoup de trucs depuis tout à l'heure, mais rien ne fonctionne

  10. #10
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 952
    Points
    3 952
    Par défaut
    C'est tout bonnement hallucinant comme structure !

    Et qui en est l'auteur(e) ? C'est juste pour éviter d'avoir affaire à lui (ou elle), on ne sait jamais.

    Franchement, tout est à revoir.

    Déjà, puisqu'il s'agit de compteurs ERDF, quelle colonne dans tout ce fatras permet d'identifier un compteur ?

    Ensuite, si bon nombre des colonnes var0 à var29 sont optionnelles à chaque ligne, c'est bien la preuve que la structure est à revoir.

    Y-en a qui vont pouffer, voire tousser.

  11. #11
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 250
    Points : 75
    Points
    75
    Par défaut
    Je n'ai jamais dis que la structure était bonne, mais j'ai fais avec mes connaissances pour m'en sortir.

    Pour info, c'est un peu plus complexe que de dire une colonne = 1 compteur. Les 29 colonnes représente un compteur, découpé en groupe de colonnes var0 à var4, var5 à var9, etc...
    Chaque colonne peut être renseignée à n'importe quel moment. Plusieurs à la fois.

    En te remerciant pour ta réponse très constructive qui me permet d'avancer.

  12. #12
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 938
    Points : 51 773
    Points
    51 773
    Billets dans le blog
    6
    Par défaut
    Ma rigolade du jour, je la trouve toujours dans ce forum consacré à MySQL !!!
    Voir des tables aussi débiles, me fait irrésistiblement penser à un retour en arrière aux années 60... les fameux fichiers COBOL.

    A lire sur le sujet : http://blog.developpez.com/sqlpro/p1...ances-petites/

    Évidemment parler d’optimisation et montrer une talle table me fait pisser de rire !!! J'adore ce forum...

    A +

  13. #13
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    essayons de comprendre quelle logique (quelque peu, voire totalement, tordue) t'amène à ça...

    pourquoi remplir aléatoirement plutôt que juste enregistrer un ligne à chaque fois?
    pourquoi découper le compteur en 29 colonnes? ça t'est imposé par le compteur?

    est ce que tu peux changer ce ...modèle... si on trouve mieux (ce qui est évident)?

  14. #14
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 250
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Ma rigolade du jour, je la trouve toujours dans ce forum consacré à MySQL !!!
    Voir des tables aussi débiles, me fait irrésistiblement penser à un retour en arrière aux années 60... les fameux fichiers COBOL.

    A lire sur le sujet : http://blog.developpez.com/sqlpro/p1...ances-petites/

    Évidemment parler d’optimisation et montrer une talle table me fait pisser de rire !!! J'adore ce forum...

    A +
    Merci.

  15. #15
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 250
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par ericd69 Voir le message
    essayons de comprendre quelle logique (quelque peu, voire totalement, tordue) t'amène à ça...

    pourquoi remplir aléatoirement plutôt que juste enregistrer un ligne à chaque fois?
    pourquoi découper le compteur en 29 colonnes? ça t'est imposé par le compteur?

    est ce que tu peux changer ce ...modèle... si on trouve mieux (ce qui est évident)?
    Merci Eric, sympa de voir qu'il reste au moins une personne qui ne vient pas poster pour se poiler de mon manque de connaissance en sql (et ne servir à rien par la même occasion).

    Alors pour te répondre, effectivement, je n'ai pas trouvé de moyen technique me permettant de faire face à cette problématique de remplissage aléatoire.

    Le remplissage des var0 à 29 est totalement aléatoire, de 1 donnée sur une ligne à la casi-totalité des données.

    Je peux effectivement changer ce modèle si on trouve mieux, je suis à l'écoute sans problème.
    Par contre, insérer une ligne à chaque fois, la base risque de se retrouver avec un nombre de ligne énorme.
    On a en moyenne 6 données toutes les 15 minutes.

    Merci encore de ton aide.

  16. #16
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    c'est direct sorti du compteur?

    c'est quoi ce qui est mis?

    tu sors ça d'un csv à l'origine?

  17. #17
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 250
    Points : 75
    Points
    75
    Par défaut
    Oui ça provient d'un csv déposé sur un ftp.

    Les données sont "direct" sorties du compteur en quelque sorte.

  18. #18
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    je me doutais qu'il y a qu'un bouffon d'ingénieur électronicien pour pondre un truc comme ça... j'ai bouffer des systèmes comme ça pendant 10 ans...

    pas la peine de remonter au années 60, c'est souvent comme ça que beaucoup de systèmes industriel pondent leur infos de status...

    heureusement avec le temps et une meilleure informatisation dés le départ ça tend à disparaitre...

    tu vois sqlpro avant de critiquer va donc pourrir les sombres idiots qui fabriquent les compteurs... et qui sont pas foutus de faire un système d'export de données explicite...

    j'attendais que tu me confirme l'origine pour te défendre....

    bref...

    donc y a rien d'aléatoire dans ces déclenchements...

    est ce que tu sais à quoi correspondent ces différentes colonnes?

    quelle type de valeurs dedans?

    quels traitements tu en fais?

    montre quelques lignes de ton csv?

  19. #19
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 250
    Points : 75
    Points
    75
    Par défaut
    Voici quelques lignes d'un CSV :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    128;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;93;94;95;96;97;98;99;100;101;102;103;104;105;106;107;108;109;110;111;112;113;114;115;116;117;118;119;120;121;122;123;124;125;126;127;128
    05/03/12-23:10:00;BASE_A5;06/03/12 00/10/45;0Wh;0varh;3;;;06/03/12 00/10/00;1kW;06/03/12 00/00/00;1kW;05/03/12 23/50/00;0kW;05/03/12 23/40/00;1kW;05/03/12 23/30/00;1kW;05/03/12 23/20/00;1kW;01/03/12 02/00/00;01/01/92 00/00/00;5;189kWh;;0kWh;540kWh;;0kWh;;0kWh;0kWh;367kWh;0kWh;;;;01/02/12 02/00/00;01/03/12 02/00/00;5;2kvarh;;0kvarh;0kvarh;;0kvarh;;0kvarh;0kvarh;3kvarh;0kvarh;;;;167kvarh;;0kvarh;199kvarh;;0kvarh;;0kvarh;0kvarh;357kvarh;0kvarh;;;;90%;80%;4kW;;4kW;0kW;4kW;0kW;4kW;4kW;0kW;;;;;;0kW;1kW;0kvar;0kvar;0,00;20400V;INJECTION;;;;;0varh;;;;06/03/12 00/10/00;0kW;06/03/12 00/00/00;0kW;05/03/12 23/50/00;0kW;05/03/12 23/40/00;0kW;05/03/12 23/30/00;0kW;05/03/12 23/20/00;0kW;;11639kWh;86kvarh;3765kvarh;;731kW;0kW;0kW;0kvar;0kvar;0,000A;0,000A;0,000A;;;;;
    05/03/12-23:20:11;BASE_A5;06/03/12 00/20/55;0Wh;0varh;3;;;06/03/12 00/20/00;1kW;06/03/12 00/10/00;1kW;06/03/12 00/00/00;1kW;05/03/12 23/50/00;0kW;05/03/12 23/40/00;1kW;05/03/12 23/30/00;1kW;01/03/12 02/00/00;01/01/92 00/00/00;5;189kWh;;0kWh;540kWh;;0kWh;;0kWh;0kWh;367kWh;0kWh;;;;01/02/12 02/00/00;01/03/12 02/00/00;5;2kvarh;;0kvarh;0kvarh;;0kvarh;;0kvarh;0kvarh;3kvarh;0kvarh;;;;167kvarh;;0kvarh;199kvarh;;0kvarh;;0kvarh;0kvarh;357kvarh;0kvarh;;;;90%;80%;4kW;;4kW;0kW;4kW;0kW;4kW;4kW;0kW;;;;;;0kW;1kW;0kvar;0kvar;0,00;20400V;INJECTION;;;;;0varh;;;;06/03/12 00/20/00;0kW;06/03/12 00/10/00;0kW;06/03/12 00/00/00;0kW;05/03/12 23/50/00;0kW;05/03/12 23/40/00;0kW;05/03/12 23/30/00;0kW;;11639kWh;86kvarh;3765kvarh;;731kW;0kW;0kW;0kvar;0kvar;0,000A;0,000A;0,000A;;;;;
    05/03/12-23:30:09;BASE_A5;06/03/12 00/30/55;0Wh;0varh;3;;;06/03/12 00/30/00;0kW;06/03/12 00/20/00;1kW;06/03/12 00/10/00;1kW;06/03/12 00/00/00;1kW;05/03/12 23/50/00;0kW;05/03/12 23/40/00;1kW;01/03/12 02/00/00;01/01/92 00/00/00;5;189kWh;;0kWh;540kWh;;0kWh;;0kWh;0kWh;367kWh;0kWh;;;;01/02/12 02/00/00;01/03/12 02/00/00;5;2kvarh;;0kvarh;0kvarh;;0kvarh;;0kvarh;0kvarh;3kvarh;0kvarh;;;;167kvarh;;0kvarh;199kvarh;;0kvarh;;0kvarh;0kvarh;357kvarh;0kvarh;;;;90%;80%;4kW;;4kW;0kW;4kW;0kW;4kW;4kW;0kW;;;;;;0kW;1kW;0kvar;0kvar;0,00;20400V;INJECTION;;;;;0varh;;;;06/03/12 00/30/00;0kW;06/03/12 00/20/00;0kW;06/03/12 00/10/00;0kW;06/03/12 00/00/00;0kW;05/03/12 23/50/00;0kW;05/03/12 23/40/00;0kW;;11639kWh;86kvarh;3765kvarh;;731kW;0kW;0kW;0kvar;0kvar;0,000A;0,000A;0,000A;;;;;
    05/03/12-23:40:08;BASE_A5;06/03/12 00/40/55;0Wh;0varh;3;;;06/03/12 00/40/00;1kW;06/03/12 00/30/00;0kW;06/03/12 00/20/00;1kW;06/03/12 00/10/00;1kW;06/03/12 00/00/00;1kW;05/03/12 23/50/00;0kW;01/03/12 02/00/00;01/01/92 00/00/00;5;189kWh;;0kWh;540kWh;;0kWh;;0kWh;0kWh;367kWh;0kWh;;;;01/02/12 02/00/00;01/03/12 02/00/00;5;2kvarh;;0kvarh;0kvarh;;0kvarh;;0kvarh;0kvarh;3kvarh;0kvarh;;;;167kvarh;;0kvarh;199kvarh;;0kvarh;;0kvarh;0kvarh;357kvarh;0kvarh;;;;90%;80%;4kW;;4kW;0kW;4kW;0kW;4kW;4kW;0kW;;;;;;0kW;1kW;0kvar;0kvar;0,00;20466V;INJECTION;;;;;0varh;;;;06/03/12 00/40/00;0kW;06/03/12 00/30/00;0kW;06/03/12 00/20/00;0kW;06/03/12 00/10/00;0kW;06/03/12 00/00/00;0kW;05/03/12 23/50/00;0kW;;11639kWh;86kvarh;3765kvarh;;731kW;0kW;0kW;0kvar;0kvar;0,000A;0,000A;0,000A;;;;;
    05/03/12-23:50:07;BASE_A5;06/03/12 00/50/55;0Wh;0varh;3;;;06/03/12 00/50/00;1kW;06/03/12 00/40/00;1kW;06/03/12 00/30/00;0kW;06/03/12 00/20/00;1kW;06/03/12 00/10/00;1kW;06/03/12 00/00/00;1kW;01/03/12 02/00/00;01/01/92 00/00/00;5;189kWh;;0kWh;540kWh;;0kWh;;0kWh;0kWh;367kWh;0kWh;;;;01/02/12 02/00/00;01/03/12 02/00/00;5;2kvarh;;0kvarh;0kvarh;;0kvarh;;0kvarh;0kvarh;3kvarh;0kvarh;;;;167kvarh;;0kvarh;199kvarh;;0kvarh;;0kvarh;0kvarh;357kvarh;0kvarh;;;;90%;80%;4kW;;4kW;0kW;4kW;0kW;4kW;4kW;0kW;;;;;;3kW;1kW;0kvar;0kvar;0,00;20600V;INJECTION;;;;;0varh;;;;06/03/12 00/50/00;0kW;06/03/12 00/40/00;0kW;06/03/12 00/30/00;0kW;06/03/12 00/20/00;0kW;06/03/12 00/10/00;0kW;06/03/12 00/00/00;0kW;;11639kWh;86kvarh;3765kvarh;;731kW;0kW;0kW;0kvar;0kvar;0,000A;0,000A;0,000A;;;;;
    06/03/12-00:00:05;BASE_A5;06/03/12 01/00/50;0Wh;0varh;3;;;06/03/12 01/00/00;1kW;06/03/12 00/50/00;1kW;06/03/12 00/40/00;1kW;06/03/12 00/30/00;0kW;06/03/12 00/20/00;1kW;06/03/12 00/10/00;1kW;01/03/12 02/00/00;01/01/92 00/00/00;5;189kWh;;0kWh;540kWh;;0kWh;;0kWh;0kWh;367kWh;0kWh;;;;01/02/12 02/00/00;01/03/12 02/00/00;5;2kvarh;;0kvarh;0kvarh;;0kvarh;;0kvarh;0kvarh;3kvarh;0kvarh;;;;167kvarh;;0kvarh;199kvarh;;0kvarh;;0kvarh;0kvarh;357kvarh;0kvarh;;;;90%;80%;4kW;;4kW;0kW;4kW;0kW;4kW;4kW;0kW;;;;;;0kW;1kW;0kvar;0kvar;0,00;20400V;INJECTION;;;;;0varh;;;;06/03/12 01/00/00;0kW;06/03/12 00/50/00;0kW;06/03/12 00/40/00;0kW;06/03/12 00/30/00;0kW;06/03/12 00/20/00;0kW;06/03/12 00/10/00;0kW;;11639kWh;86kvarh;3765kvarh;;731kW;0kW;0kW;0kvar;0kvar;0,000A;0,000A;0,000A;;;;;
    La première ligne ce sont des index qui sont identifiés dans un fichier de définition annexe, et qui nous permet de les identifier.
    Les autres lignes, ce sont les données. Il y en a beaucoup, on en prend certaines pour remplir la bdd.

    Les données qui sont entrées en base sont des entiers ou vide si le csv ne nous donne rien.

    Le traitement que j'en fais c'est de ressortir ces données pour des graphiques.
    Soit un graphique quotidien avec chaque donnée, soit une différence entre une journée et une autre, soit une différence entre un mois et un autre.
    (Je ne sais pas si c'est très clair )

  20. #20
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    montre le fichier d'entête...

    c'est quoi le séparateur ; ou espace car les contenus de colonnes sont variables...?

    l'idée va être de passer par une table temporaire d'import puis peupler la table finale plus "parlante"

    est-ce que tu as besoin de tout garder? pour d'autres traitements? ou tu n'auras besoin que toujours des mêmes?

    la génération des graphs c'est relativement facile...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [Debutant]Requête et Date
    Par ghan77 dans le forum Bases de données
    Réponses: 5
    Dernier message: 07/01/2006, 22h35
  2. Requète sur dates compliquée ...
    Par itklif2 dans le forum Requêtes
    Réponses: 7
    Dernier message: 29/11/2005, 00h31
  3. [ADO] Requète sur dates
    Par cdlr27 dans le forum Bases de données
    Réponses: 3
    Dernier message: 26/01/2005, 23h39
  4. Requête sur date
    Par guenfood dans le forum Access
    Réponses: 11
    Dernier message: 08/12/2004, 17h11

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