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

SQL Oracle Discussion :

Créer calendrier automatique (sp)


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Chef de projets Décisionnel
    Inscrit en
    Juillet 2007
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projets Décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 263
    Par défaut Créer calendrier automatique (sp)
    Bjr à tous

    Dans le temps j'ai travaillé avec une table calendrier sous MSSQL 2005 et une appli asp qui affichait le calendrier d'une année au choix à imprimer.

    En PROD plutot que d'avoir à s'embetter à gérer les formats de date, on créé et fait circuler dans les BD un ID de date (correspond selon une matrice à un jour, une semaine, un mois, un trimestre, un semestre, une année...).

    Ex : Jeudi 1er juilet 2010 : ID = 3821

    Ce que je n'arrive pas à faire c'est de monter une SP surtout qui saura inclure ou pas les années bixestiles et le bon nombre de jours par mois...
    Comment calculer tout ça ?

    Si vous avez une idée, dites moi
    Merci

  2. #2
    Membre éprouvé
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Par défaut
    Bonjour,

    Je ne suis pas sur de bien avoir compris, mais si le besoin est de remplir une table avec l'ensemble des jours du calendrier sur plusieurs années, j utiliserais comme base de travail une requete qui me renvoi tout ça (voir discution suivante : http://www.developpez.net/forums/d94...e-table-temps/)

    Ensuite, il n y a plus qu a extraire le numero du jour, du mois, de l année, ... de la date généré par la requete

  3. #3
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Citation Envoyé par helrick Voir le message
    ...En PROD plutot que d'avoir à s'embetter à gérer les formats de date, on créé et fait circuler dans les BD un ID de date (correspond selon une matrice à un jour, une semaine, un mois, un trimestre, un semestre, une année...).
    ...
    Une date n'a pas de format comme tous autre type de données par ailleurs! Les format servent seulement à la conversion entre le type chaine de caractères et le type date et vice versa.
    L'idée en soit de stocker un calendrier n'est pas séduisante sauf cas très particulier.

    Citation Envoyé par helrick Voir le message
    ...

    Ce que je n'arrive pas à faire c'est de monter une SP surtout qui saura inclure ou pas les années bixestiles et le bon nombre de jours par mois...
    Comment calculer tout ça ?
    Vous perdez votre temps. Oracle a tous qu'il faut pour gèrere ça, lisez la documentation.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Chef de projets Décisionnel
    Inscrit en
    Juillet 2007
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projets Décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 263
    Par défaut perte de temps ?
    Non ce n'est pas de la perte de temps croyez moi.
    J'ai déjà travaillé avec ce système :
    1- il est portable sous n'importe quel système
    2- il évite de manipuler des formats de date chiants.
    3- D'un point de vue d'analyse décisionnelle, comparer 2 dates avec un entier sur des milliards de lignes pr mon besoin actuel.

    C'est loin d'etre inéfficace.
    Merci pr vos réponses

  5. #5
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Il y a un autre post en cours là dessus :http://www.developpez.net/forums/d94...e-table-temps/

    par contre, mon client a une base BO, et a tout géré par table de calendrier.. l'ID étant la date julienne.
    Et je peux dire que.. c'est super chiant !
    Parce que pour faire des stats sur des périodes de date, ça oblige à des sous select pas top.

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Je rejoins les avis de mes camarades.
    N'utilisez pas un ID pour avoir une date, utilisez une date, ça vous évitera bien des problèmes.

    Si vos données sont bien typées date, vous n'avez pas de format à gérer, vous pouvez heureusement les comparer directement !

    La création de la table calendrier telle qu'indiquée dans l'autre sujet ne prend que quelques millisecondes, c'est donc facilement portable également.
    Il n'y a pas d'histoire de format puisque votre clef primaire sera une date.
    Ce sera plus efficace que n'importe quelle moulinette que vous pourrez inventer.

  7. #7
    Membre expérimenté
    Homme Profil pro
    Chef de projets Décisionnel
    Inscrit en
    Juillet 2007
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projets Décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 263
    Par défaut dates
    Citation Envoyé par Waldar Voir le message
    Je rejoins les avis de mes camarades.
    N'utilisez pas un ID pour avoir une date, utilisez une date, ça vous évitera bien des problèmes.

    Si vos données sont bien typées date, vous n'avez pas de format à gérer, vous pouvez heureusement les comparer directement !

    La création de la table calendrier telle qu'indiquée dans l'autre sujet ne prend que quelques millisecondes, c'est donc facilement portable également.
    Il n'y a pas d'histoire de format puisque votre clef primaire sera une date.
    Ce sera plus efficace que n'importe quelle moulinette que vous pourrez inventer.
    Je suis +/- d'accord avec vous.
    Je précise jusque que ces dateid ne me servent que pour la partie décisionnelle de mon travail. Comme je l'ai dit précédemment, lorsque que vous offrez la possibilité de découper un C.A par de multiples dimensions opérationnelles et Grace à plusieurs repères dans le temps : ça fait plaisir à la direction d'avoir à dispo la finesse du détail.

    Et sachant que la BD manipule des entiers pour parler de dates : c'est un gain de temps por moi. Sous sql server surtout, combien de fois je me suis retrouvé avec des dates de multiples formats et bonjour la galère pour monter des analyses là dessus.

    Merci à tous de donner vos avis.
    Vos arguments sont bien positionnés pour etre débattus.

  8. #8
    Membre expérimenté
    Homme Profil pro
    Chef de projets Décisionnel
    Inscrit en
    Juillet 2007
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projets Décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 263
    Par défaut table dates
    Citation Envoyé par McM Voir le message
    Il y a un autre post en cours là dessus :http://www.developpez.net/forums/d94...e-table-temps/

    par contre, mon client a une base BO, et a tout géré par table de calendrier.. l'ID étant la date julienne.
    Et je peux dire que.. c'est super chiant !
    Parce que pour faire des stats sur des périodes de date, ça oblige à des sous select pas top.
    Bjr,
    Déjà il faut vous imprimer la matrice des dates pour travailler.
    Ensuite ce système est absolument plus pratique en termes de performance serveur pour les requêtes. On se prend pas la tête.
    Cela arrive qu'on transporte des univers sous d'autres environnements de BD, si l'environnement SQL cible de production produit ce DateId parfait l'installation est prise en charge. C'est nikel
    Enfin, je trouve que ce système évite le format des champs de type date, timestamp... différent, pr ne rien arranger, sous chaque système.
    A mon sens c'est un luxe et un confort de travail pour produire des axes d'analyse temporel. Cette table de date est une nomenclature de l'espace temps : un réservoir d'axes. Les contrôleurs de gestion en raffolent.

    Aller, a bientot

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer un calendrier "automatique"
    Par juxci dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/12/2010, 12h39
  2. Créer xml automatique
    Par Gabie dans le forum Windows
    Réponses: 6
    Dernier message: 28/12/2009, 21h13
  3. calendrier automatique a la date du jour
    Par tomy7 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/03/2008, 10h04
  4. Réponses: 3
    Dernier message: 16/01/2008, 08h24
  5. Générer un calendrier automatique
    Par philippesorin dans le forum 1&1
    Réponses: 3
    Dernier message: 18/12/2007, 12h31

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