こんにちは。クエリを取得するスクリプトがあり、クエリ情報の一部を再コード化しようとしています。別のスクリプトで「match」関数を実行すると機能しますが、それを完全なスクリプトに結合すると、「名前が解決されていません: 'SamplePoint' のアクセスまたは評価の行 1 にある SamplePoint、SamplePoint/*##」というエラーが発生します。 #*/"
SamplePoint は再コード化しようとしている列です
完全なコードは次のとおりです。
//!
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 " )、エイリアス( "t3" )、Join( Type( 左外側 )、EQ( Column( "TEST_NUMBER", "t1" )、Column( "TEST_NUMBER", "t3" ) ) ) )、Table( "SAMPLE" 、スキーマ( "dbo" )、エイリアス( "t2" )、Join( Type( 左外側 )、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 ( "カテゴリ" ) ) ) ) ) ) << 実行 ); // 関数の終了 // / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / //データをフォーマットする関数 FormatTrial = Function( {dt}, dt33 = dt << Split( Split By( :NAME ), Split( :VALUE ), Group( :Z_TRIAL ), Remaining Columns( Drop All ), Sort by Column Property ); Close( Data Table( "TEST" ), NoSave ); Wait( 3 ); // トライアル ID dt33 の新しい列 < < New Column( "Trial ID", Character, Formula( Left( :Z_TRIAL, 4 ) ) ); // サンプル位置 dt33 の新しい列 << New Column( "SamplePoint", Character, Formula( Right( Left( :Z_TRIAL) , 8 ), 3 ) ) ); :SamplePoint << 数式を削除; // サンプル番号 dt33 の新しい列 << New Column( "サンプル #", Character, Formula( Right( :Z_TRIAL, 3 ) ) ); :" Sample #" << 数式を削除; // 新しい列を左に移動collist = {"Trial ID", "SamplePoint", "Sample #"}; dt33 << 選択した列を移動(collist, To First ); dt33 << select where( Is Missing( :"トライアル ID" ) ); dt33 << 行の削除; );// 関数の終了 // / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /列を再コード化する関数 SampleInfo = Function ( {dts}, // サンプルの場所を再コード化します For Each Row( 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" ) ); ); // 関数の終了 // / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ファイ = "TM-006"; AnalysisData( fai ); dt10 = 現在のデータテーブル(); dt10 << Row Selection( Select where( :NAME == "Span" | Contains( :NAME, "Check D" ) )、Match case( 0 )、Dialog( Edit( Equal( Source Column( :NAME ) ) ) ) ); dt10 << 行選択を反転 << 行を削除; FormatTrial( dt10 ); //psa フォーマット dt33:"Check D10 (5 回の複製の平均)" << set name( "d10" ); dt33:"チェック D50 (5 回の複製の平均)" << set name( "d50" ); dt33:"D90 をチェック (5 回の複製の平均)" << set name( "d90" ); dt33:"Dmax を確認します (5 回の複製の平均)" << set name( "dmax" ); dt33:"Check Dmin (5 回の複製の平均)" << set name( "dmin" ); dt33 << Set Name( "PSD データ" );サンプル情報( dt10 );</OMMITTED>これはおそらくスコープの問題だと思います。 SamplePoint を列名として参照する場合は常に、SamplePoint の前に「:」(コロン) を配置してみてください。
注: プレビュー ウィンドウの上部にある JSL アイコンを使用して JSL を入力してください。これにより、読者はコードをより簡単に読むことができます。