Hallo, ich habe ein Skript, das eine Abfrage ausführt und dann versuche, einige der Abfrageinformationen neu zu kodieren. Immer wenn ich die „Match“-Funktion in einem separaten Skript ausführe, funktioniert sie, aber wenn ich sie in meinem vollständigen Skript kombiniere, erhalte ich die Fehlermeldung: „Name nicht aufgelöst: SamplePoint in Zeile 1 beim Zugriff oder bei der Auswertung von ‚SamplePoint‘, SamplePoint/*##“ #*/"
SamplePoint ist die Spalte, die ich neu codieren möchte
Hier ist der vollständige Code:
//!
Names Default To Here( 1 );
delete symbols();
// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
//function to pull data based on analysis
AnalysisData = Function( {analysisinput},
New SQL Query(
Connection( <OMMITTED>), QueryName( "TEST" ), Select( Column( "ANALYSIS", "t1" ), Column( "VALUE", "t3" ), Column( "Z_TRIAL", "t2" ), Column( "NAME", "t3" ), Column( "ID_NUMERIC", "t2" ) ), From( Table( "TEST", Schema( "dbo" ), Alias( "t1" ) ), Table( "RESULT", Schema( "dbo " ), Alias( "t3" ), Join( Type( Left Outer ), EQ( Column( "TEST_NUMBER", "t1" ), Column( "TEST_NUMBER", "t3" ) ) ) ), Table( "SAMPLE" , Schema( "dbo" ), Alias( "t2" ), Join( Type( Left Outer ), EQ( Column( "SAMPLE", "t1" ), Column( "ID_NUMERIC", "t2" ) ) ) ) ) , Where( In List( Column( "ANALYSIS", "t1" ), {analysisinput}, UI( SelectListFilter( ListBox, Base( "Categorical" ) ) ) ) ) & Custom( "ID_NUMERIC > 15012", UI( Custom( Base ( "Kategorisch") ) ) ) ) ) << Run ); // Funktionsende // / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / //Funktion zum Formatieren von Daten FormatTrial = Function( {dt}, dt33 = dt << Split( Split( Split By( :NAME ), Split( :VALUE ), Group( :Z_TRIAL ), Remaining Columns( Drop All ), Sort by Column Property ); Close( Data Table( "TEST" ), NoSave ); Wait( 3 ); // neue Spalte für Test-ID dt33 < < New Column( "Trial ID", Character, Formula( Left( :Z_TRIAL, 4 ) ) ); // neue Spalte für Probenort dt33 << New Column( "SamplePoint", Character, Formula( Right( Left( :Z_TRIAL , 8 ), 3 ) ) ); :SamplePoint << Formel löschen; // neue Spalte für Probennummer dt33 << New Column( "Sample #", Character, Formula( Right( :Z_TRIAL, 3 ) ) ); :" Sample #" << Formel löschen; // Neue Spalten nach links verschieben collist = {"Trial ID", "SamplePoint", "Sample #"}; dt33 << Ausgewählte Spalten verschieben( collist, To First ); dt33 << select where( Is Missing( :"Test-ID" ) ); dt33 << Zeilen löschen; );// Ende der Funktion // / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / //Funktion zum Neukodieren von Spalten SampleInfo = Funktion ( {dts}, // den Beispielort für jede Zeile neu kodieren( SamplePoint = Match( SamplePoint, "100", "RP", "101", "RCP", "102", "RL", "103", " RCL“, „104“, „RLM“, „105“, „FTR1“, „106“, „FTR2“, „107“, „FTR3“, „108“, „FTR4“, „109“, „ML“ , „110“, „M1“, „111“, „M2“, „112“, „MW“, „113“, „M2W“, „115“, „DCt“, „116“, „DCr“, „ 117“, „DE“, „N/A“ ) ); ); // Funktionsende // / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / fai = "TM-006"; AnalysisData( fai ); dt10 = Aktuelle Datentabelle(); dt10 << Zeilenauswahl( Select where( :NAME == "Span" | Contains( :NAME, "Check D") ), Match case( 0 ), Dialog( Edit( Equal( Source Column( :NAME ) ) ) ) ); dt10 << Zeilenauswahl umkehren << Zeilen löschen; FormatTrial( dt10 ); //psa formatting dt33:"D10 prüfen (durchschnittlich 5 Replikate)" << set name( "d10" ); dt33:"Überprüfen Sie D50 (durchschnittlich 5 Replikate)" << set name( "d50" ); dt33:"D90 prüfen (durchschnittlich 5 Replikate)" << set name( "d90" ); dt33:"Dmax prüfen (Durchschnitt von 5 Replikaten)" << set name( "dmax" ); dt33:"Dmin prüfen (Durchschnitt von 5 Replikaten)" << set name( "dmin" ); dt33 << Set Name( "PSD Data" ); SampleInfo( dt10 );</OMMITTED>Ich denke, dass dies ein Scoping-Problem sein könnte. Versuchen Sie, einen „:“ (Doppelpunkt) vor „SamplePoint“ zu platzieren, wenn Sie darauf als Spaltennamen verweisen.
Hinweis: Bitte geben Sie JSL ein, indem Sie das JSL-Symbol oben im Vorschaufenster verwenden. Dadurch können Leser den Code leichter lesen.