cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
MargauxR
Level III

Enregistrement de plusieurs base de données - script

Bonjour à tous,

Je voudrais faire un script automatique pour extraire les données d'un fichier en .csv qui enregistre des log d'une machine.

Le fichier est horrible, avec aucune logique.

J'ai réussi à faire le script pour obtenir les données, mais j'obtiens à la fin une table de données d'où je fais une extraction de table par log. selon le fichier je n'ai pas le même nombre de log et donc pas le même nombre de table de données.

Je voudrais pouvoir les enregistrer individuellement, ou même plutôt les enregistrer sous csv, afin que mes collègues puissent les utiliser.

 

Je termine mon script avec ces requêtes, et j'obtiens une liste de table de données. Pouvez vous m'aider ??

ext = dt3 << Subset(
	By(:Name),
	All rows,
	Selected columns only(0),
	columns(
		:Time, :T1, :T2, :T7, :M1, :M2, :EV12, :EV13, :EV14, :"L-EV12"n, :"L-EV13"n, :"L-EV14"n,
		:BR1, :"L-BR1"n, :PR2, :PR3, :PR4, :SPT1, :SPT2, :Curve T1, Number of heating cycles,
		Date, Batch, Loading temperature, Heating cycle number, Heating cycle, Duration
	)
)
Edit (jthi): added jsl formatting
Margaux R
7 REPLIES 7
hogi
Level XIII

Re: Enregistrement de plusieurs base de données - script

Once you have all the data in JMP it's a pleasure to continue in JMP.
When you export the data as csv or excel, you will loose all the cool possibilities.
Better: store the table as a JMP table.

On the other hand: parse data - without the goal to process the data i JMP?
This can be done much better in Python.

MargauxR
Level III

Re: Enregistrement de plusieurs base de données - script

Merci pour ce retour !

Effectivement, il y a plusieurs buts :

- pour moi : continuer à travailler les données sous jmp, mais finalement je n'ai pas besoin des données extraites, mais juste de la table concatenée, et ça c'est bon je l'option avec mon script !

- Pour mes collaborateurs que je n'ai pas encore réussi à convertir à JMP ;) : Pouvoir avoir un accès rapide aux data séparées. Mais je reste avec l'espoir qu'ils finissent par passer sur JMP !

 

Merci en tout cas !

Margaux R
jthi
Super User

Re: Enregistrement de plusieurs base de données - script

When you are using By with subset you will get a list of datatable references which you can then loop over and do whatever you wish to do with it. 

Names Default To Here(1); 

dt = Open("$SAMPLE_DATA/Big Class.jmp");

subsets = dt << Subset(
	By(:age),
	All rows,
	Selected columns only(0),
	columns(:name, :sex, :height, :weight)
);
Show(subsets);

For Each({dt_subset}, subsets,
	// do something here
	Show(dt_subset << get name);
	
	wait(0);
	// close after done
	Close(dt_subset, no save);
);

Show(subsets);

You can find example of saving .csv from Scripting Index under Data Table > Save

-Jarmo
MargauxR
Level III

Re: Enregistrement de plusieurs base de données - script

Merci pour ce retour !

Mais je reste coincée avec la fonction save ...

Je ne sais pas où la positionner pour que cela fonctionne, j'ai tenté cela, mais ça ne fonctionne pas ...

For Each({dt_subset}, ext,
Show(dt_subset << get name);
);
 
For Each({dt_subset}, ext,
dt_subset<< save;
);

 

Margaux R
jthi
Super User

Re: Enregistrement de plusieurs base de données - script

Names Default To Here(1); 

dt = Open("$SAMPLE_DATA/Big Class.jmp");

subsets = dt << Subset(
	By(:age),
	All rows,
	Selected columns only(0),
	columns(:name, :sex, :height, :weight)
);
Show(subsets);

For Each({dt_subset}, subsets,	
	dt_subset << Save("$TEMP/" || (dt_subset << get name) || ".jmp");	
	wait(0);
	// close after done
	Close(dt_subset, no save);
);

Show(subsets);

Open("$TEMP");
-Jarmo
MargauxR
Level III

Re: Enregistrement de plusieurs base de données - script

Tout fonctionne parfaitement !!

Merci beaucoup !!

Margaux R
lala
Level IX

回复: Enregistrement de plusieurs base de données - script

If the CSV has no pattern, use regular expressions to replace it

Recommended Articles