Comment enregistrer des sous-ensembles dans des dossiers séparés avec un scriptJ'ai créé un script qui importera un fichier Excel et effectuera une analyse qui produira 3 sous-ensembles. Chaque sous-ensemble doit être un dossier différent, mais je veux que les sous-ensembles aient le même nom que le fichier Excel qui a été importé pour créer le sous-ensemble. Comment pourrais-je faire cela ou au moins nommer chaque sous-ensemble un nom spécifique et les enregistrer dans différents dossiers.
Scriptles fenêtresRe : Comment enregistrer des sous-ensembles dans des dossiers séparés avec un scriptVoici un exemple d'une façon de procéder
// Open a file and create 2 subsets and then save all 3 files to
// different folders, keeping the files open in the JMP session,
// and with their original name, but naming each subset in their
// folders where they are saved
Names Default To Here( 1 );
// open the Big Class data table.
dt = Open( "$SAMPLE_DATA/big class.jmp" );
// Create subset one with all Males, letting JMP provide the new data table name
dt << select where( :sex == "M" );
dtA = dt << subset( selected columns( 0 ), selected rows( 1 ) );
// Create subset two with all Females, giving JMP the name of the new table
dt << select where( :sex == "F" );
dtB = dt << subset( selected columns( 0 ), selected rows( 1 ), Output Table( "All Females" ) );
// The Save() function automatically changes the name of the data table being saved
// to the name being specified in the file name specified in the Path of the Save()
// function. Therefore to keep the original table the original name, it has to be
// renamed back to the original name.
holdName = dt << get name;
dt << save( "C:/folderA/MyName.jmp" );
dt << set name( holdName );
// Repeat the save for the first subset
holdName = dtA << get name;
dtA << save( "C:/folderB/MyName.jmp" );
dtA << set name( holdName );
// Repeat for the second subset. The name of this subset has been specifically provided
// so the handling of this can be a little different
Data Table( "All Females" ) << save( "C:/folderC/MyName.jmp" );
Data Table( "MyName" ) << set name( "All Females" );
Re : Comment enregistrer des sous-ensembles dans des dossiers séparés avec un scriptEn plus de @txnelson 's réponse détaillée, vous voudrez peut-être jeter un œil à la fonction ConvertFilePath .Bien que, comme son nom l'indique, il puisse être utilisé pour convertir des chemins de fichiers (par exemple, des formats Windows aux formats MacOS, ou des chemins relatifs aux chemins complets), je l'aime car il me permet de manipuler les chemins de fichiers tout en gardant le nom du fichier et les informations de répertoire séparés , sans avoir à se soucier de la concaténation des chaînes.
par exemple
projectHomeFolder = FilePathDefinitions:getProjectHome();
path = convertFilePath("Master_Table.jmp",base(projectHomeFolder));Re : Comment enregistrer des sous-ensembles dans des dossiers séparés avec un scriptMerci beaucoup! C'était incroyablement utile