cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Browse apps to extend the software in the new JMP Marketplace
Choose Language Hide Translation Bar

Save the interactive plots/reports

I have an interactive report in JMP, and I want to save it so that when I reopen it, all the filters and settings are preserved. Currently, I find that I need to reapply the local filters near the charts every time I reopen the report. How can I save the report in a way that retains all the filters and settings when I reopen it?

2 REPLIES 2
jthi
Super User

Re: Save the interactive plots/reports

What does your report look like? How are you saving it?

 

I have a report like this

jthi_0-1727964812165.png

And if I save it as .jrp (with embedded data), it will open like this

jthi_1-1727964847684.png

This can also be seen from the script

View more...
Local Here(
	(table1 = New Table("Big Class",
		Add Rows(40),
		Compress File When Saved(1),
		New Script(
			["en" => "Distribution",
			"ja" => "一変量の分布",
			"x-id" => "S_Distribution_Scp",
			"zh-CN" => "分布"],
			Distribution(
				Continuous Distribution(Column(:weight)),
				Nominal Distribution(Column(:age))
			)
		),
		New Script(
			["en" => "Bivariate",
			"ja" => "二変量の関係(二変量)",
			"x-id" => "S_Bivariate_Scp",
			"zh-CN" => "二元"],
			Bivariate(Y(:weight), X(:height), Fit Line)
		),
		New Script(
			["en" => "Oneway",
			"ja" => "二変量の関係(一元配置)",
			"x-id" => "S_Oneway_Scp",
			"zh-CN" => "单因子"],
			Oneway(Y(:height), X(:sex), Means(1), Mean Diamonds(1))
		),
		New Script(
			["en" => "Logistic",
			"ja" => "二変量の関係(ロジスティック)",
			"x-id" => "S_Logistic_Scp",
			"zh-CN" => "Logistic"],
			Logistic(Y(:age), X(:weight))
		),
		New Script(
			["en" => "Contingency",
			"ja" => "二変量の関係(分割表)",
			"x-id" => "S_Contingency_Scp",
			"zh-CN" => "列联"],
			Contingency(
				Y(:age),
				X(:sex),
				Crosstabs(
					Count(1),
					Total %(1),
					Col %(1),
					Row %(1),
					Expected(0),
					Deviation(0),
					"Cell Chi^2"n(0)
				)
			)
		),
		New Script(
			["en" => "Fit Model",
			"ja" => "モデルのあてはめ",
			"x-id" => "S_Fit_Model_Scp",
			"zh-CN" => "拟合模型"],
			Fit Model(
				Y(:weight),
				Effects(:age, :sex, :height),
				Personality("Standard Least Squares"),
				Run(
					:weight << {Plot Actual by Predicted(1),
					Plot Residual by Predicted(1), Plot Effect Leverage(1)}
				)
			)
		),
		New Script(
			["en" => "Set Sex Value Labels",
			"ja" => "性別に値ラベルをセット",
			"x-id" => "S_Set_Sex_Value_Labels_Scp",
			"zh-CN" => "设置性别值标签"],
			Column("sex") << ValueLabels({"M", "F"}, {"Male", "Female"});
			Column("sex") << UseValueLabels;
		),
		New Script(
			["en" => "Set Age Value Labels",
			"ja" => "年齢に値ラベルをセット",
			"x-id" => "S_Set_Age_Value_Labels_Scp",
			"zh-CN" => "设置年龄值标签"],
			Column("age") << ValueLabels(
				{12, 13, 14, 15, 16, 17},
				{"Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen"
				}
			);
			Column("age") << UseValueLabels;
		),
		New Script(
			["en" => "Graph Builder Smoother Line",
			"ja" => "グラフビルダー 平滑線",
			"x-id" => "S_Big_Class_Graph_Builder_Smoother_Line_Scp",
			"zh-CN" => "图形生成器: 平滑线"],
			Graph Builder(
				Show Control Panel(0),
				Variables(X(:height), Y(:weight), Overlay(:sex)),
				Elements(Points(X, Y, Legend(1)), Smoother(X, Y, Legend(2)))
			)
		),
		New Script(
			["en" => "Graph Builder Line and Bar Charts",
			"ja" => "グラフビルダー 折れ線・棒",
			"x-id" => "S_Big_Class_Graph_Builder_Line_and_Bar_Chart_Scp",
			"zh-CN" => "图形生成器: 线图和条形图"],
			Graph Builder(
				Show Control Panel(0),
				Variables(
					X(:age, Size(15, 20)),
					Y(:height, Size(38, 36)),
					Y(:weight)
				),
				Elements(
					Position(1, 1),
					Line(X, Y, Legend(1), Row order(0), Summary Statistic("Mean"))
				),
				Elements(
					Position(1, 2),
					Bar(
						X,
						Y,
						Legend(2),
						Bar Style("Side by side"),
						Summary Statistic("Mean")
					)
				)
			)
		),
		New Script(
			["en" => "Graph Builder Line Chart",
			"ja" => "グラフビルダー 折れ線",
			"x-id" => "S_Big_Class_Graph_Builder_Line_Chart_Scp",
			"zh-CN" => "图形生成器: 线图"],
			Graph Builder(
				Show Control Panel(0),
				Variables(X(:age), Y(:height), Overlay(:sex)),
				Elements(
					Line(X, Y, Legend(3), Row order(0), Summary Statistic("Mean")),
					Points(X, Y, Legend(4), Jitter(1))
				),
				SendToReport(
					Dispatch({}, "400", ScaleBox,
						{Legend Model(
							4,
							Base(0, 0, 0),
							Base(1, 0, 1),
							Properties(0, {Marker("Plus")}),
							Properties(1, {Marker("Square")})
						)}
					)
				)
			)
		),
		New Script(
			["en" => "Graph Builder Heatmap",
			"ja" => "グラフビルダー ヒートマップ",
			"x-id" => "S_Big_Class_Graph_Builder_Heat_Map_Scp",
			"zh-CN" => "图形生成器: 热图"],
			Graph Builder(
				Show Control Panel(0),
				Variables(X(:age), Y(:sex)),
				Elements(Heatmap(X, Y, Legend(2)))
			)
		),
		New Script(
			["en" => "JMP Application: Six Quality Graphs",
			"ja" => "JMPアプリケーション: 品質を表す6つのグラフ",
			"x-id" => "S_Big_Class_JMP_Application_Capability_2_Scp",
			"zh-CN" => "JMP 应用程序: 六个质量图形"],
			JMP App(
				Set Name("Application"),
				Set Description("Description"),
				Auto Launch(1),
				Snap To Grid(1),
				Show Grid(1),
				Show Properties(1),
				Show Sources(0),
				Group By Category(1),
				Dashboard Mode(0),
				Parameters,
				Tables(
					DataTable1 = GuiTable(
						Set Path("$SAMPLE_DATA/Big Class.jmp"),
						Set Label("DataTable1"),
						Set Location("Current Data Table"),
						Set Invisible(0)
					)
				),
				Script(JSL Quote(// This script is executed when the application is run.
// Named objects have been created for the application modules
// (for example, "Module1") and the pre-defined object
// "thisApplication" refers to the application object itself.
// Variables and functions declared here are scoped to the
// Application namespace.

)				),
				Allocate(
					Module1 = Plan(
						PreAllocate,
						Script(JSL Quote(// This script is executed when a new module instance is
// created.  The pre-defined object "thisModuleInstance" refers
// to the instance object, but other objects such as boxes and
// scripts have not yet been created.  Variables declared here are
// scoped to the ModuleInstance namespace.

// This special function will receive parameters passed to CreateInstance()
OnModuleLoad({},
);

thisModuleInstance << Create Objects;

// After this point your module instance objects have been created
// and can be referred to by name (for example, "Button1").

)						),
						Allocate(
							Outline1 = Outline Box("");
							List1 = V List Box();
							Report2 = Platform(
								DataTable1,
								Control Chart(
									Sample Size(5),
									KSigma(3),
									Chart Col(:height, XBar, R),
									SendToReport(
										Dispatch({"XBar of height"},
											"Control Chart Limits frame", FrameBox,
											{Frame Size(64, 208)}
										),
										Dispatch({"R of height"},
											"Control Chart Limits frame", FrameBox,
											{Frame Size(64, 208)}
										)
									)
								)
							);
							Report3 = Platform(
								DataTable1,
								Control Chart(
									Sample Size(5),
									KSigma(3),
									Chart Col(
										:height,
										XBar(Box Plots(1), Connect Points(0))
									),
									SendToReport(
										Dispatch({"XBar of height"},
											"Variables Control Chart of XBar",
											FrameBox,
											{Frame Size(313, 162),
											DispatchSeg(
												Box Plot Seg(1),
												{Confidence Diamond(1),
												Line Color("Light Gray")}
											),
											DispatchSeg(
												Box Plot Seg(2),
												{Confidence Diamond(1),
												Line Color("Light Gray")}
											),
											DispatchSeg(
												Box Plot Seg(3),
												{Confidence Diamond(1),
												Line Color("Light Gray")}
											),
											DispatchSeg(
												Box Plot Seg(4),
												{Confidence Diamond(1),
												Line Color("Light Gray")}
											),
											DispatchSeg(
												Box Plot Seg(5),
												{Confidence Diamond(1),
												Line Color("Light Gray")}
											),
											DispatchSeg(
												Box Plot Seg(6),
												{Confidence Diamond(1),
												Line Color("Light Gray")}
											),
											DispatchSeg(
												Box Plot Seg(7),
												{Confidence Diamond(1),
												Line Color("Light Gray")}
											),
											DispatchSeg(
												Box Plot Seg(8),
												{Confidence Diamond(1),
												Line Color("Light Gray")}
											)}
										),
										Dispatch({"XBar of height"},
											"Control Chart Limits frame", FrameBox,
											{Frame Size(64, 162)}
										)
									)
								)
							);
							Report1 = Platform(
								DataTable1,
								Distribution(
									Continuous Distribution(
										Column(:height),
										Quantiles(0),
										Summary Statistics(0),
										Outlier Box Plot(0),
										Normal Quantile Plot(1),
										Capability Analysis(
											LSL(55),
											USL(70),
											Target(63)
										)
									)
								)
							);
						),
						Organize(
							Reparent(Outline1(Report1));
							Reparent(List1(Report3));
							Reparent(List1(Report2));
							Reparent(Outline1(List1));
							Relocate(Outline1(0, 0));
						),
						Initialize(
							Outline1 << Background Color(2147483647);
							Outline1 << Border(
								{Left(0), Top(0), Right(0), Bottom(0)}
							);
							Outline1 << Enabled(1);
							Outline1 << Horizontal Alignment("Default");
							Outline1 << Margin(
								{Left(0), Top(0), Right(0), Bottom(0)}
							);
							Outline1 << Padding(
								{Left(0), Top(0), Right(0), Bottom(0)}
							);
							Outline1 << Text Color(2147483647);
							Outline1 << UI Only(0);
							Outline1 << Vertical Alignment("Default");
							Outline1 << Visibility("Visible");
							Outline1 << Set Min Size(1139, 1030);
							Outline1 << Set Max Size(1139, 1030);
							Outline1 << Set Stretch({"Neutral", "Neutral"});
							Outline1 << Set Title("Six Quality Graphs");
							Outline1 << SetHorizontal(1);
							Outline1 << SetOpen(1);
							Outline1 << Outline Close Orientation("Auto");
							Outline1 << Set Allow Title Wrapping(1);
							Outline1 << Set Base Font("Title");
							Outline1 << Set Font Scale(1);
							List1 << Background Color(2147483647);
							List1 << Border({Left(0), Top(0), Right(0), Bottom(0)});
							List1 << Enabled(1);
							List1 << Horizontal Alignment("Default");
							List1 << Margin({Left(0), Top(0), Right(0), Bottom(0)});
							List1 << Padding({Left(0), Top(0), Right(0), Bottom(0)});
							List1 << Text Color(2147483647);
							List1 << UI Only(0);
							List1 << Vertical Alignment("Default");
							List1 << Visibility("Visible");
							List1 << Set Min Size(501, 985);
							List1 << Set Max Size(501, 985);
							List1 << Set Stretch({"Neutral", "Neutral"});
							List1 << set horizontal(0);
							Report2 << Background Color(2147483647);
							Report2 << Border(
								{Left(0), Top(0), Right(0), Bottom(0)}
							);
							Report2 << Enabled(1);
							Report2 << Horizontal Alignment("Default");
							Report2 << Margin(
								{Left(0), Top(0), Right(0), Bottom(0)}
							);
							Report2 << Padding(
								{Left(0), Top(0), Right(0), Bottom(0)}
							);
							Report2 << Text Color(2147483647);
							Report2 << UI Only(0);
							Report2 << Vertical Alignment("Default");
							Report2 << Visibility("Visible");
							Report2 << Set Min Size(481, 642);
							Report2 << Set Max Size(481, 642);
							Report2 << Set Stretch({"Neutral", "Neutral"});
							Report2 << set horizontal(0);
							Report3 << Background Color(2147483647);
							Report3 << Border(
								{Left(0), Top(0), Right(0), Bottom(0)}
							);
							Report3 << Enabled(1);
							Report3 << Horizontal Alignment("Default");
							Report3 << Margin(
								{Left(0), Top(0), Right(0), Bottom(0)}
							);
							Report3 << Padding(
								{Left(0), Top(0), Right(0), Bottom(0)}
							);
							Report3 << Text Color(2147483647);
							Report3 << UI Only(0);
							Report3 << Vertical Alignment("Default");
							Report3 << Visibility("Visible");
							Report3 << Set Min Size(481, 303);
							Report3 << Set Max Size(481, 303);
							Report3 << Set Stretch({"Neutral", "Neutral"});
							Report3 << set horizontal(0);
							Report1 << Background Color(2147483647);
							Report1 << Border(
								{Left(0), Top(0), Right(0), Bottom(0)}
							);
							Report1 << Enabled(1);
							Report1 << Horizontal Alignment("Default");
							Report1 << Margin(
								{Left(0), Top(0), Right(0), Bottom(0)}
							);
							Report1 << Padding(
								{Left(0), Top(0), Right(0), Bottom(0)}
							);
							Report1 << Text Color(2147483647);
							Report1 << UI Only(0);
							Report1 << Vertical Alignment("Default");
							Report1 << Visibility("Visible");
							Report1 << Set Min Size(585, 699);
							Report1 << Set Max Size(585, 699);
							Report1 << Set Stretch({"Neutral", "Neutral"});
							Report1 << set horizontal(0);
						)
					)
				),
				Initialize(
					Module1 << Auto Launch(1);
					Module1 << Set Module Type("Report");
					Module1 << Set Window Title("^TABLENAME - ^APPNAME");
				)
			) << Run
		),
		New Column(
			["en" => "name", "ja" => "名前", "x-id" => "S_name_Col", "zh-CN" => "姓名"],
			Character,
			"Nominal",
			Set Property(
				"Notes",
				["en" => "...usually used as a label variable in plots",
				"ja" => "散布図のラベル変数として使用する。",
				"x-id" => "S_usually_used_as_a_label_variable_Not",
				"zh-CN" => "...通常用作图中的标签变量"]
			),
			Set Values(
				{"KATIE", "LOUISE", "JANE", "JACLYN", "LILLIE", "TIM", "JAMES",
				"ROBERT", "BARBARA", "ALICE", "SUSAN", "JOHN", "JOE", "MICHAEL",
				"DAVID", "JUDY", "ELIZABETH", "LESLIE", "CAROL", "PATTY",
				"FREDERICK", "ALFRED", "HENRY", "LEWIS", "EDWARD", "CHRIS",
				"JEFFREY", "MARY", "AMY", "ROBERT", "WILLIAM", "CLAY", "MARK",
				"DANNY", "MARTHA", "MARION", "PHILLIP", "LINDA", "KIRK", "LAWRENCE"}
			),
			Set Display Width(0)
		),
		New Column(
			["en" => "age", "ja" => "年齢", "x-id" => "S_age_Col", "zh-CN" => "年龄"],
			Numeric,
			"Ordinal",
			Format("Fixed Dec", 5, 0),
			Set Property(
				"Notes",
				["en" => "Explore data adventurously",
				"ja" => "年齢別にデータを探索する。",
				"x-id" => "S_Explore_data_adventurously_Not",
				"zh-CN" => "大胆地探究数据"]
			),
			Set Values(
				[12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 14, 14,
				14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15,
				16, 16, 16, 17, 17, 17]
			),
			Set Display Width(0)
		),
		New Column(
			["en" => "sex", "ja" => "性別", "x-id" => "S_sex_Col", "zh-CN" => "性别"],
			Character(1),
			"Nominal",
			Set Property(
				"Notes",
				["en" => "Explore data adventurously",
				"ja" => "性別でデータを探索する。",
				"x-id" => "S_Explore_data_adventurously_2_Not",
				"zh-CN" => "大胆地探究数据"]
			),
			Set Values(
				{"F", "F", "F", "F", "F", "M", "M", "M", "F", "F", "F", "M", "M",
				"M", "M", "F", "F", "F", "F", "F", "M", "M", "M", "M", "M", "M", "M",
				"F", "F", "M", "M", "M", "M", "M", "F", "F", "M", "F", "M", "M"}
			),
			Set Display Width(0)
		),
		New Column(
			["en" => "height",
			"ja" => "身長(インチ)",
			"x-id" => "S_height_Col",
			"zh-CN" => "身高"],
			Numeric,
			"Continuous",
			Format("Fixed Dec", 5, 0),
			Set Property(
				"Notes",
				["en" => "Explore data adventurously",
				"ja" => "データを探索する。二変量の関係のXに指定する。",
				"x-id" => "S_Explore_data_adventurously_3_Not",
				"zh-CN" => "大胆地探究数据"]
			),
			Set Values(
				[59, 61, 55, 66, 52, 60, 61, 51, 60, 61, 56, 65, 63, 58, 59, 61, 62,
				65, 63, 62, 63, 64, 65, 64, 68, 64, 69, 62, 64, 67, 65, 66, 62, 66,
				65, 60, 68, 62, 68, 70]
			),
			Set Display Width(0)
		),
		New Column(
			["en" => "weight",
			"ja" => "体重(ポンド)",
			"x-id" => "S_Big_Class_weight_Col",
			"zh-CN" => "体重"],
			Numeric,
			"Continuous",
			Format("Fixed Dec", 5, 0),
			Set Property(
				"Notes",
				["en" => "Explore data adventurously",
				"ja" => "データを探索する。二変量の関係のYに指定する。",
				"x-id" => "S_Explore_data_adventurously_4_Not",
				"zh-CN" => "大胆地探究数据"]
			),
			Set Values(
				[95, 123, 74, 145, 64, 84, 128, 79, 112, 107, 67, 98, 105, 95, 79,
				81, 91, 142, 84, 85, 93, 99, 119, 92, 112, 99, 113, 92, 112, 128,
				111, 105, 104, 106, 112, 115, 128, 116, 134, 172]
			),
			Set Display Width(0)
		),
		Set Label Columns(:name)
	)) << Run Formulas;
	table1 << Graph Builder(
		Variables(X(:weight), Y(:height)),
		Elements(Points(X, Y, Legend(7)), Smoother(X, Y, Legend(8))),
		Local Data Filter(Add Filter(columns(:sex), Where(:sex == "M")))
	);
)
	table1 << Graph Builder(
		Variables(X(:weight), Y(:height)),
		Elements(Points(X, Y, Legend(7)), Smoother(X, Y, Legend(8))),
		Local Data Filter(Add Filter(columns(:sex), Where(:sex == "M")))
	);
-Jarmo
hogi
Level XII

Re: Save the interactive plots/reports

Using a local data filter- like Jarmo does - is much better than using a global data filter.
One of the benefits: the settings get saved with the plot.

Besides saving the report as a rpt file, please consider saving the report as a script to the data table