使用分組列取得唯一值的公式列使用什麼簡單的列公式可以獲得大型資料集(100k 行)的唯一值?這可能嗎?
例如,查看汽車.jmp 。分銷平台已經給出了級別數(唯一元素),但我找不到能夠計算這些級別的公式列。
製作柱子-->37級(不同製造商)。
這通常被稱為基數、不同值或唯一值的數量。
這個公式應該能夠使用群組列,這樣我們就能獲得例如每個製造商的型號數量。
我們有豐田,價值將是 11 個車型。三菱6款等等
例如,在 JMP Query Builder 下這也是可能的。

選擇 t1.Make,COUNT(DISTINCT t1.Model) 為“Count DISTINCT-Model”
來自 Cars t1
按 t1 分組。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cars.jmp" );
Distribution(
Nominal Distribution( Column( :Make ) ),
Nominal Distribution( Column( :Model ) ),
Local Data Filter(
Add Filter(
columns( :Make ),
Where( :Make == "Toyota" ),
Display( :Make, N Items( 15 ), Find( Set Text( "" ) ) )
)
),
SendToReport(
Dispatch( {"Make"}, "Frequencies", OutlineBox, {Close( 1 )} ),
Dispatch( {"Model"}, "Distrib Nom Hist", FrameBox,
{Frame Size( 110, 178 )}
)
)
);
基礎資料分析與建模資料混合與清理數據探索與視覺化回覆:使用分組列取得唯一值的公式列這是我的瘋狂解決方案

As Constant(
t1 = Current Data Table();
Query(
t1,
"
SELECT t1.Make, COUNT(DISTINCT t1.Model) AS 'Count DISTINCT-Model'
FROM Cars t1
GROUP BY t1.Make;"
);
newdt = Current Data Table();
makeList = newdt:Make << get values;
countMat = Column( newdt, 2 ) << get values;
Close( newdt, nosave );
);
countMat[Contains( makeList, t1:make )];
回覆:使用分組列取得唯一值的公式列即將推出:
Col N 類別 - 以及所有其他類別...
回覆:使用分組列取得唯一值的公式列我認為這可能會提供正確的結果
Col Sum(Row() == Col Min(Row(), :Model, :Make), :Make)
但目前我最有可能選擇“摘要”->“更新”,而不使用公式
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Cars.jmp");
// Formula option
newcol = dt << New Column("R", Numeric, Ordinal, Formula(
Col Sum(Row() == Col Min(Row(), :Model, :Make), :Make)
));
// Summary + update
dt_summary = dt << Summary(
Group(:Make),
N Categories(:Model),
Freq("None"),
Weight("None"),
statistics column name format("stat of column"),
private
);
// Update data table
dt << Update(
With(dt_summary),
Match Columns(:Make = :Make),
Add Columns from Update Table(:N Categories of Model),
Replace Columns in Main Table(:N Categories of Model)
);
Close(dt_summary, no save);回覆:使用分組列取得唯一值的公式列現已推出:
