Script: Récupération de la colonne certains noms d'une table de données<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
J'ai un tableau de données (importé d'Excel) où certains noms de colonnes ont un format de date (par exemple le 14 septembre). Mais il y a aussi d'autres colonnes. Vous trouverez ci-joint la table de données jmp Example1. Il y a deux problèmes.
Premier numéro:
J'ai besoin d'empiler les colonnes de date pour les avoir, par exemple sous forme de X dans une analyse de Graph Builder.Ce n'est pas très difficile (script dans Example1, mais le tableau sera un document vivant et de nouvelles colonnes seront ajoutées au fil des mois et donc je ne peux pas utilisez le script automatisé avec des colonnes codées en dur.
J'ai besoin d'extraire ces noms de colonnes avec une telle structure de date (mois AA) et de les empiler. J'ai essayé d'utiliser Get Column Name qui extrait la liste des colonnes:
colNames = Tableau de données ( "Exemple 1" ) << Obtenir les noms de colonne ;
montrer (colN ames ) ;
Mais je ne pouvais pas extraire uniquement ceux qui m'intéressaient. J'ai pensé à Regex () mais je n'ai pas pu le faire fonctionner de la manière que j'aimais.
Deuxième problème:
Ensuite, le numéro suivant apparaît. Le type de données sera caractère et nominal. Je voudrais qu'il soit numérique et ordinal (ou au moins caractère et ordinal mais dans la bonne série). Lors du changement de la propriété en numérique, j'ai eu beaucoup de valeurs manquantes, mais pas toutes.
Je ne sais pas ce que je fais de mal ici.
Merci de votre aide,
Martin
Re: Scripting: Récupération de la colonne certains noms d'une table de donnéesSalut Don,
Je comprends maintenant mieux la formule d'expression régulière que vous avez utilisée. Je pense que je peux l'ajuster à un usage général en ajoutant des conditions, par exemple au cas où il y aurait un mélange entre les noms de variables avec "Mois AA", "JJ Mois AA", "JJ.MM.YY" et ainsi de suite et l'ajuster à le format final.
Le mieux serait d'avoir un format d'entrée cohérent pour les noms de variables que JMP connaît.
Merci pour votre aide, vous m'avez mis sur la bonne voie avec votre exemple. Merci!
Martin
Re: Scripting: Récupération de la colonne certains noms d'une table de donnéesSalut Don,
Je suis arrivé vers la date de transfert en utilisant une construction if car le mot Count dépend s'il y a un nombre principal ou non:
Tableau de données actuel () << Nouvelle colonne ( "Nouvelle date" ,
Numérique ,
Ordinal ,
Format ( "ddMonYYYY" ) ,
Formule(
Si ( Est manquant ( Num ( Mot ( 1 , : Données ) ) ) ,
Date DMY (
1 ,
Rencontre ( Mot ( 1 , : Données ) ,
«Januar» , 1 ,
"Février" , 2 ,
"März" , 3 ,
"Avril" , 4 ,
"Mai" , 5 ,
"Juni" , 6 ,
«Juli» , sept ,
"Août" , 8 ,
"Septembre" , 9 ,
"Oktober" , dix ,
"Novembre" , 11 ,
"Dezember" , 12 ,
13
) ,
2000 + Num ( Mot ( 2 , : Données ) )
) ,
Date DMY (
Num ( Mot ( 1 , : Données ) ) ,
Rencontre ( Mot ( 2 , : Données ) ,
«Januar» , 1 ,
"Février" , 2 ,
"März" , 3 ,
"Avril" , 4 ,
"Mai" , 5 ,
"Juni" , 6 ,
«Juli» , sept ,
"Août" , 8 ,
"Septembre" , 9 ,
"Oktober" , dix ,
"Novembre" , 11 ,
"Dezember" , 12 ,
13
) ,
2000 + Num ( Mot ( 3 , : Données ) )
)
)
)
) ;
Mais j'ai toujours des problèmes concernant la formule d'expression régulière pour créer la liste regNames.
Martin
Re: Scripting: Récupération de la colonne certains noms d'une table de donnéesSalut Don,
J'ai essayé de travailler sur votre exemple. Cependant, j'obtiens une liste de regNames vide et donc le script de pile m'invite à tout saisir comme précédemment. Cela se traduit par une table de données dans laquelle le script de la nouvelle colonne ne fonctionnera pas en raison d'une liste manquante. De plus, la transformation de date ne fonctionne pas non plus pour moi.
Avez-vous essayé et est-ce que cela a fonctionné pour vous? Quels paramètres de langue avez-vous utilisés?
Merci,
Martin
Re: Scripting: Récupération de la colonne certains noms d'une table de donnéesMartin,
Je joins un script qui devrait résoudre les problèmes que vous rencontrez. Regex est particulièrement difficile à utiliser dans JSL et varie quelque peu des expressions régulières standard (bien que ce soit assez proche, il manque généralement certaines fonctionnalités). Les problèmes de date se produisent parce que JMP n'a pas reconnu les dates comme une information disponible, du moins je ne les ai pas vues sur ma version. Ma solution a analysé le nom et créé une nouvelle colonne avec des dates numériques. Il existe des solutions alternatives, même si je pensais que ce serait la plus simple. !