Re: どのように使用户输入的值自動的改变制表平台里的合格率に基づく?いくつかのアプローチがあります。 以下は、eval 挿入関数を使用する例です。
これページも表現を理解するのに役立ちます。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
create tabulate = Expr(
Parse(
Eval Insert(
"\[
tabulate box = dt << Tabulate(
Set Format(
Mean(
:Name( "age" )(6, "Best"),
:Name( "height" )(6, "Best"),
:Name( "weight" )(6, "Best"),
Analysis Columns(
Transform Column(
"age rate",
Formula ( if(:age ^aglf^ ^agel^ & :age ^aguf^ ^ageu^ ,1,0) ),
Format( 9, 2, "Percent" )
)
),
Analysis Columns(
Transform Column(
"height rate",
Formula( if(:height ^helf^ ^heil^ & :height ^heuf^ ^heiu^ ,1,0) )
),
//强行修改格式
Format( 9, 2, "Percent" )
),
Analysis Columns(
Transform Column(
"weight rate",
Formula( if(:weight ^welf^ ^weil^ & :weight ^weuf^ ^weiu^ ,1,0) )
),
Format( 9, 2, "Percent" )
)
),
N( 9, "Best" )
),
Add Table(
Column Table(
//具体固定统计列
Analysis Columns( :Name( "age" ), :Name( "weight" ), :Name( "height" ) ),
Statistics( Mean, Range )
),
//调整样本量列的实际位置
Column Table( Statistics( N ) ),
column table(
Analysis Columns(
Transform Column(
"rate age",
Formula( if(:age ^aguf^ ^agel^ & :age ^aguf^ ^ageu^ ,1,0) )
)
),
Statistics( Mean )
),
Column Table(
Analysis Columns(
Transform Column(
"height rate",
Formula( if(:height ^helf^ ^heil^ & :height ^heuf^ ^heiu^ ,1,0) )
)
),
Statistics( Mean )
),
Column Table(
Analysis Columns(
Transform Column(
"weight rate",
Formula( if(:weight ^welf^ ^weil^ & :weight ^weuf^ ^weiu^ ,1,0) )
)
),
Statistics( Mean )
),
//临时固定类别列,且可以通过拖拽进行增删
Row Table( Grouping Columns( :sex ) )
)
)
]\"
)
)
);
nw = New Window( "合格率报表",
Data Filter Context Box(
H List Box(
dfsb = Current Data Table() << Data Filter( Local ),
Platform(
Current Data Table(),
V List Box(
Outline Box( "请输入所有参数规格限",
Lineup Box( N Col( 3 ), Spacing( 5 ),
Panel Box( "age",
Lineup Box( N Col( 3 ), Spacing( 5 ),
Text Box( "upper " ),
dluf = Combo Box( {"<=", "<"} ),
dlu = Number Edit Box( 15 ),
Text Box( "lower " ),
dlbf = Combo Box( {">=", ">"} ),
dlb = Number Edit Box( -3 )
)
),
Panel Box( "height",
Lineup Box( N Col( 3 ), Spacing( 5 ),
Text Box( "upper " ),
dauf = Combo Box( {"<=", "<"} ),
dau = Number Edit Box( 15 ),
Text Box( "lower " ),
dabf = Combo Box( {">=", ">"} ),
dab = Number Edit Box( 1 )
)
),
Panel Box( "weight",
Lineup Box( N Col( 3 ), Spacing( 5 ),
Text Box( "upper " ),
dbuf = Combo Box( {"<=", "<"} ),
dbu = Number Edit Box( 15 ),
Text Box( "lower " ),
dbbf = Combo Box( {">=", ">"} ),
dbb = Number Edit Box( 1 )
)
),
Button Box( "确定",
//获取规格限数字
ageu = dlu << get;
agel = dlb << get;
heiu = dau << get;
heil = dab << get;
weiu = dbu << get;
weil = dbb << get;
//获取规格限数字是否包含
aguf = ((dluf << XPath( "//ComboBox" )) << get selected)[1];
aglf = ((dlbf << XPath( "//ComboBox" )) << get selected)[1];
heuf = ((dauf << XPath( "//ComboBox" )) << get selected)[1];
helf = ((dabf << XPath( "//ComboBox" )) << get selected)[1];
weuf = ((dbuf << XPath( "//ComboBox" )) << get selected)[1];
welf = ((dbbf << XPath( "//ComboBox" )) << get selected)[1];
Try( tabulate box << delete );
tabulate << append( Eval( create tabulate ) );
)
)
),
//
tabulate = V List Box();
//
)
)
)
)
);Re: ユーザーが入力した値に応じて、集計プラットフォームで資格率を自動的に変更するにはどうすればよいですか?どうもありがとう、聞いてもいいですか? 「||」を「&」に置き換える必要があるのはなぜですか?
Re: どのように使用户输入的值自動的改变制表平台里的合格率に基づく?元の式は「If(:age >= 8:age < 20, 1, 0);」のようです。
式に and 演算子が必要だと思いました。 "If(:age >= 8 & :age < 20, 1, 0);".
eval 挿入機能を使用する場合は、「||」を追加する必要はありません。この例では。
aglf = ">=";
agel = 8;
aguf = "<";
ageu = 20;
example1 = eval insert("if(:age ^aglf^ ^agel^ & :age ^aguf^ ^ageu^ ,1,0)");
Show( example1 );ユーザーが入力した値に応じて集計プラットフォームの合格率を自動的に変更するにはどうすればよいですか?ありがとうございます、初心者です。JSLの計算にユーザーが入力した比較記号と値を含める方法を教えてください。eval(parse())を使用していますが、実現できません。ありがとうございます。
names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "合格率报表",
Data Filter Context Box(
H List Box(
dfsb = Current Data Table() << Data Filter( Local ),
Platform(
Current Data Table(),
V List Box(
Outline Box( "请输入所有参数规格限",
Lineup Box( N Col( 3 ), Spacing( 5 ),
Panel Box( "age",
Lineup Box( N Col( 3 ), Spacing( 5 ),
Text Box( "upper " ),
dluf = Combo Box( {"<=", "<"} ),
dlu = Number Edit Box(15),
Text Box( "lower " ),
dlbf = Combo Box( {">=", ">"} ),
dlb = Number Edit Box(-3)
)
),
Panel Box( "height",
Lineup Box( N Col( 3 ), Spacing( 5 ),
Text Box( "upper " ),
dauf = Combo Box( {"<=", "<"} ),
dau = Number Edit Box(),
Text Box( "lower " ),
dabf = Combo Box( {">=", ">"} ),
dab = Number Edit Box()
)
),
Panel Box( "weight",
Lineup Box( N Col( 3 ), Spacing( 5 ),
Text Box( "upper " ),
dbuf = Combo Box( {"<=", "<"} ),
dbu = Number Edit Box(),
Text Box( "lower " ),
dbbf = Combo Box( {">=", ">"} ),
dbb = Number Edit Box()
)
),
Button Box( "确定",
//获取规格限数字
ageu = dlu << get;
agel = dlb << get;
heiu = dau << get;
heil = dab << get;
weiu = dbu << get;
weil = dbb << get;
//获取规格限数字是否包含
aguf = ((dluf << XPath( "//ComboBox" )) << get selected)[1];
aglf = ((dlbf << XPath( "//ComboBox" )) << get selected)[1];
heuf = ((dauf << XPath( "//ComboBox" )) << get selected)[1];
helf = ((dabf << XPath( "//ComboBox" )) << get selected)[1];
weuf = ((dbuf << XPath( "//ComboBox" )) << get selected)[1];
welf = ((dbbf << XPath( "//ComboBox" )) << get selected)[1];
)
)
),
dt << Tabulate(
Set Format(
Mean(
:Name( "age" )(6, "Best"),
:Name( "height" )(6, "Best"),
:Name( "weight")(6, "Best"),
Analysis Columns(
Transform Column( "age rate", eval(parse("if(:age"||aglf|| char(agel)|| ":age"||aguf||char(ageu)||",1,0)")) ,
Format( 9, 2, "Percent" )
)),
Analysis Columns(
Transform Column( "height rate", Formula( eval(parse("if(:height"||helf|| char(heil)|| ":height"||heuf||char(heiu)||",1,0)")) ) ),
//强行修改格式
Format( 9, 2, "Percent" )
),
Analysis Columns( Transform Column( "weight rate", Formula( eval(parse("if(:weight"||welf|| char(weil)|| ":weight"||weuf||char(weiu)||",1,0)")) ) ), Format( 9, 2, "Percent" ) )
),
N( 9, "Best" )
),
Add Table(
Column Table(
//具体固定统计列
Analysis Columns( :Name( "age" ), :Name( "weight" ), :Name( "height" ) ),
Statistics( Mean, Range )
),
//调整样本量列的实际位置
Column Table( Statistics( N ) ),
column table(Analysis Columns(
Transform Column( "rate age", Formula( eval(parse("if(:age"||aguf|| char(agel)|| ":age"||aguf||char(ageu)||",1,0)"))) ) ),Statistics( Mean )
),
Column Table(
Analysis Columns( Transform Column( "height rate", Formula( eval(parse("if(:height"||helf|| char(heil)|| ":height"||heuf||char(heiu)||",1,0)")) ) ) ),
Statistics( Mean )
),
Column Table(
Analysis Columns( Transform Column( "weight rate", Formula( eval(parse("if(:weight"||welf|| char(weil)|| ":weight"||weuf||char(weiu)||",1,0)")) ) ) ),
Statistics( Mean )
),
//临时固定类别列,且可以通过拖拽进行增删
Row Table( Grouping Columns( :sex ) )
)
);
)))))高度な統計モデリング自動化とスクリプト作成マックOS