全て、
これは非常に単純なように見えますが、非常にイライラする作業です。 文字列内の引用符を置き換えるにはどうすればよいですか。
次の列があるとしましょう (Inv 01、Inv 02 ... 規則 26) 。
そこで、列名を取得して次のような条件を作成しました。
Stmt = "";
for(i = 1, i <= N Items(InvColNames), i++,
If(i == 1,
Stmt = ":" || InvColNames[i] || " >= 1 &" || ":" || InvColNames[i] || " <= InvLimit" ;
,
Stmt = Stmt || " & " || ":" || InvColNames[i] || ">= 1 &" || ":" || InvColNames[i] || " <= InvLimit" ;
) ;
);
":Inv 01 >= 1 &:Inv 01 <= InvLimit & :Inv 02>= 1 &:Inv 02 <= InvLimit & :Inv 03>= 1 &:Inv 03 <= InvLimit" Stmt = Substitute(Stmt, "\!"", "");
InvStatusExpr = Expr(dt_Inp << New Column("Status_Inv",Numeric,Continuous,Formula(Expr(Stmt))));
Eval(Eval Expr(InvStatusExpr));私が作成した条件を式として使用して、条件を定義してもらいたいと考えています。 ただし、問題は現在の形式にあり、私が作成した「Stmt」は二重引用符で囲まれており、文字列として評価され、作成したステートメントが新しい列に入力されているためです。
文字列内の二重引用符を置き換えてこれを機能させる簡単な方法を誰かが教えてくれたら、助けていただければ幸いです。

一番
ウダイ
Eval( Parse( Eval Insert() は、本当に行き詰まったときに問題を解決しますが、コードのデバッグが難しいため、最後の手段としてください。
基本的には、文字列をテキストとして目的の JSL に挿入し、JSL を評価します。^^ は、挿入コマンドに作業場所を指示します。
Eval( Parse( Eval Insert("\[ dt_Inp << New Column("Status_Inv",Numeric,Continuous,Formula(^Stmt^)); ]\" ) ) );これは動的 JSL と呼ばれ、非常に強力です。