亲爱的。
我正在尝试自动加入一张桌子但是失败了。
我的表格显示了一个带有类别的日期,该日期按小时增加了。
此外,它还显示了一个类别 - ABCD。该表称为日期类别。
现在,我需要一个显示日期和小时数以及分钟数增加的表格。
我附加了第二张表格。( date-category-goto )。
有人可以将该类别加入到我的 goto 表中吗?(并添加脚本?)
下一步我想从我们的过程控制系统中提取我的因素和响应,然后看看
哪个“类别”对流程做出了最大的改变....
最好的祝愿。
是
嗨@Ole_Luehn ,
我能够将两个表格合并起来,并且能够找到 JSL 代码来填充并用以前的值替换缺失值(这也可以通过 GUI 完成)。
// Open Data Table: Date_Category.jmp
// → Data Table( "Date_Category" )
Open( "$DESKTOP/Data/Date_Category.jmp" );
// Open Data Table: Date-Category-Goto.jmp
// → Data Table( "Date-Category-Goto" )
Open( "$DESKTOP/Data/Date-Category-Goto.jmp" );
// Change column info: Date
Data Table( "Date_Category" ):Date << Data Type( Character ) <<
Set Modeling Type( "Nominal" );
// Change column info: Date-goto
Data Table( "Date-Category-Goto" ):"Date-goto"n << Data Type( Character ) <<
Set Modeling Type( "Nominal" );
// Change column name: Category → Category1
Data Table( "Date_Category" ):Category << Set Name( "Category1" );
// Join data tables
// → Data Table( "Test" )
Data Table( "Date-Category-Goto" ) << Join(
With( Data Table( "Date_Category" ) ),
Select( :"Date-goto"n ),
SelectWith( :Category1 ),
By Matching Columns( :"Date-goto"n = :Date ),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 0 ),
Preserve main table order( 1 ),
Output Table( "Test.jmp" )
);
//Fill in empty rows
Names Default To Here( 1 );
dt = Current Data Table();
dtcollist = dt << get column names;
dtMat = (dt << Get All Columns As Matrix);
For( i = 1, i <= N Items( selection ), i++,
colNum = Contains( dtColList, Name Expr( selection[i] ) );
vMat = dtMat[0, colNum];
mis = Loc( Is Missing( vMat ) );
If( N Row( mis ),
col = column(selection[i]);
If( mis[1] == 1,
col[1] = col[(Loc( vMat ))[1]]
);
For( j = if(mis[1]==1, 2, 1), j <= N Row( mis ), j++,
col[mis[j]] = col[mis[j] - 1]
);
);
);

请参考下面的链接,因为我无法真正解释填充脚本的工作原理;
https://community.jmp.com/t5/Discussions/How-to-replace-empty-rows-until-next-entry-and-continue/td-p/269171
https://community.jmp.com/t5/JMP-Add-Ins/Fill-Missing-Cells/ta-p/460326
你好。它起作用了——我下载了这个插件——并更新了我的合并文件。
谢谢 - 现在我可以继续了。
最好的祝愿。
奥莱