Comment remplacer les lignes vides dans les colonnes sélectionnées ?Bonjour la communauté JMP,
J'ai une table de données dans laquelle les colonnes ont un nom spécifique, j'ai d'abord écrit le script pour sélectionner ces colonnes, et je veux remplacer les lignes vides de ces colonnes par "REF", mais d'autres colonnes sans ces noms spécifiques ne changeront pas, comment puis-je faire cela avec JSL? Merci.

Tableau de donnéesRe : Comment remplacer les lignes vides dans les colonnes sélectionnées ?Merci beaucoup!Re : Comment remplacer les lignes vides dans les colonnes sélectionnées ?Salut Sing,
Je pense qu'il y a deux problèmes dans votre script,
1er: votre si référencé la mauvaise liste (Col_List)
2ème : l'action n'est pas à l'intérieur de votre instruction if, mais après, donc if ne peut pas contrôler l'action.
Essayez le script ci-joint, il devrait faire l'affaire. En plus du script de Jim, j'ai ajouté les modifications dont vous pourriez avoir besoin.
Names Default To Here( 1 );
dt = New Table( "test",
New Column( "A::LotData", "Character", set values( {"", "YES", ""} ) ),
New Column( "B::LotData", "Character", set values( {"", "YES", ""} ) ),
New Column( "C::LotData", "Character", set values( {"", "YES", ""} ) ),
New Column( "D::Test", "Character", set values( {"", "Test", ""} ) ),
New Column( "value", set values( {1, 2, 3} ) )
);
colNameList = dt << get column names( string, character );
For( i = 1, i <= N Items( colNameList ), i++,
Try(
If( Contains( colNameList[i], "::LotData" ),
As Column( dt, colNameList[i] )[dt << get rows where( As Column( dt, colNameList[i] ) == "" )] = "REF"
),
)
);Re : Comment remplacer les lignes vides dans les colonnes sélectionnées ?Salut txnelson,
J'ai essayé le script que vous avez donné, mais cela remplacera également la colonne de valeur. Puis-je uniquement remplacer la colonne par des données de lot ?
J'ai écrit ce script mais je ne comprends pas ce qui ne va pas.
dt = Current Data Table();
colNameList = dt << get column names( string, character );
For( i = 1, i <= N Items( colNameList ), i++,
Try(
If(Contains(Col_List[i], "::LotData")),
As Column( dt, colNameList[i] )[dt << get rows where( As Column( dt, colNameList[i] ) == "" )] =
"REF"
)
);
Re : Comment remplacer les lignes vides dans les colonnes sélectionnées ?Salut,
Une autre solution sans script consiste à sélectionner vos trois colonnes, cliquez avec le bouton droit sur les en-têtes> Standardiser les attributs> Recoder> remplacez les blancs par "REF".
ATTENTION : Le recodage ne peut pas être annulé. Veillez donc à enregistrer votre tableau avant de suivre les étapes ci-dessus.
Meilleur,
TS
Re : Comment remplacer les lignes vides dans les colonnes sélectionnées ?Voici un petit script qui parcourt toutes les colonnes de caractères, puis dans chaque colonne, trouve toutes les lignes qui ont des cellules vides et les définit sur REF
Names Default To Here( 1 );
dt = Current Data Table();
// Get the column names for all character columns
colNameList = dt << get column names( string, character );
For( i = 1, i <= N Items( colNameList ), i++,
Try(
As Column( dt, colNameList[i] )[dt << get rows where( As Column( dt, colNameList[i] ) == "" )] =
"REF"
)
);