Conversion à partir de chaînes numériquesSalut
Je voudrais des valeurs numériques secrètes dans une date. J'ai essayé de nombreux exemples de scripts ici, mais cela n'a pas fonctionné.
J'ai 14 chiffres dans une colonne qui doivent être transformés comme 20200420221043. Je veux le type aaaa-mm-jjThh:mm:ss. Par conséquent, il semble que 2020-04-20T22:10:43.
Des idées?
Re : Conversion à partir de chaînes numériquesJ'ai essayé ce script et il a bien fonctionné.
Surtout, 'wait()' me fait plaisir.
Re : Conversion à partir de chaînes numériquesGrande référence.Re : Conversion à partir de chaînes numériquesJ'ai besoin de mettre ceci en signet. Merci.Re : Conversion à partir de chaînes numériquesExcellente référence également.
Re : Conversion à partir de chaînes numériquesSalut @KrissKdash ,
Assurez-vous également de regarder la vidéo Le docteur résout vos problèmes d'importation de date et d'heure.
Dans ce segment diffusé récemment @brady_brady montre étape par étape comment résoudre ces types de problèmes de date.
acclamations,
Stan
Re : Conversion à partir de chaînes numériquesSalut,
Il existe un complément pour exactement ce type de problème. Trouvez le complément et une description de son utilisation ici : Outils de table de données, partie 1 : éditeur de formule de date personnalisée
Après avoir ouvert le fichier addin pour l'installer, il se trouvera dans la section "Addins" du menu principal de JMP. Sélectionnez : Compléments > Outils de table de données > Colonnes de formules spéciales > Rédacteur de formule de date personnalisé.
Dans la fenêtre principale de Formula Writer, sélectionnez votre table de données et votre colonne de données source - assurez-vous de définir vos données sur les types de caractères et nominaux.
Ensuite, remplissez le reste de la boîte de dialogue comme ci-dessous, en veillant à placer des coches au début et à la fin de tous les champs d'intérêt. (Cliquez pour activer et désactiver les coches.)
Cliquez sur "Construire une colonne de formule" et vous avez terminé. (Exemple de la formule écrite automatiquement ci-dessous.) Notez qu'il y a des zéros et des accolades vides à divers endroits, représentant des options qui n'ont pas été utilisées dans la formule actuelle. C'est comme prévu.
Acclamations,
brady

Try(
{};
YearChoice = 1;
{};
{};
Date MDY(
Num( Substr( :DateStr, 5, 2 ) ),
Num( Substr( :DateStr, 7, 2 ) ),
Num( Substr( :DateStr, 1, 4 ) ) + 0
) + Num( Substr( :DateStr, 13, 2 ) ) + Num( Substr( :DateStr, 11, 2 ) ) * 60 + (
Num( Substr( :DateStr, 9, 2 ) ) + 0) * 3600 + If( Num( Substr( :DateStr, 9, 2 ) ) < 12,
0,
0
);
)
Re : Conversion à partir de chaînes numériques@KrissKdash ,
Juste au cas où vous voudriez une colonne qui est une date numérique formatée, voici un script pour le faire. Il crée un tableau à 1 colonne. Extension @txnelson , la colonne de chaîne s'appelle myS. Le script crée une colonne de date, myD. Le attendre(2) est ajouté pour un effet dramatique.
Juste une 2ème approche.
Names Default to Here(1);
dt = New Table( "Test",
Add Rows( 3 ),
New Column( "myS",
Character,
"Nominal",
Set Values( {"20200420221053", "20200419112025", "20191225055920"} )
)
);
dt << New Column("myD", Numeric, Continuous);
Column(dt,"myD") << set each value(Informat(substr(:myS,1,8), "YYYYMMDD") + num(Substr(:myS,9,2))*60*60
+ num(substr(:myS,11,2))*60 + num(substr(:myS,13,2)) );
wait(2);
:myD << Format("yyyy-mm-ddThh:mm:ss", 19, 0);
Re : Conversion à partir de chaînes numériquesEst-ce ce que vous recherchez?
myS = "20200420221043";
datex = Informat(
Substr( myS, 1, 4 ) || "/" || Substr( myS, 5, 2 ) || "/" || Substr( myS, 7, 2 ) || " " ||
Substr( myS, 9, 2 ) || ":" || Substr( myS, 11, 2 ) || ":" || Substr( myS, 13, 2 ),
"y/m/d h:m:s"
);
Show( Format( datex, "yyyy-mm-ddThh:mm:ss" ) );
Format(datex, "yyyy-mm-ddThh:mm:ss") = "2020-04-20T22:10:43";