我可以创建链接汇总表吗?大家好,
如果我试图做一些不适合 JMP 的事情,我深表歉意,但我试图利用 JMP 作为数据库来存储大量材料属性数据。我使用单独的 JMP 表来可视化/分析数据,但会有一些数据用户想要拉出一个材料汇总表,以捕获我测量的不同属性的平均值/标准偏差。
例如,假设我有一个(过度简化的)表,名为“材料数据库 - 物理数据”:
| 材料 | 状况 | 物业A | 物业B |
| 木头 | 新的 | 100 | 5042 |
| 木头 | 新的 | 97 | 6005 |
| 木头 | 新的 | 113 | 5532 |
| 木头 | 水后实验 | 76 | 3680 |
| 木头 | 水后实验 | 45 | 4032 |
| 木头 | 水后实验 | 68 | 2599 |
| 稻草 | 新的 | 33 | 1107 |
| 稻草 | 新的 | 21 | 958 |
| 稻草 | 新的 | 16 | 1327 |
| 稻草 | 水后实验 | 10 | 280 |
| 稻草 | 水后实验 | 7 | 332 |
| 稻草 | 水后实验 | 11 | 399 |
我真的很想拥有一个名为“材料数据库 - 主汇总表”的表格,该表格链接到该表格和其他类似表格。材料列将共享相同的 ID,但我可以让每个表对于给定的材料 ID 和条件可能有不同的行数,具体取决于测试的重复次数。这是我希望汇总表的样子:
| 材料 | 均值(属性 A)- 新 | StDev(物业 B)- 新 | 平均值(属性 A) - 水后 | StDev(物业 A) - 水后 | 均值(属性 B)- 新 | StDev(物业 B)- 新 | 平均值(属性 B) - 加水后 | StDev(物业 B) - 水后 |
| 木头 | 103 | 9 | 63 | 16 | 5526 | 482 | 3437 | 747 |
| 稻草 | 23 | 9 | 9 | 2 | 1131 | 186 | 337 | 60 |
我想我正在寻找一个脚本来放置在给定的列中,以便在我们收集更多材料时,我会添加新材料的行,并根据我继续测量的不同属性添加适当的列。我充其量只是一个 JMP 新手,所以虽然我已经能够计算出类似于以下变化的一组行数的均值或标准差: If( Modulo( Row(), 3 ) == 1, Col Mean( :Property A, Ceiling( Row() / 3 ) )) 多亏了这里的前一篇文章,然后我必须从中创建一个子表,这样我就可以为每种材料创建一行,以便我可以使用链接 ID跨不同表格的材料列,并结合所有这些计算的平均值/标准偏差。
这真的是我最好的选择吗?感谢您的任何建议!
数据表脚本编写回复:我可以创建链接汇总表吗?我建议创建一个包含所有可能的材料及其属性的材料数据库文件。 然后您可以使用汇总平台从中获取许多不同的统计数据,并且数据将被正确分组。


我什至不太可能保存这个汇总表,因为它在需要时很容易创建。
在您更加习惯 JMP 和 JSL 之后,您可以创建一个脚本,用户可以使用该脚本在运行时获取此汇总表(如果您必须拥有单独的数据表,您可以在创建汇总表之前将它们连接起来)。
欢迎来到社区,希望这能提供一些想法!
回复:我可以创建链接汇总表吗?JMP 可以从本地提取(但不能推送到)SQLite 数据库 (.db) 文件。它们真的很容易使用。
例如。只需将此 db 文件拖到 JMP 中即可。或者随心所欲地打开它。
您也可以轻松编写脚本。
New SQL Query(
Connection( "SQLite:Database=$DESKTOP/chinook.db" ),
QueryName( "Fun" ),
CustomSQL("SELECT t1.Title, t2.Name
FROM albums t1
LEFT OUTER JOIN artists t2
ON t1.ArtistId = t2.ArtistId"),
/*
//OR instead of CUSTOM SQL
Select( Column( "Title", "t1" ), Column( "Name", "t2" ) ),
From(
Table( "albums", Alias( "t1" ) ),
Table(
"artists",
Alias( "t2" ),
Join(
Type( Left Outer ),
EQ( Column( "ArtistId", "t2" ), Column( "ArtistId", "t1" ) )
)
)
)
*/
) << Run
我可能落后于时代,但我不采用上述方法的原因是因为我看到人们试图拉出“主汇总表”,这些表在慢速 VPN 上可能会变得非常大,而且需要 20 分钟查询单行,因为他们必须先打开整个表。