亲自, “比他们的纪录更令人难忘的运动员”我喜欢他,因为他有一种无法用数字表达的英雄品质,但这次的主题是: ”保留在记录中,而不是记忆中”让我告诉你重要性。当我进入职场时,我被告知,每当老板叫我参加新员工培训时,我都应该随身携带一张纸条并记录下所说的内容。
在数据分析工作中,数据处理往往是耗时的。联合管理计划我很庆幸它有很多处理功能,但是当我过了一段时间打开处理后的数据时,我看不到做了什么样的数据处理。记忆可能已经没有剩下的了。在这种情况下,您可以记录整个处理流程。记录我很遗憾我应该这么做。
JMP 16所以,动作记录器这项新功能允许您记录对数据表的一系列操作,例如更改列名、更改比例以及删除列和行。 *
使用该功能的分析示例如下所示。
今年2月中旬,日本开始接种新冠病毒疫苗。厚生劳动省的网站上有疫苗接种结果的数据。 ( https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/vaccine_sesshujisseki.html )
联合管理计划目的是读取此页面上的数据并创建条形图和折线图,显示每个日期的累计疫苗接种次数和设施数量。
*笔记:有一些数据表操作无法保留为记录。
加载数据并记录数据表操作
联合管理计划所以, [从互联网上打开]从菜单上看,网址您可以通过指定来读取数据。下图是使用该函数加载的示例。 (注意:此示例实际上运行脚本时更改了列名称行和数据起始行。)

数据已加载,但无法按原样绘制所需的图形。要创建用于绘图的数据,请对数据表执行以下操作。
- “设施数量”栏(*) ”列名称更改为“设施数量”并将其更改为连续刻度。
- 最后总计行(在本例中23线)。
- 柱子 ” 1第一次”、“ 2 “疫苗接种次数”是当天疫苗接种次数的数据,因此创建了一个新列来显示累计疫苗接种次数。
- 将连续列中的值显示为逗号分隔值。
JMP 16现在,当您对上面的数据表执行操作时,该操作的脚本会自动输出到日志中。如下所示的日志记录了打开数据以及对数据表的操作。

上图中选择的“更改栏信息:设施数量”栏将更改“设施数量”栏(*)这是将“列名”更改为“设施数量”并更改为连续刻度时的记录。此操作的脚本显示在窗口底部。
通过一系列的操作,我能够创建一个用于绘图的数据表,如下所示。

记录分析结果并运行脚本
从创建的数据表中,您可以使用图表生成器创建每天的累计疫苗接种次数和设施数量的图表。无论是疫苗接种设施还是疫苗接种数量都大幅增加,但考虑到日本的总体人口,感觉还有很长的路要走。

当您关闭图形生成器报告窗口时,与图形生成器相关的脚本将添加到日志中。
选择迄今为止创建的所有日志,通过选择左上角红色小三角按钮中的“运行脚本”,可以重新运行加载数据、创建数据、创建图表等一系列分析操作。

还,通过在日志左上角的红色小三角按钮中选择[保存脚本] > [到脚本窗口],可以将自动创建的脚本导出到脚本窗口,如下所示。

这个文件联合管理计划脚本格式(扩展名*.jsl ),即使数据变成新的,您也可以通过运行此脚本使用新数据创建分析结果。太令人惊讶了!
对创建的脚本进行一些更改,使其更加通用。
但是,有时无法将创建的脚本直接用于新数据。每天都会添加新的疫苗接种数据。操作顺序涉及删除最后一个“总计”行,但请参考下面的脚本, 23记录为删除该行。

已经1如果每日数据增加,请单击此处。 24它必须是第一行,或者更一般地说,脚本必须删除数据表的最后一行。在这种情况下,分析师必须修改脚本以使其更加通用。
在这篇博客的最后,我们创建了一个使用一系列操作创建的脚本,对其进行了轻微的修改,并使其更加通用。
我们绝对推荐有一个“动作记录器”功能,可以记录从数据加载到数据创建和分析的所有内容。记忆操作 JMP。记录请尝试。
// ワクチン接種データからグラフを作成するスクリプト
//: HTMLデータの読み込み */
dt = Open(
"https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/vaccine_sesshujisseki.html",
HTML Table( 1, Column Names( 1 ), Data Starts( 2 ) )
);
// 列情報の変更: 施設数
dt:"施設数(*)"n << Data Type( Numeric ) <<
Set Name( "施設数" ) << Set Modeling Type( "Continuous" ) << Set Field Width( 12 );
// 選択されている行を削除
// Data Table( "vaccine_sesshujisseki.html" ) << Clear Select << Select Rows( [23] )
// << Delete Rows;
dt << Delete Row(Nrow(dt));
// 計算式列の新規作成
dt <<
New Column( "累積[内1回目]",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Col Cumulative Sum( :内1回目 ) )
) << New Column( "累積[内2回目]",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Col Cumulative Sum( :内2回目 ) )
) << Move Selected Columns( {:"累積[内1回目]"n, :"累積[内2回目]"n}, after( :内2回目 ) );
// 列属性の一括設定
Local( {old dt = Current Data Table()},
Current Data Table( dt );
For Each( {col, index}, {:接種回数, :内1回目, :内2回目, :"累積[内1回目]"n, :"累積[内2回目]"n, :施設数},
col << Format( "Best", Use thousands separator( 1 ), 13 )
);
Current Data Table( old dt );
);
// レポートのスナップショット: vaccine_sesshujisseki.html - グラフビルダー
dt <<
Graph Builder(
Size( 846, 555 ),
Show Control Panel( 0 ),
Show Title( 0 ),
Variables(
X( :日付 ),
Y( :"累積[内1回目]"n ),
Y( :"累積[内2回目]"n, Position( 1 ) ),
Y( :施設数 )
),
Elements(
Position( 1, 1 ),
Bar( X, Y( 1 ), Y( 2 ), Legend( 4 ), Bar Style( "Stacked" ) )
),
Elements( Position( 1, 2 ), Line( X, Y, Legend( 6 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "日本の新型コロナワクチン接種実績" ), Image Export Display( 通常 )}
),
Dispatch(
{},
"累積[内1回目]",
ScaleBox,
{Format( "Best", Use thousands separator( 1 ), 12 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
6,
Properties( 0, {Line Color( 70 )}, Item ID( "施設数", 1 ) )
)}
),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "累積接種回数" )} ),
Dispatch( {}, "Y 1 title", TextEditBox, {Rotate Text( "Left" )} )
)
);