Hallo zusammen
Entschuldigung für die Störung,
Ich muss jetzt die neue Spalte erstellen, ich kann die Spalte erstellen, aber jetzt stehe ich vor dem Problem in der Spalte, dort ist eine Formel. Dann weiß ich nicht, wie ich die Parameter und den Zielwert aus der Excel-Datei ermitteln kann. (hier gemeint: -0.438 und 0.717 (Ziel) und der (Parameter) I_P2A GSVT .6 / .045 und I_N2A GSVT.3 / .045) Ich muss den Zielwert und die Parameter aus der Excel-Datei ziehen, die ich erstellt habe, ohne das einzugeben Formel im Inneren. Kann man es also machen? (Anhang unten).
Aber jetzt habe ich zwei Probleme gehabt:
Erstes Problem:
TargetVal = dtExcels:Target[dtExcels << Get Rows Where( dtExcels:Parameters == "I_P2A GSVT .6/.045 " )];
TargetVal = dtExcels:Target[dtExcels << Get Rows Where( dtExcels:Parameters == "I_N2A GSVT .3/.045" )];
Wenn ich diese beiden Sätze zusammen laufe, kommt es zu einem Fehler. Aber wenn ich den Satz separat ausführe, kann der erste Satz den Zielwert finden, der aus der Excel-Datei stammt, aber die zweiten Sätze können den Zielwert nicht finden. Es kommt ein leerer Wert {}.
Dieser Fehler wird für beide Sätze angezeigt, wenn ich zusammen renne:
Der Ausdruck passt beim Zugriff oder bei der Bewertung von 'Bad Argument' nicht auf die verfügbaren Spaltentypen {1}.
Zweites Problem:
Wenn ich die Formel durch Folgendes ersetze: Formel ((_ TheNames_) - (_TheValue_) / ((_ Sigma_) * (_TheNames_)),
Dann wird mir dieser Fehler angezeigt:
Spalte NEW_I_P2A_GSVT Formel unterbrochen
Listen und Matrizen können nicht 1 Mal gemischt werden. In Zeilen: 2 Vorgang: Multiplizieren, [0.0231] * / * ### * / {"I_P2A GSVT .6 / .045"} / * ### * /
Formelauswertungsfehler wurden ignoriert
Und die zweiten Namen für I_N2A GSVT.3 / .045, das Skript kann nichts ausführen. Ich denke, wird durch das erste Problem verursacht.
Vielen Dank.
Ich denke, das ist was Sie versuchen zu tun:
Names Default To Here( 1 );
dt_raw_dataset1 = Current Data Table();
dtExcels = Open( "C:\Users\pkh\Desktop\Imat_UI\Book1.xlsx", "invisible" );
For( i = 1, i <= N Rows( dtExcels ), i++,
Eval(
Substitute(
Expr(
Try( dt_raw_dataset1 << Delete Column( __ColName__ ) );
Try( dt_raw_dataset1 << New Column( __ColName__,
,
Numeric,
"Continuous",
Formula( (__TheNames__) - (__TheTarget__) / ((__TheSigma__)) * (__TheNames__) ),
Set Selected
));
),
Expr( __ColName__ ), "NEW_" || Char( Word( 1, dtExcels:Parameters[i], " " ) ),
Expr( __TheNames__ ), Parse( ":name(\!"" || dtExcels:Parameters[i] || "\!")" ),
Expr( __TheTarget__ ), dtExcels:Target[i],
Expr( __TheSigma__ ), dtExcels:Sigma[i]
)
)
);