回复:计数唯一非常感谢你。 这是生成用于计算唯一值和比例的表结果的最有效方法。
回复:计数唯一还有另一种选择:您还可以在 tabulate 函数中创建一个摘要列:




Names default to here(1);
dt = Open("$Sample_data/big class.jmp");
dt << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table(
Analysis Columns(
Transform Column( "Age Count", Formula( Col Sum( 1, :age ) ) )
),
Statistics( Mean )
),
Row Table( Grouping Columns( :age ) )
)
);
回复:计数唯一非常感谢布雷迪! 这些知识真的很棒,我会练习其中的每一个! 非常感谢您的帮助!回复:计数唯一
运行上述查询后,我可以看到附加的 3 个绿色三角形。 要使用更新的数据重新运行相同的查询,我应该使用哪些三角形?
这取决于... “Source”脚本在运行时生成一个新表,而“Update From Database”脚本刷新当前表(即,不创建新表。)
注意:JMP 数据表的一个便利功能是,如果您将脚本命名为“打开时”,只要打开包含它的 JMP 数据表,它就会运行。 因此,您可以将“从数据库更新”脚本重命名为“打开时”,以确保您总是从更新的结果开始。 当然,您仍然可以随时通过单击绿色箭头运行此脚本。
如果我有很多不同的查询,我如何将它们存储在一个地方,然后在我获得最新数据时再次应用查询?
有几种方法可以解决这个问题,我将提供几种最简单的方法。
- 如果您有没有派生依赖性的简单查询,您可以使用上面提到的“打开时”技巧。 (即,不需要在任何其他查询之前运行单个查询,以获得其表的正确结果)
- 您可以创建一个“主”脚本,方法是将每个脚本复制并粘贴到其中。 顺序可能重要也可能无关紧要,具体取决于您的情况,并且您可能需要将控件插入脚本以确保在继续之前完成先前查询的结果。
我在实践中并没有做太多这样的事情,所以在新的讨论中向社区询问这个问题可能是值得的,看看什么是“该领域”最流行的方法,以及为什么。
干杯,
布雷迪
回复:计数唯一谢谢! 我刚试过,它有效!从没想过我可以使用 col sum 来实现这一目标。 聪明的!回复:计数唯一谢谢! 这个方法又好又快!回复:计数唯一非常感谢布雷迪!
从未使用过此查询构建器,它非常强大!
我只是尝试获取 2 个源表并进行查询,它非常聪明,可以自行匹配个人 ID 并返回正确的唯一计数。
查询生成器的 2 个问题:
1. 运行上述查询后,我可以看到附加的 3 个绿色三角形。 要使用更新的数据重新运行相同的查询,我应该使用哪些三角形?
2. 如果我有很多不同的查询,我如何将它们存储在一个地方,然后当我得到最新的数据时,再次应用查询?
回复:计数唯一另一种选择是在原始数据表中使用带有 col sum() 函数和“by”变量的列来计算它,但引用数字 1 而不是列,这会将其转换为“计数”函数。如果您需要表格或表格格式,则可以使用平均值或中位数进行制表:

回复:计数唯一似乎 Tabulate 平台不能很好地处理用于分析的字符数据类型。 您可以将 individualID 更改为数字(重新编码或创建新列的公式),然后使用制表:

回复:计数唯一我不确定如何使用 Tabulate 来执行此操作,但如果您愿意使用其他平台,那么使用 JMP 查询生成器真的很容易做到:
1) 从主菜单中选择表 > JMP 查询生成器。
2) 在随后出现的窗口中,单击位于窗口右下角的“构建查询”按钮。
3) 在接下来的窗口中:
- 双击产品列,将其投射到“包含的列”窗格中。
- 双击单个 ID 列,将其投射到“包含的列”窗格中。
- 右键单击 t1.product 列,现在位于“包含的列”窗格中,然后选择“排序方式”。
- 从“包含的列”窗格中 t1.individualID 列的聚合字段的下拉菜单中,选择 Count DISTINCT。
- 在窗口的底部,单击“运行查询”,生成一个表格,其中包含我相信您想要的内容。 (?)
干杯,
布雷迪
回复:计数唯一有捷径吗N类或者计数唯一在右键单击“新建公式列”菜单中?
我想有一个(因为经常需要它),但我找不到它 - 名字是什么?
注意:并非所有此处提到的答复N类或者计数唯一- 有些更像每个唯一条目 N 行.
回复:计数唯一谢谢吉姆 
对于我的应用程序,我需要一个使用通过...分组右键单击选项新公式栏用于计算和分配相应值的菜单 - 类似于列数(计数) ,但只计算唯一/不同的条目。

没有什么比
N categories(column, bygroups)
- 或者一个选项只计算唯一值为了栏号功能?
大班应用案例:
用户想要分别计算男性和女性平均身高 > 60 的年龄组百分比。 然后N类可能是一个很好的方法来做到这一点:
PercentTallAgeGroups = N Categories(if(Col Mean(:height,:age, :sex) > 60,:age, .), :sex) / N Categories(:age, :sex)*100
更合理的应用案例:
- 几个批次的每个测量晶圆的缺陷率(对于具有芯片精细数据的数据集)
- 几个国家 Covid 死亡率 >0.1% 的城市比例
解决方法:
生成包含所需信息的汇总表按组别并将其合并回主表。
回复:计数唯一据我所知,这个问题没有右键单击解决方案。我采用的老派方法是:
Summarize( bygroup = by( :age ) );
UniqueCount = N Items( bygroup );
计数唯一您好,我有一个包含交易数据的表格,如下所示。
transactionID, individualID, 产品
1、一、苹果
2、一、橙色
3、b、苹果
4、b、香蕉
5、c、橙色
我想在表格中而不是使用脚本来计算每个产品有多少唯一的 individualID。
有谁知道如何做到这一点?
我可以先使用 individualID 和产品做汇总表,然后对其进行制表以获取产品的 uniqueID 计数,但这是 2 个步骤。 想知道有没有一种方法我们可以只用一个步骤就可以做到这一点,因为我经常需要为许多不同的群体这样做?
谢谢你!
质量与工艺工程回复:计算唯一值如果其他用户也有兴趣不仅在表格/摘要平台中而且还通过 JSL 拥有 N 个类别...
- 这是愿望:
新的 JSL 功能:Col N 类别
回复:计算唯一值类似的讨论:计数唯一与groupBy:
https://community.jmp.com/t5/Discussions/Add-Counter-for-Unique-Cases-in-Groups/mp/691831/highlight/true#M87756