グループ化列を使用して一意の値を取得する数式列大規模なデータセット (10 万行) で一意の値を取得するための簡単な列式は何でしょうか? これは可能ですか?
たとえば、 車.jmpを見てみましょう。配布プラットフォームではすでにレベル数 (一意の要素) が示されていますが、これらを計算できる数式列が見つかりませんでした。
列を作る --> 37 レベル (異なるメーカー)。
これは、多くの場合、カーディナリティ、個別、または一意の値の数と呼ばれます。
数式ではグループ列を使用できるはずなので、たとえば、メーカーごとのモデル数を取得できます。
トヨタの場合、値は 11 モデルになります。三菱の場合は 6 モデルなど。
たとえば、JMP クエリ ビルダーでも可能です。

SELECT t1.Make, COUNT(DISTINCT t1.Model) AS "Count DISTINCT-Model"
カーズt1から
GROUP BY t1.Make;
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 )}
)
)
);
基本的なデータ分析とモデリングデータのブレンドとクリーンアップデータの探索と視覚化Re: グループ化列を使用して一意の値を取得する数式列これが私のクレイジーな解決策です

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 )];
Re: グループ化列を使用して一意の値を取得する数式列もうすぐ来ます:
Col N カテゴリ - その他すべて...
Re: グループ化列を使用して一意の値を取得する数式列これは正しい結果をもたらすかもしれないと思う
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);Re: グループ化列を使用して一意の値を取得する数式列今すぐ入手可能:
