Re:有沒有辦法讓用戶選擇要過濾的列中的常用產品#,然後根據過濾後的選擇生成報告?你可以使用 JMP查詢生成器自動創建此工作流程。使用產品編號列作為篩選列,然後選擇提示運行選項。

然後,您可以轉到紅色三角形並選擇“複製運行腳本”並將該腳本粘貼到腳本中,以創建子集表作為腳本的一部分。

Re:有沒有辦法讓用戶選擇要過濾的列中的常用產品#,然後根據過濾後的選擇生成報告?這是'骨頭',但它應該讓你開始。
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Summarize( age group = By( :age ) );
// you could also use an associative array to get the unique levels.
New Window( "Selection", << Modal,
lb = List Box(
age group,
),
Button Box( "OK",
got em = lb << Get Selected;
)
);
For( g = 1, g <= N Items( got em), g++,
// do something with each selected group
Show( got em[g] );
);
Re:有沒有辦法讓用戶選擇要過濾的列中的常用產品#,然後根據過濾後的選擇生成報告?建立在 @markbailey 的方法,這裡有一些(舊的)代碼:
NamesDefaultToHere(1);
// Make a table with a list of 'products'
dt = NewTable("Products", NewColumn("Product ID", Character, Nominal, Formula(Char(RandomInteger(1, 10)))));
dt << addRows(20);
dt << runFormulas;
// Put up a list of distinct products that occur in 'dt'
prods = AssociativeArray(Column(dt, "Product ID") << getValues) << getKeys;
nw = NewWindow("Pick some Products from the List",
lb = ListBox(prods),
ButtonBox("OK", OKscript)
);
// This script runs when the user hits 'OK'
OKscript =
Expr(
nw << closeWindow;
// Find out which products were selected
selecedProds = lb << getSelected;
// Find out all corresponding rows in 'dt'
selectedRows = [];
for(p=1, p<=NItems(selecedProds), p++,
selectedRows = VConcat(selectedRows, dt << getRowsWhere(:Product ID == selecedProds[p]))
);
// Make the subset table
dt2 = dt << Subset(Rows(selectedRows), LinkToOriginalDataTable(1));
);Re:有沒有辦法讓用戶選擇要過濾的列中的常用產品#,然後根據過濾後的選擇生成報告?如果我想對現有表執行此操作,並相應地獲取與此表關聯的所有列,但僅將特定於已過濾產品的各個行帶出來,我該如何做到這一點?
Re:有沒有辦法讓用戶選擇要過濾的列中的常用產品#,然後根據過濾後的選擇生成報告?以下是此代碼的片段,請注意dt2(PrimaryRFR_OUT_2015)是我有興趣按產品CFN過濾,創建新表並保存此表的數據表。請注意,過濾器框準確顯示正確的產品CFN列表,但是一旦我點擊OK,我會收到“Invalid Row#”:
dt2 << Save( "PrimaryRFR_OUT_2015.jmp" );
tab = dt2 << Tabulate(
Add Table(
Column Table( Grouping Columns( :Code LLT of OUT_2015 ) ),
Row Table( Grouping Columns( :Code LLT of PrimaryRFR_2015, :Code LLT Desc of PrimaryRFR_2015) )
)
);
dt_tab = tab << Make Into Data Table;
dt_tab << set name( "Tabulate" );
dt_tab << Save( "PrimaryRFR_OUT_Tabulate_2015.jmp" );
prods = AssociativeArray(Column(dt2, "Product CFN") << getValues) << getKeys;
nw = NewWindow("Pick Products from the List to be filtered",
lb = ListBox(prods),
ButtonBox("OK", OKscript)
);
OKscript =
Expr(
nw << closeWindow;
SelectedProds = lb << getSelected;
selectedRows = [];
for( p = 1, p <= NItems( SelectedProds ), p++,
selectedRows = VConcat( selectedRows, dt << getRowsWhere( :Product CFN == SelectedProds[p]))
);
dt5 = dt2 << Subset(Rows(selectedRows), LinkToOriginalDataTable(1));
);
Re:有沒有辦法讓用戶選擇要過濾的列中的常用產品#,然後根據過濾後的選擇生成報告?在您開始的行中
selectedRows = VConcat(selectedRows .........。
對“dt”的引用應為“dt2”Re:有沒有辦法讓用戶選擇要過濾的列中的常用產品#,然後根據過濾後的選擇生成報告?有時你會在自己的編碼中迷失方向,忘記了哪種方式上升,哪種方式下降。謝謝你們!:)Re:有沒有辦法讓用戶選擇要過濾的列中的常用產品#,然後根據過濾後的選擇生成報告? 我發現了錯誤,因為我之前犯了很多次同樣的錯誤:-)
Re:有沒有辦法讓用戶選擇要過濾的列中的常用產品#,然後根據過濾後的選擇生成報告?還有一次拍攝,如何使用新產品現在保存此文件?它沒有保存我的ZACH_2015.jmp
//*** Create a window to prompt user to filter for Model numbers they would like to use
prods = AssociativeArray(Column( dt2, "Product CFN" ) << getValues) << getKeys;
nw = NewWindow( "Pick Products from the List to be filtered",
lb = ListBox( prods ),
ButtonBox( "OK", OKscript )
);
OKscript =
Expr(
nw << closeWindow;
SelectedProds = lb << getSelected;
selectedRows = [];
for( p = 1, p <= NItems( SelectedProds ), p++,
selectedRows = VConcat( selectedRows, dt2 << getRowsWhere( :Product CFN == SelectedProds[p]))
);
dt5 = dt2 << Subset(Rows(selectedRows), LinkToOriginalDataTable(1));
);
dt5 << Save( "ZACH_2015.jmp");
Re:有沒有辦法讓用戶選擇要過濾的列中的常用產品#,然後根據過濾後的選擇生成報告?日誌對保存有什麼看法?我建議您使用更精確的路徑/數據表引用。數據表保存到的默認位置可能不在您認為保存的位置。Re:有沒有辦法讓用戶選擇要過濾的列中的常用產品#,然後根據過濾後的選擇生成報告?這在我指定文件路徑/位置時有效。
跟進:如果我想為用戶簡化並將其保存在我提示用戶在開頭選擇的活動選擇目錄中,我該如何做?
Re:有沒有辦法讓用戶選擇要過濾的列中的常用產品#,然後根據過濾後的選擇生成報告?- 請參閱我發布的上一個回复的更新。
- 您可以在路徑中為Save保存環境變量。
dt << save( "$TEMP/myfile.jmp" );
您可以在“腳本指南”中獲取JMP環境變量列表
- 您還可以創建文件夾。 使用Windows環境變量查找其Documents文件夾的路徑,您可以創建一個新文件夾,並將所有輸出放在那裡。 在後續運行中,您可以測試該文件夾是否存在,如果存在,則繞過創建步驟。
Re:有沒有辦法讓用戶選擇要過濾的列中的常用產品#,然後根據過濾後的選擇生成報告?3。是否有一行代碼可以開始設置一個名為“JMP Data”的新文件夾,並將所有內容存儲在那裡,在後續運行中只需檢查它是否已存在於用戶目錄中?
親切的問候,
扎克有沒有辦法讓用戶選擇要過濾的列中的常用產品#,然後根據過濾後的選擇生成報告?例如,我想提示用戶在腳本中的某個特定位置讓他們選擇要在此特定行中表示的產品編號進行過濾,並讓JMP根據此輸入創建新表。
謝謝,
扎克