Betreff: Anwenden einer Liste auf mehrere SpaltenHallo @sagrim ,
Ich denke, Sie sind auf dem richtigen Weg, nur eine leichte Fehlcodierung in der "If" -Anweisung. In Ihrem speziellen Beispiel denke ich, dass es sein sollte:
new column ("Org-Approved Certification", Numeric, Nominal) << Formula(
If( Contains (mylist, :"ONE_LICENSE_CODE") | If( Contains (mylist, :"TWO_LICENSE_CODE")), 1, 0
)
); Im Allgemeinen möchten Sie also, dass es so ist:
If (A | B | C, dann, else), aber Sie hatten es eher wie: If (A, dann, else | B, dann, else), was nicht der richtige Weg ist, um die If-Funktion aufzurufen.
Ich habe eine Scheindatentabelle erstellt, die meiner Meinung nach der Struktur entspricht, mit der Sie arbeiten - siehe angehängte Datei. Außerdem habe ich das folgende Skript geschrieben, das die Formel auf die von der Organisation genehmigte Zertifizierung anwendet. Ich glaube, das funktioniert so, wie Sie es beabsichtigt haben - ich hoffe es!
names default to here(1);
mylist={"cert1", "cert2", "cert3","cert4", "cert5", "cert6"};
dt=current data table();
dt:Name("Org-App Cert")<<FORMULA></FORMULA>Hoffe das hilft!,
DS
Anwenden einer Liste auf mehrere SpaltenIch habe eine lange Liste von Zertifizierungsakronymen, die als "meine Liste" gespeichert sind. Ich bin einfach daran interessiert, eine binäre Variable zu erstellen, um darzustellen, ob jede Mitarbeiterin eine Zertifizierung besitzt, deren Akronym in der Liste Ja / Nein vorkommt. Wenn ich die Liste auf eine Spalte anwende, funktioniert der Code hervorragend.
New Column( "Org-Approved Certification", Numeric, Nominal ) << Formula(
If( Contains( mylist, :"ONE_LICENSE_CODE" ),
1,
0
)
);
Wenn ich die Liste jedoch auf mehrere Spalten gleichzeitig anwenden möchte, wird der Code fehlerfrei ausgeführt, erzeugt jedoch nicht den richtigen Wert. Ich habe 10 Spalten, von denen jede das Akronym enthalten könnte, daher muss ich alle 10 Spalten auf Akronyme in der Liste überprüfen.
New Column( "Org-Approved Certification", Numeric, Nominal ) << Formula(
If(
Contains( mylist, :"ONE_LICENSE_CODE" ), 1,
0 | If( Contains( mylist, :"TWO_LICENSE_CODE" )
), 1,
0
)
);
Gibt es eine Möglichkeit, beim Anwenden der Liste auf mehrere Spalten gleichzeitig zu verweisen?
Vielen Dank!
Betreff: Anwenden einer Liste auf mehrere SpaltenDas funktioniert perfekt. Vielen Dank, dass Sie sich die Zeit genommen haben, um zu erklären, wo ich falsch gelaufen bin. Das hat mir sehr geholfen:
"If (A | B | C, dann, else), aber Sie hatten es eher wie: If (A, dann, else | B, dann, else), was nicht der richtige Weg ist, die If-Funktion aufzurufen."
Betreff: Anwenden einer Liste auf mehrere SpaltenGroß! Ich bin froh, dass es funktioniert hat und es hat geholfen.