列内の固有のカテゴリの数の計算式列内の固有のカテゴリの数を提供する列式を探しています (おそらく別の列カテゴリに基づいています)。 たとえば、列に次のようなものがある場合、
あ
あ
B
B
B
C
次に、値 3 を返したいと思います。
ありがとう
Re: 列内のユニーク カテゴリ数の計算式「By」は JMP におけるかなりグローバルな概念です。Distribution Platform を実行し、「By」変数を指定すると、「By」列の異なる値ごとに個別の Distribution が生成されます。Summarize() 関数についても同様です。以下は、Summarize() 関数に関する JSL 構文リファレンスからの引用です。
ヘルプ==>書籍==>JSL構文リファレンス
「BY 変数を使用すると、出力が各統計の単一値から BY 変数内の各グループの値のリストに変更されます。」
サンプル付きの優れたドキュメントは、Scripting Index にもあります。
ヘルプ==>スクリプトインデックス==>関数==>統計==>要約
また
Help==>Scripting Index....Summarize で検索
Re: 列内のユニーク カテゴリ数の計算式ネルソンさん、
この関数が何をしているのか詳しく説明してもらえますか? 「by」関数を理解しているかわかりません。
ありがとう、
マーティン
Re: 列内のユニーク カテゴリ数の計算式それはうまくいきました! 私は赤い下線を見てがっかりしました。これは機能しないことを意味していると思いました。

これまでに数式を列に直接貼り付けようとしたことが実際にあるかどうかはわかりません。明示的な数式列関数を使用して再構築する必要があると思っていました...これは大きな改善です。 早速のご返信ありがとうございます!
アロン
Re: 列内のユニーク カテゴリ数の計算式私がいつも忘れてしまうのは、列の数式が実際にはミニ スクリプト全体になる可能性があるということです。多くのセミコロンとコード行が含まれています。
Re: 列内のユニーク カテゴリ数の計算式私の最後の回答で述べた式は、あなたが望むことを行うはずです。
If( Row() == 1,
Summarize( x = by( :Customer_ID) );
y = N Items( x );
);
y;
これを切り取って数式エディタに貼り付けるだけです
Re: 列内のユニーク カテゴリ数の計算式これが列を作成するスクリプトでどのように機能するかはわかりましたが、データベースから更新するデータテーブルを作成したので、そのテーブルに一意のカテゴリの数を計算する数式を含む列を追加したいと考えています。 スクリプトではなく列数式で直接それを行う方法はありますか?
Def() と Col Sum を使用するハックを見つけましたが、番号付きの一意の ID である並べ替えられたフィールドを見ているためのみ機能します。 実際のテキスト変数では機能しません。 それに対するより良い解決策はありますか?
ハッキングされた式は次のとおりです。
Col Sum( Dif( :customer_id ) > 0 )
ありがとう、
アロン
Re: 列内のユニーク カテゴリ数の計算式これは完璧です! ジムさん、ありがとう!Re: 列内のユニーク カテゴリ数の計算式この式を試してみてください。もちろん、カテゴリをカウントしたい列の :Flow を置き換えます。
Summarize( x = by( :FLOW ) );
N Items( x );
データテーブルが非常に大きい場合は、このより効率的なバージョンを使用することをお勧めします。
If( Row() == 1,
Summarize( x = by( :Flow ) );
y = N Items( x );
);
y;
Re: 列内のユニーク カテゴリ数の計算式Summation の式がこれに使用されたことを覚えていると思いますが、記憶が曖昧です。