你好,
我對在 JMP 中實現目標沒有任何問題。
在 JSL 中,我可以做一些事情,但不希望它與綁定到資料集的特定列相關。
最直接的是,我選擇的列列表不適合被評估為分發平台的列表,並且想要了解需要修正的內容。
我參考過這個帖子。編寫分佈圖中分組的多列腳本
dt = Open("$Sample_Data/Semiconductor Capability.jmp");
cnames = dt << get column names("Continuous", "string");
//Here I will just use 10
cnames = cnames[1::10];
dist = dt << Distribution(Columns(evalList(cnames)));
就我而言:
- 我的變數不是列名列表,而是選定的列? - 這打破了分佈圖
- 列分組工作正常,但在這裡被破壞,只是選擇列
還有一些情況,選擇了列,調出了分發平台,但等待用戶選擇列。
dt = Current Data Table();
all_col_names = dt << get column names( string );
number_columns = N Cols( dt );
dt << Clear Column Selection;
//2. Containing Keyword Column Grouping
found_list = {};
keyword_group_list = {"ParamOne","ParamTwo"};
//3. Loop over columns keywords to group
For( i = 1, i <= N Items( keyword_group_list ), i++,
found_list = {};
For( k = 1, k <= N Items( col_names ), k++,
If( contains( col_names[k], keyword_group_list[i] )>0,
Insert Into( found_list, col_names[k] );
As Column( col_names[k] ) << Set Selected( 1 );
);
);
);
col_to_plot = dt << Get Selected Columns;
distParams = dt << Distribution(Columns(evalList(col_to_plot)));
distParams << arrange in rows(3);
report(distParams)[OutlineBox(2)] << Open all like this(1);
為了將規範限制寫入資料表,我一直在使用添加項,但想了解如何將對此的呼叫集成為整個腳本的一部分。將限制從限製表寫入資料表
然後,我需要建議如何包含以下內容,但請參考通用 col[i]
我可以嘗試從報告中以表格形式提取 Cpk。
SendToReport(
Dispatch(
{"ParamOne_a"},
"1",
ScaleBox,
{Label Row( Show Major Labels( 0 ) )}
)
)
我將提出一些完全不同的建議來實現相同的目標。
步驟1。 製作您的規格表,僅包含您想要使用的變數。
第二步,使用此範例匯入規格限並將其儲存到列屬性中。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = dt <<
Process Capability(
Process Variables( :OZONE, :CO, :SO2, :NO ),
Spec Limits(
Import Spec Limits(
"$SAMPLE_DATA/CitySpecLimits.jmp"
)
)
);
obj << Save Spec Limits as Column Properties;
這樣可以將您的範例減少到 12 行程式碼,但也許這樣可以?
乾杯,
乙