recherche et remplacement d'en-tête de colonneSalut,
Je peux remplacer le nom de l'en-tête de colonne par le nom exact en utilisant : height << Définir le nom ("test");
Si j'ai une liste de texte, je veux remplacer par "".
Comment dois-je procéder?
"nom" "Heure" "sexe" "hauteur abc poids" "poids xyz" "12 test de taille"
KATIE 12 F 59 95 59
LOUISE 12 F 61123 61
Sortie finale:
"nom" "Heure" "sexe" "abc" "xyz" "12 test"
Names Default To Here( 1 );
dt = Open( "C:/JSL/BigClass.jmp" );
headerList = dt << get column names( string );
//:height << Set Name( "test" );
For( i = 1, i <= N Items( headerList ), i++,
If( (headerList[i] == "height" || headerList[i] == "weight"), //trying to find any column header has height or weight and replace with ""
Column( dt, colList[i] ) << set name( " " ) //above are just two examples, maybe put it in list and loop?
)
);
ScriptingRe: recherche et remplacement d'en-tête de colonneSalut Sam,
J'ai trouvé 2 problèmes dans votre script:
- Vous avez utilisé la concaténation "||" code pour représenter votre instruction "Or" (devrait être "|")
- JMP ne permet pas que la colonne soit nommée "".
En outre, il est généralement plus rapide et plus facile d'appeler la colonne par numéro au lieu d'itérer dans la liste des noms de colonne.
Alors, voici ce que j'ai trouvé:
Names Default To Here( 1 );
dt = Open( "C:\Program Files\SAS\JMP\14\Samples\Data\Big Class.jmp" );
headerList = dt << get column names( string );
For( i = 1, i <= N Items( headerList ), i++,
If( (headerList[i] == "height" | headerList[i] == "weight"), //Fixed the "Or" statement
Column( dt, i ) << set name(substitute (headerList [i], "e", "x")) //Used the substitute function as an example, you can replace any string with ""?
)
);
Re: recherche et remplacement d'en-tête de colonneJ'ai essayé de définir la liste à l'avance et de faire une double boucle imbriquée. Il ne remplace que sur stringReplace [3].
headerList = dt << get column names( string );
stringReplace = List();
stringReplace[1] = "height";
stringReplace[2] = "e";
stringReplace[3] = "a";
For( i = 1, i <= N Items( headerList ), i++,
For( j = 1, j <= N Items( stringReplace ), j++,
Column( dt, i ) << set name( Substitute(headerList[i], stringReplace[j], "" ) )
);
);