JSL を使用して複数行のダッシュボードを作成する方法は?ダッシュボードを手動で作成するためのスクリプトをデータテーブルに保存し、データテーブルを閉じました
テーブルを再度開いてスクリプトを実行できませんでした。
専門家の皆さん、ありがとう!
dt=Open("$SAMPLE_DATA/Big Class.jmp");
p1=dt<< Graph Builder(Transform Column("row",Formula(Row())),Size(500,100),Show Control Panel(0),Show Legend(0),Show Title(0),Show Footer(0),Show X Axis(0),Show Y Axis(0),Show X Axis Title(0),Show Y Axis Title(0),Variables(X(:row),Y(:height)),Elements(Line(X,Y,Legend(5))));
p2=dt<< Graph Builder(Transform Column("row",Formula(Row())),Size(500,100),Show Control Panel(0),Show Legend(0),Show Title(0),Show Footer(0),Show X Axis(0),Show Y Axis(0),Show X Axis Title(0),Show Y Axis Title(0),Variables(X(:row),Y(:weight)),Elements(Line(X,Y,Legend(5))));
基本的なデータ分析とモデリングウィンドウズRe: JSL を使用して複数行のダッシュボードを作成する方法は?これは保存されたJSLです
Graph Builder(
Size( 401, 40 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Show Title( 0 ),
Show Footer( 0 ),
Show X Axis( 0 ),
Show Y Axis( 0 ),
Show X Axis Title( 0 ),
Show Y Axis Title( 0 ),
Variables( X( Transform Column( "row", Formula( Row() ) ) ), Y( :weight ) ),
Elements( Line( X, Y, Legend( 5 ) ) )
)
Re: JSL を使用して複数行のダッシュボードを作成する方法は?データテーブルに40列あり、この形式のダッシュボードを作成する必要がある場合、スクリプトをどのように記述すればよいでしょうか。
ありがとう!

Re: JSL を使用して複数行のダッシュボードを作成する方法は?アプリケーションビルダーを使用する必要はありますか?新しいウィンドウを構築してレポートを追加する方が簡単かもしれません
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb_expr = Expr(dt << Graph Builder(
Transform Column("row", Formula(Row())),
Size(500, 100),
Show Control Panel(0),
Show Legend(0),
Show Title(0),
Show Footer(0),
Show X Axis(0),
Show Y Axis(0),
Show X Axis Title(0),
Show Y Axis Title(0),
Variables(X(:row), Y(:height)),
Elements(Line(X, Y, Legend(5)))
));
lub = Lineup Box(N Col(1));
For(i = 1, i <= 10, i++,
lub << append(gb_expr)
);
nw = new window("",
lub
);Re: JSL を使用して複数行のダッシュボードを作成する方法は?jthiさん、ありがとう!

Re: JSL を使用して複数行のダッシュボードを作成する方法は?はい、できます。どのように行うかはアプリケーションによって異なりますが、以下はXPathを使用した1つのオプションです。
(nw << XPath("//OutlineBox[text() = 'Graph Builder']")) << Set Title("");Re: JSL を使用して複数行のダッシュボードを作成する方法は?完全な実行可能JSLはまだ成功していない
- 専門家の皆さん、ありがとう!
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << 新しい列( "col1"、数値、連続、数式の設定( Col Shuffle() ) );
dt << 新しい列( "col2", 数値, 連続, 数式の設定( Col Shuffle() ) );
dt << 新しい列( "col3", 数値, 連続, 数式の設定( Col Shuffle() ) );
dt << 新しい列( "col4", 数値, 連続, 数式の設定( Col Shuffle() ) );
dt << 新しい列( "col5", 数値, 連続, 数式の設定( Col Shuffle() ) );
dt << 新しい列( "col6", 数値, 連続, 数式の設定( Col Shuffle() ) );
dt << 新しい列( "col7"、数値、連続、数式の設定( Col Shuffle() ) );
dt << 新しい列( "col8"、数値、連続、数式の設定( Col Shuffle() ) );
//??
gb_expr = Expr(dt << グラフビルダー(
変換列("行", 数式(行())),
サイズ(500, 100)、
コントロールパネルを表示(0)
凡例を表示(0)、
タイトルを表示(0)
フッターを表示(0)
X軸を表示(0)、
Y軸を表示(0)、
X軸タイトルを表示(0)
Y軸タイトルを表示(0)
変数(X(:行), Y(:高さ)),
要素(線(X, Y, 凡例(5)))
));
lub = ラインアップボックス(N Col(1));
p2=dt<< グラフ ビルダー(変換列("行",数式(行())),サイズ(500,100),コントロール パネルの表示(0),凡例の表示(0),タイトルの表示(0),フッターの表示(0),X 軸の表示(0),Y 軸の表示(0),X 軸タイトルの表示(0),Y 軸タイトルの表示(0),変数(X(:行),Y(:重み)),要素(線(X,Y,凡例(5))));
(p2 << XPath("//OutlineBox[text() = '図形生成器']")) << Set Title("");
lub = ラインアップボックス(N Col(1));
lub << append(gb_expr)
……
nw = 新しいウィンドウ("",
ルブ
);
(nw << XPath("//OutlineBox[text() = 'Graphic Generator']")) << Set Title("");
Re: JSL を使用して複数行のダッシュボードを作成する方法は?レポート(プラットフォーム)[「グラフィック ジェネレーター」]

Re: JSL を使用して複数行のダッシュボードを作成する方法は?非表示にすることはできますが、JSL で複数の列を書き込む方法はまだ成功していません。

Re: JSL を使用して複数行のダッシュボードを作成する方法は?少しペースを落として、必要なものを少しずつ説明する必要があります。現在、目標が少しずつ変化しているように見えるため、それぞれに異なるソリューションがある複数の異なるものを求めています (堅牢なソリューションを提供するのが非常に困難になります)。
Re: JSL を使用して複数行のダッシュボードを作成する方法は?はい、専門家のコードでほぼ問題は解決しました。
ダッシュボードに「高さ」列を 10 回追加しました。
新しい列とともに、合計 10 列を 1 つずつテーブルに追加する場合、コードをどのように記述すればよいでしょうか。これが鍵です。
隠しテキストに関しては二次的です。
専門家の皆さん、ありがとう!
Re: JSL を使用して複数行のダッシュボードを作成する方法は?Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("col1", Numeric, Continuous, Set Formula(Col Shuffle()));
dt << New Column("col2", Numeric, Continuous, Set Formula(Col Shuffle()));
dt << New Column("col3", Numeric, Continuous, Set Formula(Col Shuffle()));
dt << New Column("col4", Numeric, Continuous, Set Formula(Col Shuffle()));
dt << New Column("col5", Numeric, Continuous, Set Formula(Col Shuffle()));
dt << New Column("col6", Numeric, Continuous, Set Formula(Col Shuffle()));
dt << New Column("col7", Numeric, Continuous, Set Formula(Col Shuffle()));
dt << New Column("col8", Numeric, Continuous, Set Formula(Col Shuffle()));
create_report = function({dt, colname}, {Default Local},
gb = dt << Graph Builder(
Transform Column("row", Formula(Row())),
Size(500, 100),
Show Control Panel(0),
Show Legend(0),
Show Title(0),
Show Footer(0),
Show X Axis(0),
Show Y Axis(0),
Show X Axis Title(0),
Show Y Axis Title(0),
Variables(X(:row), Y(Eval(colname))),
Elements(Line(X, Y, Legend(5))),
SendToReport(
Dispatch({}, "Graph Builder", OutlineBox,
{Set Title(""), Image Export Display(Normal)}
)
)
);
return(gb);
);
lub = Lineup Box(N Col(1));
cols = {"col1", "col2", "col3", "col4", "col5", "col6", "col7", "col8"};
For Each({colname}, cols,
lub << Append(create_report(dt, colname));
);
nw = new window("",
lub
);Re: JSL を使用して複数行のダッシュボードを作成する方法は?JSL グラフィックスの作成 列名を動的かつ汎用的にするにはどうすればよいですか?このように、追加した列の数と列名が異なります
専門家の皆さん、ありがとう!
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("col1", Numeric, Continuous, Set Formula(Col Shuffle()));
dt << New Column("col2", Numeric, Continuous, Set Formula(Col Shuffle()));
dt << New Column("col3", Numeric, Continuous, Set Formula(Col Shuffle()));
p1=dt<< Graph Builder(
Size( 534, 648 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Show Title( 0 ),
Show Footer( 0 ),
Show X Axis( 0 ),
Show Y Axis( 0 ),
Show X Axis Title( 0 ),
Variables(
X( Transform Column( "Row", Formula( Row() ) ) ),
Y( :height ),
Y( :weight ),
Y( :col1 ),
Y( :col2 ),
Y( :col3 ),
Y( :col3 )
),
Elements( Position( 1, 1 ), Bar( X, Y, Legend( 10 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y, Legend( 9 ) ) ),
Elements( Position( 1, 3 ), Bar( X, Y, Legend( 8 ) ) ),
Elements( Position( 1, 4 ), Bar( X, Y, Legend( 7 ) ) ),
Elements( Position( 1, 5 ), Bar( X, Y, Legend( 6 ) ) ),
Elements( Position( 1, 6 ), Bar( X, Y, Legend( 5 ) ) )
);
Re: JSL を使用して複数行のダッシュボードを作成する方法は?グラフの数は常に同じですか? そうでない場合は、通常、式を別々に構築し (Variables() と Elements)、Eval(Substitute()) を使用してグラフ ビルダー式に追加し、最終的に評価します。これについては、私が返信したトピックがかなりあることは知っていますが (見つけられないだけです)、Xan のこの投稿に基本的な考え方が示されています。
全員に返信: グラフビルダーの動的コンテンツをスクリプト化する方法
Re: JSL を使用して複数行のダッシュボードを作成する方法は?dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("col1", Numeric, Continuous, Set Formula(Col Shuffle()));
dt << New Column("col2", Numeric, Continuous, Set Formula(Col Shuffle()));
dt << New Column("col3", Numeric, Continuous, Set Formula(Col Shuffle()));
vars = Expr(Variables(X(Transform Column("Row", Formula(Row())))));
points = Expr(Line(X, Y, Legend(5)));
起 = 4;止 = 8;
For(i = 起, i <= 止, i++,
Insert Into(vars, Eval Expr(Y(Expr(Column(dt, i)), Position(1))));
Insert Into( points, Eval Expr( Y( Expr( i - 起 + 1 ) ) ), i - 起 );
);
gb = Eval Expr(
Graph Builder(
Size(534, 648),
Show Control Panel(0),
Show Legend(0),
Show Title(0),
Show Footer(0),
Show X Axis(0),
Show Y Axis(0),
Show X Axis Title(0),
Expr(Name Expr(vars)),
points(Expr(Name Expr(points)))
)
);
gb;私はただ
専門家の皆さん、ありがとう!
Re: JSL を使用して複数行のダッシュボードを作成する方法は?昨日も書こうとしたのですが、まだうまくいきませんでした。
このコードの問題は変数「two」にあります。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "col1", Numeric, Continuous, Set Formula( Col Shuffle() ) );
dt << New Column( "col2", Numeric, Continuous, Set Formula( Col Shuffle() ) );
dt << New Column( "col3", Numeric, Continuous, Set Formula( Col Shuffle() ) );
m1 = 1; m2 = 180; m0 = 10;
one=Expr(Variables( X( Transform Column( "Row", Formula( Row() ))) , Y( :height ) ));two=Expr(Elements( Position( 1, 1 ), Bar( X, Y, Legend( 5 ) ) ) );thr=Expr( Dispatch( {}, "height", ScaleBox, {Min( m1 ), Max( m2 ), Inc( m0 ), Minor Ticks( 1 )} ));
first co = 5;last col = 8;
For( i = first co, i <= last col, i++,
Insert Into( one, Eval Expr( Y( Expr( Column( dt, i ) ) ) ) );
Insert Into( two, Eval Expr(Elements( Position( 1, Expr(i-3 )), Bar( X, Y, Legend( Expr(1+i )) ) ) ));
Insert Into( thr, Eval Expr( Dispatch( {}, Column(Expr(i))<<GET name=""></GET><SPAN class=""><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2024-07-18_17-44-45.png" style="width: 253px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-18_17-44-45.png" style="width: 253px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-18_17-44-45.png" style="width: 253px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-18_17-44-45.png" style="width: 253px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-18_17-44-45.png" style="width: 253px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-18_17-44-45.png" style="width: 253px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-18_17-44-45.png" style="width: 253px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-18_17-44-45.png" style="width: 253px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-18_17-44-45.png" style="width: 253px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-18_17-44-45.png" style="width: 253px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-18_17-44-45.png" style="width: 253px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-18_17-44-45.png" style="width: 253px;"><span class="lia-inline-image-display-wrapper" image-alt="2024-07-18_17-44-45.png" style="width: 253px;"><img src="https://us.v-cdn.net/6038925/uploads/images/66319i838261FBE3A3DA44/2024-07-18_17-44-45.png" role="button" title="2024-07-18_17-44-45.png" alt="2024-07-18_17-44-45.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN>
Re: JSL を使用して複数行のダッシュボードを作成する方法は?わかりました
描画コードを別のJSLとして保存する
だから組み合わせやすいんです。
tx1 = "";
tx2 = "";
tx3 = "SendToReport(";
For( i = first co, i <= last col, i++,
//……
);
txt =
"nw=dt<< Graph Builder(Size(554,1654),Show Control Panel(0),Show Legend(0),Show Title(0),Show Footer(0),Show X Axis(0),Show Y Axis(0),Show X Axis Title(0),Variables(X(:分)"
|| tx1 || ")" || tx2 || "\!n," || tx3 ||
"));(nw << XPath(\!"//OutlineBox[text() = '图形生成器']\!")) << Set Title(\!"\!");nw<<SET window="" size=""></SET>Re: JSL を使用して複数行のダッシュボードを作成する方法は?変数の追加と要素の追加の例としてのスクリプトインデックス
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("col1", Numeric, Continuous, Set Formula(Col Shuffle()));
dt << New Column("col2", Numeric, Continuous, Set Formula(Col Shuffle()));
dt << New Column("col3", Numeric, Continuous, Set Formula(Col Shuffle()));
gb = dt << Graph Builder(
Size(534, 648),
Show Control Panel(0),
Show Legend(0),
Show Title(0),
Show Footer(0),
Show X Axis(0),
Show Y Axis(0),
Show X Axis Title(0),
Variables(
X(Transform Column("Row", Formula(Row()))),
Y(:height),
Y(:weight)
),
Elements(Position(1, 1), Bar(X, Y, Legend(10))),
Elements(Position(1, 2), Bar(X, Y, Legend(9)))
);
cols = {"col1", "col2", "col3", "col3"};
For Each({colname, idx}, cols,
gb << Add Variable({Eval(colname), Role("Y")});
// Either add both of these or neither
gb << Remove Element(1, 2 + idx, 1);
gb << Add Element(1, 2 + idx, {Type("Bar"), X, Y, Legend(9-idx)});
);
</CODE>Sometimes you have to check the graph builder script to see how it is being built. In this case due to Legend being starting from 10, you either have to first remove element and then add it back OR just let JMP take care of them (so leave out << Remove Element and << Add Element)</P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jthi_0-1721456186653.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1721456186653.png" style="width: 267px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1721456186653.png" style="width: 267px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1721456186653.png" style="width: 267px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1721456186653.png" style="width: 267px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1721456186653.png" style="width: 267px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1721456186653.png" style="width: 267px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1721456186653.png" style="width: 267px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1721456186653.png" style="width: 267px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1721456186653.png" style="width: 267px;"><span class="lia-inline-image-display-wrapper" image-alt="jthi_0-1721456186653.png" style="width: 267px;"><img src="https://us.v-cdn.net/6038925/uploads/images/66331i8F2B15E24DF276BB/jthi_0-1721456186653.png" role="button" title="jthi_0-1721456186653.png" alt="jthi_0-1721456186653.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P>
<PRE><CODE class=" language-jsl">Graph Builder(
Transform Column("Row", Formula(Row())),
Size(534, 648),
Show Control Panel(0),
Show Legend(0),
Show Title(0),
Show Footer(0),
Show X Axis(0),
Show Y Axis(0),
Show X Axis Title(0),
Variables(
X(:Row),
Y(:height),
Y(:weight),
Y(:col1),
Y(:col2),
Y(:col3),
Y(:col3)
),
Elements(Position(1, 1), Bar(X, Y, Legend(10))),
Elements(Position(1, 2), Bar(X, Y, Legend(9))),
Elements(Position(1, 3), Bar(X, Y, Legend(8))),
Elements(Position(1, 4), Bar(X, Y, Legend(7))),
Elements(Position(1, 5), Bar(X, Y, Legend(6))),
Elements(Position(1, 6), Bar(X, Y, Legend(5)))
);
Re: JSL を使用して複数行のダッシュボードを作成する方法は?専門家の皆さん、ありがとう!
実際の申請ではさらに条件を設定しました。
このフォームのように。事後に複数の列を追加する方法がまだわかりません
ca = "row";dt = New Table( "test", Add Rows( 40 ), New Column( ca, Character, "Nominal" ) );
Column( ca ) << Formula( Char( Row() ) );dt << run formulas;Column( ca ) << deleteFormula;
na = {"A", "B", "C", "D", "E"};
j = 1;
For( j = 1, j <= N Items( na ), j++,
i = 1;
For( i = 1, i <= 4, i++,
ca = na[j] || Char( i ); New Column( ca );
Column( ca ) << Formula( If( i == 1, Random Integer( -100, 100 ), Random Integer( 30 * i, 50 * i ) ) );
dt << run formulas; Column( ca ) << deleteFormula; Column( ca ) << Set Display Width( 38 );
);
);
p1=dt<<GRAPH builder=""></GRAPH><BR />Illustration:<BR />A1-A4 is a group of the same letters, are listed as a group of 4, move A2-A4 to the right of the Y axis to form a line graph;A1 is the bar chart,<BR />The color of the bar is variable, but the color of the line on the right is fixed by number (the same color as the line with different letter groups of the number).<BR />The graphics are set to transparency.The right Y-axis title is also hidden.<BR />So there's a lot more code for mapping.I don't know how to batch them.
Thanks!
<SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2024-07-22_16-07-12.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-22_16-07-12.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-22_16-07-12.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-22_16-07-12.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-22_16-07-12.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-22_16-07-12.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-22_16-07-12.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-22_16-07-12.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2024-07-22_16-07-12.png" style="width: 999px;"><span class="lia-inline-image-display-wrapper" image-alt="2024-07-22_16-07-12.png" style="width: 999px;"><img src="https://us.v-cdn.net/6038925/uploads/images/66366iA37DF0093E9320C8/2024-07-22_16-07-12.png" role="button" title="2024-07-22_16-07-12.png" alt="2024-07-22_16-07-12.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN>
Re: JSL を使用して複数行のダッシュボードを作成する方法は?グラフの系列数が200を超えると、どのように変化するかわかりません

Re: JSL を使用して複数行のダッシュボードを作成する方法は?スタックデータテーブルを利用すると、このようなものを簡単に作成できます。

Re: JSL を使用して複数行のダッシュボードを作成する方法は?試してみましたが、どうやって積み重ねればいいのか分かりませんでした。
専門家に指示を仰いでください。
どうもありがとうございます!
Re: JSL を使用して複数行のダッシュボードを作成する方法は?複数のシリーズスタックを使用する

次に、ラベル列の1つからグループ化列を作成し、必要に応じて列の名前を変更し、必要に応じて削除してプロットを作成します。
Re: JSL を使用して複数行のダッシュボードを作成する方法は?なるほど、分かりました
jthiさん、ありがとう!
Re: JSL を使用して複数行のダッシュボードを作成する方法は?このグラフ グループの作成は、多くのシステムでデフォルト設定になっているようです。
たとえば、このグラフのラベル列はデフォルトのソートです
グラフを元のデータ テーブルのラベルで並べ替え、データ テーブルのラベル列でのみ番号を付けられるようにしますか?たとえば、データ テーブル内のラベルは C、D、A、B、E の順に並べ替えられており、グラフもこれによって並べ替えられていますが、データ テーブルでは :1C、2D、3A、4B、5E にのみ変更できます。
透明度を設定しても効果がありません。
ありがとう!

Re: JSL を使用して複数行のダッシュボードを作成する方法は?順序付けには、値の順序列プロパティを使用します。