Ich weiß, dass das folgende Skript falsch ist:
a = {"a", "b", "b"};
b = [1,2,3];
c = [4,5,6];
Neue Tabelle ("SQL-Ergebnisse",
Neue Spalte ("a",
Charakter,
eingestellte Werte (a)
),
Neue Spalte ("b",
Formel (IF (: a == "a", eingestellte Werte (b), eingestellte Werte (c))
)
)
)
Wie ändere ich es, um die Ausgabe zu machen:
a 1
b 5
b 6
Die erste Zeile prüft also, ob Spalte 1 "a" ist. Ja, dann verwenden Sie b [1]. In der zweiten Zeile wird geprüft, ob Spalte 1 "a" ist. Nein, dann wird c [2] verwendet. In der dritten Zeile wird geprüft, ob Spalte 1 "a" ist. Nein, dann wird c [3] verwendet.
Vielen Dank!
So machen Sie, was Sie wollen.Bitte beachten Sie, dass JMP ein Problem in der Formel mit der Matrix-b-Referenz hatte, da die Formel so interpretiert wurde, dass sie auf die Spalte b verweist.Deshalb habe ich den Spaltennamen in b2 geändert.
Names Default To Here( 1 );
a = {"a", "b", "b"};
b = [1, 2, 3];
c = [4, 5, 6];
dt = New Table( "SQL Results",
New Column( "a", character, set values( a ) )
);
dt << New Column( "b2",
formula(
If( :a == "a",
b[Row()],
c[Row()]
);
)
);Nelson,
Ich danke dir sehr. Ich bin sehr dankbar für Ihre Hilfe.