グラフビルダー積み上げ棒グラフJMP 17 に添付されているのは、部品の総数、故障の総数、故障の合計 % の月次数値と、パラメータが失敗した個別の数値を含む単純なデータ テーブルです。 私が必要とする積み上げ棒グラフは、X 軸が月、Y 軸が合計失敗率 (%) です。 次に、これらのバーを、各パラメータの月次パーセンテージで失敗したパラメータをブレイクアウトして積み上げたいと思います。 以下は、私が ppt で作成したもののスクリーンショットです (図 1 を参照)。 グラフビルダーではこれを取得できませんでした。 データを積み重ねたり、列を操作したりしてみましたが、うまくいきません。
要約すると、Y 軸上に失敗した部品の全体の合計 % を棒として表示し、その棒に月ごとに失敗した各パラメータの割合を示します。 サンプルデータテーブルを以下に添付します。 ありがとう。
図1

データの探索と視覚化ウィンドウズRe: グラフ ビルダーの積み上げ棒グラフジム:
ご返答ありがとうございます。 Multiple Series Stack オプションについては知らなかったので、これは素晴らしいヒントです。 生成したグラフの唯一の問題は Y 軸でした。 バーの全体の高さとして月ごとの合計%を探していました。 したがって、1 月の場合は 10%、2 月は 4%、3 月は 15% になります。 Y 軸は、月ごとの全体的な失敗の割合になります。 次に、これらのバーのそれぞれが、失敗したパラメータの割合に細分化されます。 1 月の全体の 10% バーは、20% Parm 1 / 80% Parm 2 に分割されます。 2 月の全体の 4% バーは、16.7% Parm 1 / 50% Parm 2 / 33.3% Parm 3 に細分されます。 次に、3 月の全体の 15% バーは、37% Parm 1 / 29.6% Parm 2 / 33.3% Parm 3 に細分化されます。 現時点ではグラフ ビルダーを使用して調整することはできないため、テーブルをさらに調整する必要があるかもしれません。 再度、感謝します。
Re: グラフ ビルダーの積み上げ棒グラフ必要なグラフを作成するには、データ テーブルの構造と、一部のデータ テーブルの RowStates および Column States の設定を変更する必要があります。

以下のスクリプトはデータ テーブルの構造を変更し、上記の最終的なグラフを描画します。スクリプト内のすべての操作は対話的に実行できます。実際、すべてが対話的に行われ、JMP が提供したスクリプトを 1 つの最終スクリプトにコピーしただけです。
Names Default to here(1);
dt = current data table();
dtStack = dt <<
Stack(
columns(
:Parm 1 # Fails, :Parm 2 # Fails, :Parm 3 # Fails, :Parm 1 % Fail,
:Parm 2 % Fail, :Parm 3 % Fail
),
Source Label Column( "Parameter" ),
Stacked Data Column( "Counts" ),
Number of Series( 2 ),
Contiguous
);
// Change the name of the column that has the % values
dtStack:Counts 2 << set name("Percent");
// Divide each row value for the percent column to conform
// to the percent values for a JMP column
for each row(
:Percent = :Percent / 100;
);
// Change the display format for the percent column to
// display a % sign in the values
dtStack:Percent << format("Percent", 7, 0);
// A column needs to be set to have the correct display values for
// the legend. Also, the alphabetical ordering will determine the
// order of the subbar values. So recode the column to meet those
// specifications
// Recode column: Parameter
Local( {dt},
dt = dtStack;
dt << Begin Data Update;
dt << Recode Column(
dt:Parameter,
{Map Value(
_rcOrig,
{"Parm 1 # Fails", "3. Parm 1", "Parm 2 # Fails", "2. Parm 2",
"Parm 3 # Fails", "1. Parm 3"},
Unmatched( _rcNow )
)},
Update Properties( 1 ),
Target Column( :Parameter )
);
dt << End Data Update;
);
// Label column: Percent to be used to label the graph
dtStack:Percent << Label( 1 );
// Label all rows to show which values from the percent column
// to label
dtStack << Select All Rows << Label(1);
dtStack << clear selection;
dtStack << invert row selection;
// Draw the graph
Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :Month ), Y( :Counts ), Overlay( :Parameter ) ),
Elements(
Bar( X, Y, Legend( 7 ), Bar Style( "Stacked" ), Label( "Label by Row" ) )
),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
7,
Properties(
0,
{Fill Color( 73 )},
Item ID( "1. Parm 3", 1 )
),
Properties(
1,
{Fill Color( 25 )},
Item ID( "2. Parm 2", 1 )
),
Properties(
2,
{Fill Color( -7183127 )},
Item ID( "3. Parm 1", 1 )
)
)}
)
)
);
これは、最終的なグラフの作成に使用された再構成されたデータ テーブルです。

Re: グラフ ビルダーの積み上げ棒グラフジム:
ついにグラフビルダーを介して動作するものを手に入れました。 ご提供いただいた解決策をありがとうございます。 あなたが指摘した複数シリーズは、この演習のコードと同様に、今後の大きな助けとなります。 ありがとうございました。
Re: グラフ ビルダーの積み上げ棒グラフ合計に対する % への変更は、積み上げデータ テーブルの列を与える簡単な数式です。「% of Total」という新しい列を追加し、それをグラフ内で Y 軸として使用しました。

Names Default To Here( 1 );
dt = Current Data Table();
dtStack = dt << Stack(
columns(
:Parm 1 # Fails, :Parm 2 # Fails, :Parm 3 # Fails, :Parm 1 % Fail,
:Parm 2 % Fail, :Parm 3 % Fail
),
Source Label Column( "Parameter" ),
Stacked Data Column( "Counts" ),
Number of Series( 2 ),
Contiguous
);
// Change the name of the column that has the % values
dtStack:Counts 2 << set name( "Percent" );
dtStack << New Column( "% of Total", Format( "Percent", 7, 0 ) );
// Divide each row value for the percent column to conform
// to the percent values for a JMP column
For Each Row(
:Percent = :Percent / 100;
:"% of Total"n = :counts / :Total Fails * (:total % Fail / 100);
);
// Change the display format for the percent column to
// display a % sign in the values
dtStack:Percent << Format( "Percent", 7, 1 );
// A column needs to be set to have the correct display values for
// the legend. Also, the alphabetical ordering will determine the
// order of the subbar values. So recode the column to meet those
// specifications
// Recode column: Parameter
Local( {dt},
dt = dtStack;
dt << Begin Data Update;
dt << Recode Column(
dt:Parameter,
{Map Value(
_rcOrig,
{"Parm 1 # Fails", "3. Parm 1", "Parm 2 # Fails", "2. Parm 2",
"Parm 3 # Fails", "1. Parm 3"},
Unmatched( _rcNow )
)},
Update Properties( 1 ),
Target Column( :Parameter )
);
dt << End Data Update;
);
// Label column: Percent to be used to label the graph
dtStack:Percent << Label( 1 );
// Label all rows to show which values from the percent column
// to label
dtStack << Select All Rows << Label( 1 );
dtStack << clear selection;
dtStack << invert row selection;
// Draw the graph
Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :Month ), Y( :"% of Total"n ), Overlay( :Parameter ) ),
Elements(
Bar( X, Y, Legend( 7 ), Bar Style( "Stacked" ), Label( "Label by Row" ) )
),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
7,
Properties( 0, {Fill Color( 73 )}, Item ID( "1. Parm 3", 1 ) ),
Properties( 1, {Fill Color( 25 )}, Item ID( "2. Parm 2", 1 ) ),
Properties(
2,
{Fill Color( -7183127 )},
Item ID( "3. Parm 1", 1 )
)
)}
)
)
);