Bonjour,
Je gère un complément pour mon entreprise où toutes les données sont importées dans JMP via des utilitaires de ligne de commande appartenant à notre équipe d'automatisation. Mon complément traduit une demande d'utilisateurs en une commande formatée et émet la commande en arrière-plan. Les données sont renvoyées sous forme de fichier texte sur le système de l'utilisateur. Mon addin peut alors charger les données du fichier texte.
Le problème que j'ai est que les colonnes varient en fonction de la demande des utilisateurs. Mais, chaque table a une colonne DATE (Format : AAAAMMJJ) et HEURE (Format : HHMMSS) qui sont toujours là. Je n'ai pas trouvé de moyen d'ouvrir un fichier texte dans lequel je spécifie les formats pour certaines colonnes mais je laisse JMP interpréter les types de données pour le reste.
L'implémentation actuelle nécessite que je convertisse les colonnes DATE et TIME en types de caractères, formate l'heure dans le HHMMSS avec des 0 en tête, puis boucle dans la table pour analyser la colonne DATE en une date et convertir les parties HH, MM et SS en secondes afin que je puisse les ajouter à la partie DATE.
dt = Current Data Table();
:DATE << Data Type(character);
:TIME << Data Type(character);
:TIME << Set Each Value(Repeat("0", 6-Length(:TIME))||:TIME);
dt << New Column("DATETIME");
:DATETIME << Format("m/d/y h:m:s");
For Each Row(
:DATETIME[Row()] = Parse Date(:DATE[Row()], "YYYYMMDD") +
In Hours(Num(Substr(:TIME[Row()], 1, 2))) +
In Minutes(Num(Substr(:TIME[Row()], 3, 2))) +
Num(Substr(:TIME[Row()], 5))
);
Existe-t-il un moyen plus propre de joindre les colonnes DATE et TIME en une seule colonne DATETIME ?