ユニークなカウントこんにちは、私は以下のようなトランザクションデータのテーブルを持っています。
transactionID、individualID、product
1、a、リンゴ
2、a、オレンジ
3、b、リンゴ
4、b、バナナ
5、c、オレンジ
スクリプトを使用せずに、製品ごとに一意のindividualIDの数を数えるために表形式で実行したいと思います。
誰かがこれを行う方法を知っていますか?
最初にindividualIDとproductを使用してサマリーテーブルを作成し、次にそれを表にして製品ごとのuniqueIDカウントを取得できますが、これは2つのステップです。 多くの異なるグループに対してこれを常に行う必要があるので、1つのステップだけを表にしてそれを行うことができる方法があるのだろうか?
ありがとうございました!
分析データ表再:ユニークなカウントどうもありがとうございました。 これは、一意の値と比率をカウントするためのテーブル結果を生成するための最も効率的な方法です。
再:ユニークなカウントさらに別のオプション:表形式関数で要約列を作成することもできます。




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つの緑色の三角形が添付されているのがわかりました。 更新されたデータで同じクエリを再実行するには、どの三角形を使用する必要がありますか?
場合によります... 「ソース」スクリプトは実行時に新しいテーブルを生成しますが、「データベースから更新」スクリプトは現在のテーブルを更新します(つまり、新しいテーブルを作成しません)。
注:JMPデータテーブルの便利な機能は、スクリプトに「On Open」という名前を付けると、そのスクリプトを含むJMPデータテーブルが開かれるたびに実行されることです。 したがって、「データベースからの更新」スクリプトの名前を「オープン時」に変更して、常に更新された結果から開始できるようにすることができます。 もちろん、このスクリプトは、緑色の矢印をクリックすることで、いつでも実行できます。
さまざまなクエリがある場合、それらを1つの場所に保存し、後で最新のデータを取得したときに、クエリを再度適用するにはどうすればよいですか?
これに対処する方法はいくつかありますが、最も簡単な方法をいくつか紹介します。
-派生的な依存関係のない単純なクエリがある場合は、上記の「オープン時」のトリックを使用できます。 (つまり、テーブルの正しい結果を取得するために、他のクエリの前に単一のクエリを実行する必要はありません)
-各スクリプトをコピーして貼り付けることで、「マスター」スクリプトを作成できます。 状況に応じて、順序が重要な場合と重要でない場合があります。続行する前に、前のクエリの結果が確実に終了するように、スクリプトにコントロールを挿入する必要がある場合があります。
私は実際にこれをあまり行う必要がなかったので、新しいディスカッションでコミュニティにこの質問をして、「現場で」実際に最も人気のあるアプローチとその理由を確認することは価値があるかもしれません。
乾杯、
ブレイディ
再:ユニークなカウントありがとうございました! 試したところ、うまくいきました!これを達成するためにcolsumを使用できるとは思ってもみませんでした。 頭いい!再:ユニークなカウントありがとうございました! これも良い方法です。再:ユニークなカウントブレイディありがとうございます!
このクエリビルダーを使用したことはなく、非常に強力です。
2つのソーステーブルを取得してクエリを実行したところ、非常にスマートであるため、それ自体が個々のIDと一致し、正しい一意のカウントが返されました。
クエリビルダーへの2つの質問:
1.上記のクエリを実行した後、3つの緑色の三角形が添付されているのがわかりました。 更新されたデータで同じクエリを再実行するには、どの三角形を使用する必要がありますか?
2.さまざまなクエリがある場合、それらを1つの場所に保存し、後で最新のデータを取得したときに、クエリを再度適用するにはどうすればよいですか。
再:ユニークなカウントもう1つのオプションは、元のデータテーブルで、col sum()関数と'by'変数を含む列を使用して計算することですが、列ではなく数値1を参照して、'count'関数に変換します。表形式または表形式で必要な場合は、平均または中央値を使用して表にすることができます。

再:ユニークなカウントTabulateプラットフォームは、分析用のCharacterデータ型では適切に動作しないようです。 個人IDを数値に変更して(新しい列に数式を再コーディングまたは作成)、表を使用することができます。

再:ユニークなカウントTabulateを使用してこれを行う方法がわかりませんが、別のプラットフォームを使用することに慣れている場合は、JMPクエリビルダーを使用してこれを行うのは非常に簡単です。
1)メインメニューから[テーブル]>[JMPクエリビルダー]を選択します。
2)次のウィンドウで、ウィンドウの右下隅にある[BuildQuery]ボタンをクリックします。
3)次のウィンドウで:
- 製品列をダブルクリックして、「含まれる列」ペインにキャストします。
- 個々のID列をダブルクリックして、[含まれる列]ペインにキャストします。
- [含まれる列]ペインでt1.product列を右クリックし、[並べ替え]を選択します。
- [含まれる列]ペインのt1.individualID列の[集約]フィールドのドロップダウンメニューから、[カウント距離]を選択します。
- ウィンドウの下部にある[クエリの実行]をクリックして、あなたが求めているものを含むテーブルを作成します。 (?)
乾杯、
ブレイディ