何と呼べばいいのかわからない。たぶん、テーブル変数はこれを行うことができます。 多分preditionプロファイラーはできます。
最後に、「グローバルパラメータ」と呼ぶものの少なくとも2つの結果である数式列ABCクラスが必要になります。基本的なABCSKU分類では、すべてのSKUセットの収益%sの合計としてカットオフが設定されます。収益の80%であるはずですが、Bsは15%、Csは5%です。この例では、さらに簡単にします。たとえば、SKUがそのSKUの売上によってA、B、またはCに分類されるとします。
以下の例では、2つのパラメーターによって設定された3つのルール(式としてコーディングしていません)があります。
- 1000を超える売上のSKU->A
- 売上高が100を超えるSKU->B
- 残り->C
データテーブルの例
//create datatable
dt = New Table( "Slider Test",
Add Rows( 26 ),
Set Header Height( 47 ),
New Column( "SKU",
Character,
"Nominal",
Set Selected,
Set Values(
{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
"O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
)
),
New Column( "Sales",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[98, 64, 120, 397, 93, 58, 196, 700, 674, 229, 607, 55, 590, 169, 1449,
1236, 143, 1714, 364, 404, 226, 1300, 1105, 144, 1391, 1893]
),
Set Display Width( 94 )
),
New Column( "ABC Class",
Character,
"Nominal",
Set Values(
{"C", "C", "B", "B", "C", "C", "B", "B", "B", "B", "B", "C", "B", "B",
"A", "A", "B", "A", "B", "B", "B", "A", "A", "B", "A", "A"}
),
Set Display Width( 70 )
)
);
//create graph
dt <<GRAPH builder=""></GRAPH>サンプル画像。表示されている2つの変数を入力するか、スライダーを使用できると便利です。
以下の例では、2つのパラメーター(カットオフABとカットオフBC)によって設定された3つのルール(数式としてコーディングしていません)があります。
- 売上が1000を超えるSKU->A次に、1500に変更した結果を表示します
- 売上が100を超えるSKU->Bの場合、150に変更した結果を表示します
- 残り->C

ありがとうございました。
例は途方もない助けでした。私はあなたの助けを借りて私が想像したことを正確に達成することができました。 ありがとうございました。
これが、複数のスライダーを取得し、スライダーの右側にグローバルボックスを配置するために私が強化したことです。
//graph builder code above here (not shown)
//code for slider below
//number of months of demand variables
ab = dt:Cutoff AB;
bc = dt:Cutoff BC;
//CoV variables
CoV1 = dt:CoV1;
CoV2 = dt:CoV2;
:ABC Class << Suppress Eval( 0 );
specBox = H List Box(
V List Box(
//number of months of demand
H List Box(
Slider Box(
0,
12,
ab,
dt:Cutoff AB = ab;
dt << rerun formulas;
),
Text Box( "Months of demand" )
),
H List Box(
Slider Box(
0,
12,
bc,
dt:Cutoff BC = bc;
dt << rerun formulas;
),
Text Box( "Months of demand" )
),
//CoV
H List Box(
Slider Box(
0,
4,
CoV1,
dt:CoV1 = CoV1;
dt << rerun formulas;
),
Text Box( "COV" )
),
H List Box(
Slider Box(
0,
4,
CoV2,
dt:CoV2 = CoV2;
dt << rerun formulas;
),
Text Box( "COV" )
),
),//end V list box 1
//display the variables
V List Box(
Global Box( ab ),
Global Box( bc ),
Global Box( CoV1 ),
Global Box( CoV2 )
)//end V list box2
);//end H list box
(Report( gb )[Picture Box( 1 )] << Parent) << Append( specBox );

2つの異なる分類子の比較が必要ない場合、必要なのは次のとおりです。
- 列の式:2つのテーブル変数CutoffABとCutoffBCを使用するABCクラス
- オーバーレイ変数のないGraphBuilderスクリプト:Classifier
テーブルを再構築する必要はありません(連結など)。これははるかに単純な問題です。
@BSwid 、GraphBuilderを使用したグラフは、動的コンポーネントが非常に多いため複雑であり、最適な方法は使用法によって異なります。たとえば、このグラフを他の人が使用する場合は、売上のGraphBuider要約統計量を平均ではなく最大または標準偏差に変更できます。つまり、GraphBuilderの機能を維持するための複雑さが増しています。
この要約統計量が動的でない場合は、GBのフレームボックスにカスタム関数を追加することでこれを実現できます。 各カットオフ変更の平均を計算する必要があります。グラフを再描画します。 ただし、行が除外されている場合は、行の状態ハンドラーをスクリプト化して、特別なバーが計算されるようにする必要があります。 また、X-Groupなどに別の列を選択すると、動的スライダーインターフェイスで問題が発生する可能性があります。
JMPプラットフォームを使用する場合、テーブルの再構築が必要な場合でも、JMPの機能を使用することを好みます。GBがこれらのネストされたバーを描画するには、現在のバーを指定する変数が必要であり、次にオーバーレイとして使用される推測されたバーが必要です。バーは並べて配置することも、ネストすることもできます。 あなたの絵から、私はネストされたものを選びました、しかしこのスクリプトであなたはそれを変えることができます、
データを再構築するには、元の値と推測された値の2つのコピーが必要です。 私が選んだ方法は、テーブルをそれ自体と連結することでした。 このスクリプトは、現在の分類がスクリプトからのものであると想定しています。そうでない場合は、定義された式を変更する必要があり、likleyは新しい列を必要とします。

添付されているのは3つのファイルです。
- 元のテーブル、 SKU Example.jmp
- 変更されたテーブルSKU Example_Final.jmp注:インタラクティブGBを作成するためのスクリプトは、このテーブルに添付されています
- 脚本、 SKU script.jsl c:\tempから元のテーブルを開きます。パスを変更する必要があります。このスクリプトは、テーブルを再構築し、動的グラフを描画します。
注:要約統計量が固定されており、他のベルやホイッスルを維持しない動的なカスタムグラフを作成する方が簡単な場合があります。 このメソッドは、GraphBuilderを使用したカスタム動的ウィジェットのスクリプト作成に関する問題を文書化するために使用されました。
幸運を。
@BSwid書きました:
何と呼べばいいのかわからない。たぶん、テーブル変数はこれを行うことができます。 多分preditionプロファイラーはできます。
最後に、「グローバルパラメータ」と呼ぶものの少なくとも2つの結果である数式列ABCクラスが必要になります。基本的なABCSKU分類では、すべてのSKUセットの収益%sの合計としてカットオフが設定されます。収益の80%であるはずですが、Bsは15%、Csは5%です。この例では、さらに簡単にします。たとえば、SKUがそのSKUの売上によってA、B、またはCに分類されるとします。
以下の例では、2つのパラメーターによって設定された3つのルール(式としてコーディングしていません)があります。
- 1000を超える売上のSKU->A
- 売上高が100を超えるSKU->B
- 残り->C
データテーブルの例
//create datatable
dt = New Table( "Slider Test",
Add Rows( 26 ),
Set Header Height( 47 ),
New Column( "SKU",
Character,
"Nominal",
Set Selected,
Set Values(
{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
"O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
)
),
New Column( "Sales",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[98, 64, 120, 397, 93, 58, 196, 700, 674, 229, 607, 55, 590, 169, 1449,
1236, 143, 1714, 364, 404, 226, 1300, 1105, 144, 1391, 1893]
),
Set Display Width( 94 )
),
New Column( "ABC Class",
Character,
"Nominal",
Set Values(
{"C", "C", "B", "B", "C", "C", "B", "B", "B", "B", "B", "C", "B", "B",
"A", "A", "B", "A", "B", "B", "B", "A", "A", "B", "A", "A"}
),
Set Display Width( 70 )
)
);
//create graph
dt <<GRAPH builder=""></GRAPH>サンプル画像。表示されている2つの変数を入力するか、スライダーを使用できると便利です。
以下の例では、2つのパラメーター(カットオフABとカットオフBC)によって設定された3つのルール(数式としてコーディングしていません)があります。
- 売上が1000を超えるSKU->A次に、1500に変更した結果を表示します
- 売上が100を超えるSKU->Bの場合、150に変更した結果を表示します
- 残り->C

ありがとうございました。
テーブル変数:ABと:BCを設定してみました。その後、変更してみました卵とベーコンの例jslクックブックから。
しかし、スライダーを動かそうとするとエラーが発生します。

//use table variables instead :AB & :BC
//Eggs = 50; // :AB
//Bacon = 50; // :BC
//window
New Window( "Slider Display",
Border Box( Left( 10 ), Right( 10 ), top( 10 ), bottom( 10 ),
V List Box(
H List Box(
Text Box( "AB" ), // slider label
ABsb = Slider Box( 0, 2000, :AB, // slider script follows...
ABnb << set( :AB ); // update the value
// this example doesn't need any other interactive
// update. You could do some other work here, using
// the slider's value to change a graph, perhaps.
),
// text box to hold the slider's value...
ABnb = Number Edit Box( :AB, <<SETFUNCTION></SETFUNCTION>(私は思います)スライダーボックスでテーブル変数を更新します。これにより、データテーブルの数式が更新され、グラフが更新されます。
この行が必要になると確信しています。
gb<<INVAL></INVAL>
テーブル変数:ABと:BCを設定してみました。その後、変更してみました卵とベーコンの例jslクックブックから。
しかし、スライダーを動かそうとするとエラーが発生します。

//use table variables instead :AB & :BC
//Eggs = 50; // :AB
//Bacon = 50; // :BC
//window
New Window( "Slider Display",
Border Box( Left( 10 ), Right( 10 ), top( 10 ), bottom( 10 ),
V List Box(
H List Box(
Text Box( "AB" ), // slider label
ABsb = Slider Box( 0, 2000, :AB, // slider script follows...
ABnb << set( :AB ); // update the value
// this example doesn't need any other interactive
// update. You could do some other work here, using
// the slider's value to change a graph, perhaps.
),
// text box to hold the slider's value...
ABnb = Number Edit Box( :AB, <<SETFUNCTION></SETFUNCTION>(私は思います)スライダーボックスでテーブル変数を更新します。これにより、データテーブルの数式が更新され、グラフが更新されます。
この行が必要になると確信しています。
gb<<INVAL></INVAL>