Anführungszeichen entfernen: Skript zum Erstellen einer SpaltenformelIch bin gerade dabei, ein Skript zu erstellen, um das Delta zwischen zwei Messungen für viele Spalten zu ermitteln.
Ich habe Schwierigkeiten beim Erstellen von Spaltenformeln, wenn der Spaltenname einen Bindestrich enthält ...
Der Parse-Befehl zum Entfernen von Anführungszeichen ändert den Bindestrich in einen Minus-Operanden, was dann das, was ich erreichen möchte, durcheinander bringt.
Fehlerprotokoll:
Unerwartetes „_92MHz_test_data“. Möglicherweise fehlt ein „;“ oder ",".
Hier ist das Skript (das funktioniert, wenn die Spalte(n) keinen Operanden im Namen haben.
Z.B,
dt = Current Data Table();
Col_Name = "diff"; // column(5) - Column(300)
Col_Name1_char = Char( Column Name( 5 ) ); // "bin of DWK112079-01_92MHz_test_data""
Col_Name2_char = Char( Column Name( 300 ) );// "bin of DWK112079-01_90MHz_test_data""
Col1_Name = (Concat( ":", (Col_Name1_char) )); //":bin of DWK112079-01_92MHz_test_data";
Col2_Name = ((Concat( ":", Col_Name2_char ))); // ":bin of DWK112079-01_90MHz_test_data";
Formula_I = ((Concat( col1_Name, " - ", Col2_Name ))); //Make the formula expression
a = Expr(
New Column( X, formula( Z ) )
); // New column with name Diff
b = Substitute( Name Expr( a ), Expr( X ), Col_Name, Expr( Z ), Parse( Formula_I ) ); // This has error when Colnames has "-" in the name
Eval( b );
//Note:
Show( Forumula_I, Parse( Formula_I ) );
//Note : Formula_I = ":bin of DWK112079-01_92MHz_test_data - :bin of DWK112079-01_new_updated_test_data";
//Note Parse(formula_I) = :bin of DWK112079 - 1; This is not what I want
Datenmischung und -bereinigungBetreff: Anführungszeichen entfernen: Skript zum Erstellen einer SpaltenformelIch hätte das nie herausfinden können.Vielen Dank, funktioniert perfekt!
Betreff: Anführungszeichen entfernen: Skript zum Erstellen einer SpaltenformelDas „-“ in der Mitte eines Spaltennamens wird von JMP als Subtraktion interpretiert.Daher müssen Sie JMP mitteilen, dass der gesamte Begriff ein Spaltenname ist.Der einfachste Weg, dies zu tun, besteht darin, die Namensstruktur von zu verwenden
„:Spaltenname“n
Das Folgende ist eine Überarbeitung Ihres Skripts mit den vorgenommenen Änderungen
names default to here(1);
dt = Current Data Table();
Col_Name = "diff"; // column(5) - Column(300)
Col_Name1_char = Char( Column Name( 5 ) ); // "bin of DWK112079-01_92MHz_test_data""
Col_Name2_char = Char( Column Name( 300 ) );// "bin of DWK112079-01_90MHz_test_data""
Col1_Name = (Concat( ":\!"", (Col_Name1_char), "\!"n" )); //":bin of DWK112079-01_92MHz_test_data";
Col2_Name = ((Concat( ":\!"", Col_Name2_char , "\!"n" ))); // ":bin of DWK112079-01_90MHz_test_data";
Formula_I = ((Concat( col1_Name, " - ", Col2_Name ))); //Make the formula expression
a = Expr(
New Column( X, formula( Z ) )
); // New column with name Diff
b = Substitute( Name Expr( a ), Expr( X ), Col_Name, Expr( Z ), Parse( Formula_I ) ); // This has error when Colnames has "-" in the name
Eval( b );
//Note:
Show( Forumula_I, Parse( Formula_I ) );
//Note : Formula_I = ":bin of DWK112079-01_92MHz_test_data - :bin of DWK112079-01_new_updated_test_data";
//Note Parse(formula_I) = :bin of DWK112079 - 1; This is not what I want