回复:計數唯一非常感謝你。 這是生成用於計算唯一值和比例的表結果的最有效方法。
回复:計數唯一還有另一種選擇:您還可以在 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