L'instruction If ne fonctionne pas dans jslSalut tout le monde.
Pouvez-vous s'il vous plaît vérifier quel est le problème avec mon instruction if ? Je souhaite exécuter plusieurs commandes jsl au cas où la condition serait vraie (dans mon cas, que le nom du fichier de spécifications soit tel qu'écrit dans le code) mais cela ne fonctionne pas.
Tout le reste fonctionne bien, seule l'instruction if ne fonctionne pas.
Ma version de JMP est 18
dt = Current Data Table();
dt << Select Columns( :PARAMETER );
dt << Text To Columns( delimiter( "_" ) );
dt << delete columns( :PARAMETER 1 );
If( :SPECFILE == "MS-SMLD",
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
:PARAMETER 5 << set name( "Column_name4" );
:PARAMETER 6 << set name( "Column_name5" ) ;
,
If( :SPECFILE == "SMLA", Formula(
dt << delete columns( :PARAMETER 5 );
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
)
)
);
Merci,
Reshef
FenêtresRe: L'instruction If ne fonctionne pas dans jslCela pourrait suffire si vous changiez : SPECFILE en SPECFILE ( : SPECFILE ferait (généralement) référence à une colonne).
Re: L'instruction If ne fonctionne pas dans jslSalut.
Merci ! mais le "SPECFILE" est en effet une colonne dans ma table jmp.
Bref, j'ai essayé et ça ne marche pas.
C'est peut-être ce qui sépare les commandes jsl dans mon instruction IF ?
Ou peut-être est-il impossible d’exécuter plusieurs commandes jsl dans une seule instruction IF ?
Merci,
Reshef
Re: L'instruction If ne fonctionne pas dans jslEnsuite, vous devez définir la ligne (Row() = 1 ; par exemple) ou effectuer une boucle sur les lignes de votre tableau en utilisant For Each Row. La ligne « par défaut » dans JMP est 0, ce qui n'est pas une ligne valide
Re: L'instruction If ne fonctionne pas dans jslSi ce que vous essayez de faire est de regarder la valeur de la ligne 1 dans la colonne « SPECFILE » et de prendre ensuite des décisions en fonction de celle-ci, le JSL ci-dessous sera ce que vous voulez
Names Default To Here( 1 );
dt = Current Data Table();
dt << Select Columns( :PARAMETER );
dt << Text To Columns( delimiter( "_" ) );
dt << delete columns( :PARAMETER 1 );
If(
:SPECFILE[1] == "MS-SMLD",
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
:PARAMETER 5 << set name( "Column_name4" );
:PARAMETER 6 << set name( "Column_name5" );,
:SPECFILE[1] == "SMLA",
dt << delete columns( :PARAMETER 5 );
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
);