Erstellen Sie lokale Variablen, die Listen aus Spaltennamen enthaltenHallo zusammen,
Benötigen Sie Ihre Hilfe beim Erstellen mehrerer lokaler Variablen, die Spaltennamen innerhalb von Variablennamen enthalten.
Ich habe versucht, diesen Fehler zu machen.
Irgendwelche Vorschläge?
für (j = 1, j <= ncol (dt), j ++,
local (parse (char (Spaltenname (j)) || "key") = Assoziatives Array (column (j) << Get Values) << Schlüssel erhalten));
Betreff: Erstellen Sie lokale Variablen, die Listen aus Spaltennamen enthaltenIch danke. Das ist großartig, ich habe zwei Tage lang gekämpft, um es zu lösen, ich schätze das
Betreff: Erstellen Sie lokale Variablen, die Listen aus Spaltennamen enthaltenOK. Hier ist eine Möglichkeit, und ich bin sicher, dass es andere geben wird:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
varList = {};
For( j = 1, j <= N Col( dt ), j++,
varName = (Column(dt, j ) << getName)||"_keys";
keys = Associative Array( Column(dt, j ) << Get Values ) << get keys;
makeVar = Expr(LHS = RHS);
SubstituteInto(makeVar, Expr(LHS), Parse(varName), Expr(RHS), Eval(keys));
makeVar;
InsertInto(varList, Parse(varName));
);
Print(varList);
Print(EvalList(varList));Betreff: Erstellen Sie lokale Variablen, die Listen aus Spaltennamen enthaltenian thx,
Meine Absicht ist, dass für jede Liste, die mit der assoziativen Aray-Funktion erstellt wurde, auch ein eindeutiger Variablenname vorhanden ist, der den übereinstimmenden Spaltennamen enthält.
Zum Beispiel: Wenn ich zwei Spalten habe: Entity und Lot, dann bekomme ich zwei lokale Variablen:
Entitykey = {entity1, entity2}
Lotkey = {Lot1, Lot2} ....
Und so weiter für alle Spalten in der Tabelle
Betreff: Erstellen Sie lokale Variablen, die Listen aus Spaltennamen enthaltenNicht sicher, dass ich Ihre Verwendung von 'Local ()' verstehe, aber ist dies nah an dem, was Sie möchten?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
keyVarList = {};
For( j = 1, j <= N Col( dt ), j++,
keys = Associative Array( Column( j ) << Get Values ) << get keys;
InsertInto(keyVarList, EvalList(List(keys)));
);
for(j = 1, j <= NItems(keyVarList), j++,
Print(keyVarList[j]);
);