変動グラフのバグ<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、みんな、
変動チャートを生成するためのまったく同じJSLスクリプトの2つのバージョンがありますが、1つはチャートを正しく表示しません。フォーマットはすべてめちゃくちゃになっています。2つのバージョンの唯一の違いは、一方がforループ内で実行されるのに対し、もう一方は実行されないことです。出力スクリプトを見ると、forループ内のスクリプトが多くのコマンドを無視するように、異なる内部スクリプトが生成されていることがわかります。
私が書いた2つのバージョンのスクリプトを添付しました。1つはforループ(データベースからいくつかのパラメータを取り、それぞれについて変動グラフを生成する)を示し、もう1つはハードコードされています。これら2つの異なるスクリプト用にJMPが生成するスクリプトも添付しました。WhatJMPdoesInstead.txtを見るとわかるように、一連のコマンドは無視されます。
誰もがこの問題を抱えている?これを修正する方法は?
変動グラフのバグあなたは正しいです、私はただコードの流れが同じであることを意味しました。明らかにforループは複数のユニークなカラムを処理するためにあったので、私は名前の代わりにしなければなりませんでした。それは他のすべてのパラメータをうまく処理しているように見えたので、私は文字列に関して何か特別なことをしなければならないとは思わなかった。
とにかく、可変性チャートの外側に必要な文字列を作成してから、ループ内でexpr(String1)を使用し、可変性チャート全体にEval(Exal Expr())を配置して、必要なことを行いました。問題が解決しました。
変動グラフのバグつまり、2つのバージョンがまったく同じで、1つが動作し、もう1つが動作しません。うーん... 彼らは同じではありません。 だから問題はJMPではなくあなたのコードです。 問題を単純化して、違いを見つけて試してみるためのコードが大量にないようにすると役立ちます。また、組み込みのJMPサンプルデータセットを使用してイラストを作成できる場合は、データにアクセスしなくても他のユーザーが手助けするのが簡単です。 根本的な問題は、あなたがスクリプトにカラム名を代入しようとしている方法です。 ループでは変数を使用していますが、他では実際の列参照を使用しています。 JMPは外部から式を評価し、内部で作業します(他のほとんどの言語とは逆) - したがって、Variabilityコマンドが実行される時点では、変数には値がありません。 解決策は、EXPR関数を使用し、文字列操作またはSUBSTITUTEなどの関数を使用してコマンドの表現を作成することにより、式の評価を延期することです。 これはこれを説明する最近の投稿です...