Aide à faire une transformation de table et à convertir un horodatage?J'ai donc un tableau de données d'un capteur dont je ne sais pas trop comment le formater correctement. C'est un capteur de lumière qui produit des lectures de tension.
La première colonne du tableau est la longueur d'onde mesurée, puis il y a plus de 100 colonnes pour chaque instance de temps où elle mesure des données.
Comment pourrais-je transformer ou faire pivoter cela correctement? Une simple transposition de tableau serait-elle la bonne activité?
Ensuite, des conseils sur la façon de convertir l'horodatage brut en une série temporelle utilisable? Cela ressemble à ça.
JJ-MM-AAAAYTHH: MM: SS. ### Z
que puis-je faire pour convertir cela en une valeur de série temporelle utilisable à tracer comme un axe x? C'est au millième de seconde, incréments de 0,1 s.
Bonus, comment faire cela pour trouver le min et le max et normaliser le temps à 0 -> max?
...
14-07-2020T22:47:31.400Z
14-07-2020T22:47:31.500Z
14-07-2020T22:47:31.600Z
14-07-2020T22:47:31.700Z
14-07-2020T22:47:31.800Z
14-07-2020T22:47:31.900Z
...
Tableau de donnéesGraphiqueScriptingRe: Aide à faire une transformation de table et à convertir un horodatage?Je pense que tout ce dont tu as besoin c'est Tables-> Pile mettre vos colonnes de temps dans le rôle Stack Columns.
Vous devriez vous retrouver avec deux colonnes, longueur d'onde et heure.
Quant à la conversion de votre horodatage en une colonne datetime JMP, Mot() et Informat () est-ce que je vais ici:

Lectures complémentaires:
Si vous apprenez une seule fonction de l'éditeur de formule, Word () est celle
Utilisation des dates, heures, datetimes et durées dans JMP
Re: Aide à faire une transformation de table et à convertir un horodatage?Concernant vos données, je vous suggère de vous pencher sur l'empilement des colonnes. Ce formulaire vous donnera plus d'outils JMP pour l'analyse.
En ce qui concerne votre problème d'horodatage ... voici un exemple de script qui prend une colonne d'entrée appelée "TS" et la convertit en une colonne JMP Date / Time.
Names default to here(1);
dt = New Table( "Example",
Add Rows( 6 ),
New Column( "TS",
Character,
"Nominal",
Set Values(
{"14-07-2020T22:47:31.400Z", "14-07-2020T22:47:31.500Z",
"14-07-2020T22:47:31.600Z", "14-07-2020T22:47:31.700Z",
"14-07-2020T22:47:31.800Z", "14-07-2020T22:47:31.900Z"}
)
)
);
dt << New Column( "Column 2",
Numeric,
"Continuous",
Format( "d/m/y h:m:s", 26, 3 ),
Input Format( "d/m/y h:m:s", 0 ),
Formula( Informat( Word( 1, :TS, "Z" ), "d/m/y h:m:s" ) )
);Re: Aide à faire une transformation de table et à convertir un horodatage?Jeff,
Je suppose que mon âge montre ..... vous m'avez battu à nouveau à la réponse.
Re: Aide à faire une transformation de table et à convertir un horodatage?Merci Jim et Jeff, ils fonctionnent très bien! Je lis maintenant sur word ().
Question sur les horodatages: comment convertirais-je cela en une durée brute? Je vois qu'il existe la formule "Différence de date", mais il semble qu'elle ait besoin de deux colonnes. Comment en faire une série chronologique commençant à 0,000s -> temps maximum?
Question sur le script de la commande stack: en regardant le script, il a une ligne unique pour chaque colonne .... comment rendre cette dynamique pour la prochaine fois que je tire ce fichier de données?
Data Table( "Sheet1" ) << Stack(
columns(
:Name( "14-07-2020T22:47:31.400Z" ),
:Name( "14-07-2020T22:47:31.500Z" ),
:Name( "14-07-2020T22:47:31.600Z" ),
....for every column...
),
Source Label Column( "TimeStamp" ),
Stacked Data Column( "data" ),
Output Table( "sensor table" )
)
Re: Aide à faire une transformation de table et à convertir un horodatage?Pour convertir une colonne d'horodatage (date / heure JMP) en une seule valeur d'heure, utilisez la fonction Heure du jour (). Il renvoie effectivement le nombre de secondes entre le minuit précédent et l'heure de la mesure.
Concernant l'empilement lorsque les noms de colonnes changent de jour en jour ...... il est simple d'obtenir une liste des colonnes de la table de données, puis d'appliquer cette liste aux instructions de Stack Platform. Le message à transmettre à la table de données pour récupérer les noms de colonnes est dt << get column names ().
Serait-il possible de joindre un exemple de tableau de données ou de feuille de calcul de vos données. Il est assez difficile de voir les spécificités des données d'entrée, ce qui peut entraîner la transmission de fausses directions.Re: Aide à faire une transformation de table et à convertir un horodatage?Voir le sous-ensemble attaché (pré-empilé).
Je reçois l'heure de la journée, mais dois-je me prémunir contre les conditions lorsqu'une course a lieu à minuit et que le jour change? Je le remets à zéro en faisant [heure du jour () - col minimum (heure du jour ())
Re: Aide à faire une transformation de table et à convertir un horodatage?Voici un petit script qui devrait vous donner une bonne "longueur d'avance" pour mettre vos données dans un format analytique. Il prend votre exemple de table de données et crée:

names default to here(1);
dt=current data table();
// Get the column names from the data table
colNames = dt << get column names;
// Remove Lamda from the list
remove from(colNames,1,1);
// Stack the data
dtStack = dt << Stack(
columns(
colNames
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Output Table( "Stacked" )
);
// Create a new JMP DateTime column
dtStack << New Column( "Timestamp",
Numeric,
"Continuous",
Format( "d/m/y h:m:s", 26, 3 ),
Input Format( "d/m/y h:m:s", 0 ),
Formula( Informat( Word( 1, :Label, "Z" ), "d/m/y h:m:s" ) )
);
// Remove formula to convert column to static values
dtStack:Timestamp << delete formula;
// Create the Time variable
dtstack << New Column( "Time",
Numeric,
"Continuous",
Format( "hr:m:s", 17, 3 ),
Input Format( "hr:m:s", 0 ),
Formula( Time Of Day( :Timestamp ) )
);
// Get rid of no longer needed "Label" column
dtStack << delete columns( "Label" );
Re: Aide à faire une transformation de table et à convertir un horodatage?Impressionnant Jim!
quelques questions pour voir ce que vous en pensez:
- comment se prémunir contre une course qui passe de minuit au lendemain? l'utilisation de Time of Day pour obtenir une valeur absolue ou la normaliser pour démarrer à zéro serait affectée par une exécution s'étendant sur 2 jours.
- Réflexions sur la conversion de la colonne Lambda en colonne de caractères? C'est essentiellement une étiquette, donc ça ne devrait pas être numérique, non? Sa mesure à plusieurs longueurs d'onde t puis trace les données en fonction du temps.
- comment pourrais-je intégrer le fichier original dans la table de données nouvellement créée? J'ai changé le dt initial = -> en une boîte de dialogue d'ouverture de fichier.
