Aide avec la déclaration IfJ'essaie actuellement d'écrire un script qui lit une colonne de ma table de données et exécute un ensemble différent de fonctions en fonction de la valeur de cette colonne. Par example,
Si les données de la colonne A = A, créez une nouvelle colonne appelée "A" et exécutez les fonctions (A à C) ci-dessous.
Si les données de la colonne A = B, créez une nouvelle colonne appelée "B" et exécutez les fonctions (D à F) ci-dessous à la place.
Sinon, créez une nouvelle colonne appelée "N / A".
Lorsque j'exécute mon script, il crée toujours la nouvelle colonne "N / A" même si la valeur est "A" ou "B". Il n'exécutera aucune des fonctions que j'ai écrites pour les conditions «A» et «B». J'ai l'impression de manquer quelque chose de très évident.
dt = tableau de données actuel ();
Si(
: Colonne A == "A", dt << Nouvelle colonne ("A", caractère, nominal),
Fonction A
Fonction B
Fonction C
: Colonne B == "B", dt << Nouvelle colonne ("B", caractère, nominal),
Fonction D
Fonction E
Fonction F
dt << Nouvelle colonne ("N / A", caractère, nominal)
)
ScriptingRe: Aide avec la déclaration IfSi les secrets pourrait aider. Des virgules séparent les clauses dans une instruction if. Déclarations séparées par des points-virgules dans une clause.
Vous voulez probablement quelque chose comme ça
dt = Current Data Table();
If( :Column A == "A", // condition, followed by a comma
dt << New Column( "A", character, nominal ); // one or more stmts
Function A(); // with ; separators
Function B();
Function C(); // last statement has optional ; and required comma next line
, /* else if */ :Column B == "B", // 2nd condition followed by comma
dt << New Column( "B", character, nominal );
Function D();
Function E();
Function F() // again, another comma. ; ommited for example...I prefer to use them
, /* else */
dt << New Column( "N/A", character, nominal ) // no more commas, this is the otherwise
);J'aime mettre en retrait et commenter le / * else if * / et / * else * / pour faciliter le suivi.
Re: Aide avec la déclaration IfCompte tenu des scénarios que vous avez spécifiés, le script ci-dessous génère les 3 cas
A existe dans la colonne A
B existe dans la colonne B
Ni A ni B n'existent

Names Default To Here( 1 );
A = Function( {},
Show( "Function A" )
);
B = Function( {},
Show( "Function B" )
);
C = Function( {},
Show( "Function C" )
);
D = Function( {},
Show( "Function D" )
);
EE = Function( {},
Show( "Function EE" )
);
F = Function( {},
Show( "Function F" )
);
// First Example Column A has the value A
dt1 = New Table( "Example1",
Add Rows( 1 ),
New Column( "Column A", Character, "Nominal", Set Values( {"A"} ) ),
New Column( "Column B", Character, "Nominal", Set Values( {""} ) )
);
Wait( 5 );
If(
:Column A[1] == "A",
dt1 << New Column( "A", character, nominal );
A();
B();
C();,
:Column B[1] == "B", dt1 << New Column( "B", character, nominal );
D();
EE();
F();
,
dt1 << New Column( "N/A", character, nominal )
);
// Second Example Column B has the value B
dt2 = New Table( "Example2",
Add Rows( 1 ),
New Column( "Column A", Character, "Nominal", Set Values( {""} ) ),
New Column( "Column B", Character, "Nominal", Set Values( {"B"} ) )
);
Wait( 5 );
If(
:Column A[1] == "A",
dt2 << New Column( "A", character, nominal );
A();
B();
C();,
:Column B[1] == "B", dt2 << New Column( "B", character, nominal );
D();
EE();
F();
,
dt2 << New Column( "N/A", character, nominal )
);
// Third Example Neither column A has and A nor Column B has a B
dt3 = New Table( "Example3",
Add Rows( 1 ),
New Column( "Column A", Character, "Nominal", Set Values( {""} ) ),
New Column( "Column B", Character, "Nominal", Set Values( {""} ) )
);
Wait( 5 );
If(
dt3:Column A[1] == "A",
dt3 << New Column( "A", character, nominal );
A();
B();
C();,
dt3:Column B[1] == "B", dt3 << New Column( "B", character, nominal );
D();
EE();
F();
,
dt3 << New Column( "N/A", character, nominal )
);
Je suppose que ce n'est pas ce que tu veux