So lösen Sie das Problem mit der Formel für die SpalteCode:
If(
!Contains(col_name_list, "EFT (h)"),
Current Data Table() << New Column(
"EFT (h)",
Numeric,
Continuous,
Format("Fixed Dec", 10, 1),
Formula(
:Name( "duration" ) * 24
)
)
);
Fehler:
Unerwartetes ")". Möglicherweise fehlt ein ";" oder ",".
Zeile 9 Spalte 6: ))►)
Der verbleibende Text, der ignoriert wurde, war
)
Lösungsproblem mit der Formel für Spalte EFT (h):
Ich kann nicht herausfinden, was das sein könnte.
Ich habe das auch versucht:
If(
!Contains(col_name_list, "EFT (h)"),
Current Data Table() << New Column(
"EFT (h)",
Numeric,
Continuous,
Format("Fixed Dec", 10, 1),
Formula(:duration * 24)
)
);
Automatisierung und SkriptingDatenzugriffDatenzusammenführung und -bereinigungBetreff: So lösen Sie das Problem mit der Formel für die SpalteIf(
!Contains(col_name_list, "EFT (h)"),
Current Data Table() << New Column(
"EFT (h)",
Numeric,
Continuous,
Format("Fixed Dec", 10, 1),
Formula(
:Name( "EFT (h)" ) * 24
)
)
);
mit diesem
Betreff: So lösen Sie das Problem mit der Formel für die SpalteBitte beachten Sie, dass in der letzten Version die Spalte „Dauer“ durch die Spalte „EFT(h)“ ersetzt wurde.
Um Probleme mit Kommas zu finden, können Sie auf eine Klammer doppelklicken und die entsprechende Klammer wird ebenfalls markiert – zusammen mit dem beigefügten Skript.
Eine andere Option: Verwenden Sie ein Neuformatierungsskript.
Es funktioniert wie das Ausführen des Codes: Die Syntax wird überprüft und im Fehlerfall wird die Zeile mit dem Fehler im Protokoll angezeigt.

Wenn Sie solche Prüfungen durchführen, gibt es keine Probleme mit Kommas in Ihrem Code.
Neben manuellen Überprüfungen ist eine gewisse Automatisierung hilfreich, z. B. die automatische Einfärbung des Codes, wie in diesem Wunsch vorgeschlagen:
Erweiterte Syntaxhervorhebung im JSL-Editor – wertet die Funktion ihr Argument aus?
Betreff: So lösen Sie das Problem mit der Formel für die SpalteDas komplizierteste Problem bei unausgeglichenen Klammern:
for ( i=1, i < 10, i++,
list = { A, B, C ;
E+F;
);

... die Probleme mit „ausgeglichenen“ Klammern.
Wenn Sie den Cursor hinter die schließende Klammer positionieren, wird die entsprechende öffnende Klammer angezeigt:

Also alles ok? Warum stößt die Fehlermeldung auf das schließende ")"?
JMP hat einen Hinweis:

Schauen wir uns also die geschweiften Klammern an ...
Interessant, in Ihrem Fall war der Vorschlag:

?
Betreff: So lösen Sie das Problem mit der Formel für die SpalteBeide Skripte funktionieren bei mir einwandfrei
Names Default To Here(1);
col_name_list = {};
dt = New Table("table",
New Column("duration", Numeric, Continuous, Values([1]))
);
If(!Contains(col_name_list, "EFT (h)"),
Current Data Table() << New Column("EFT (h)",
Numeric,
Continuous,
Format("Fixed Dec", 10, 1),
Formula(:Name("duration") * 24)
)
);
Im Allgemeinen sollten Neuformatierungsskripte die meisten Probleme beheben können.
Außerdem würde ich vorschlagen, Name() in solchen Fällen (innerhalb von Formeln) nicht zu verwenden, es sei denn, Sie verwenden eine viel ältere Version von JMP, da es durch ""n ersetzt wurde
Skripthandbuch > JSL-Bausteine > JSL-Syntaxregeln > JSL-Regeln für Namen

Betreff: So lösen Sie das Problem mit der Formel für die SpalteDanke, ich habe die Formatierung überprüft, sie scheint in Ordnung zu sein. Ich kann diesen Fehler nicht finden.
Unexpected ")". Perhaps there is a missing ";" or ",".
Um etwas Kontext zu geben: Das Skript, an dem ich arbeite, ist ein Legacy-Skript, das möglicherweise in der vorherigen JMP-Version 14/15 geschrieben wurde. Es funktioniert für den vorgesehenen Zweck. Jetzt verwende ich es für einen anderen Zweck.
Ich wusste nicht, dass ich Name() verwenden kann. Sie schlagen vor, ich solle einfach den Spaltennamen direkt verwenden, vielleicht so
Names Default To Here(1);
col_name_list = {};
dt = New Table("table",
New Column("duration", Numeric, Continuous, Values([1]))
);
If(!Contains(col_name_list, "EFT (h)"),
Current Data Table() << New Column("EFT (h)",
Numeric,
Continuous,
Format("Fixed Dec", 10, 1),
Formula(:duration * 24)
)
);
oder Dauer * 24.
Bin noch ganz neu hier. Wäre es einfacher, den ganzen Code in Python umzufunktionieren? Müsste ich dann immer noch alle Spaltenparameter wie Typ, Formate und Modellierungstyp definieren? Danke
Betreff: So lösen Sie das Problem mit der Formel für die SpalteDanke, ich werde diesen Link überprüfen. Ich kenne diese noch nicht.
Betreff: So lösen Sie das Problem mit der Formel für die SpalteOhne das Skript zu sehen, ist es schwierig zu sagen, was das Problem sein könnte, da die von Ihnen bereitgestellten Skripte einwandfrei funktionieren.
Gibt es einen bestimmten Grund, es in Python neu zu schreiben? Wenn es weiterhin in JMP verwendet werden soll, würde ich Python (meistens) nicht für Aufgaben verwenden, die auch mit JSL erledigt werden könnten.