zählen einzigartigHallo, ich habe eine Tabelle mit Transaktionsdaten wie unten.
Transaktions-ID, Individual-ID, Produkt
1, a, Apfel
2, a, orange
3, b, Apfel
4, b, Banane
5, c, orange
Ich möchte tabellieren, ohne Skript zu verwenden, um zu zählen, wie viele eindeutige Einzel-IDs nach Produkt vorhanden sind.
Weiß jemand, wie das geht?
Ich kann zuerst eine Zusammenfassungstabelle mit individualID und Produkt erstellen und dann eine Tabelle erstellen, um die UniqueID-Zählung nach Produkt zu erhalten, aber dies sind 2 Schritte. Ich frage mich, ob es eine Möglichkeit gibt, dies in nur einem Schritt tabellarisch zu tun, da ich dies ständig für viele verschiedene Gruppen tun muss.
Vielen Dank!
AnalytikDatentabelleRe: Einzigartig zählenVielen Dank. Dies ist die effizienteste Methode zum Generieren von Tabellenergebnissen zum Zählen eindeutiger Werte und Proportionen.
Re: Einzigartig zählenNoch eine weitere Option: Sie könnten auch direkt in der Tabellenfunktion eine Zusammenfassungsspalte erstellen:




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 ) )
)
);
Re: Einzigartig zählenVielen Dank, Brady! Das sind wirklich großartige Kenntnisse und ich werde jeden von ihnen üben! Schätze die Hilfe wirklich!Re: Einzigartig zählen
Ich konnte 3 grüne Dreiecke als Anhang sehen, nachdem ich die obige Abfrage ausgeführt hatte. Welche Dreiecke sollte ich verwenden, um dieselbe Abfrage mit aktualisierten Daten erneut auszuführen?
Es hängt davon ab, ob... Das „Source“-Skript erzeugt bei Ausführung eine neue Tabelle, während das „Update From Database“-Skript die aktuelle Tabelle aktualisiert (d. h. ohne eine neue Tabelle zu erstellen).
Hinweis: Eine praktische Funktion von JMP-Datentabellen besteht darin, dass, wenn Sie ein Skript „Beim Öffnen“ nennen, es immer dann ausgeführt wird, wenn die JMP-Datentabelle, die es enthält, geöffnet wird. Sie können also das Skript „Update from Database“ in „On Open“ umbenennen, um sicherzustellen, dass Sie immer mit aktualisierten Ergebnissen beginnen. Natürlich kann dieses Skript jederzeit ausgeführt werden, indem Sie auf den grünen Pfeil klicken.
Wenn ich viele verschiedene Abfragen habe, wie speichere ich sie an einem Ort und später, wenn ich die neuesten Daten habe, um die Abfragen erneut darauf anzuwenden?
Es gibt mehrere Möglichkeiten, dies anzugehen, ich biete ein paar der einfachsten an.
- Sie können den oben erwähnten "On Open"-Trick verwenden, wenn Sie einfache Abfragen ohne abgeleitete Abhängigkeiten haben. (d. h. keine einzelne Abfrage muss vor einer anderen ausgeführt werden, um korrekte Ergebnisse für ihre Tabelle zu erhalten)
- Sie könnten ein "Master"-Skript erstellen, indem Sie jedes der Skripte kopieren und einfügen. Die Reihenfolge kann je nach Ihrer Situation eine Rolle spielen oder auch nicht, und Sie müssen möglicherweise Steuerelemente in das Skript einfügen, um sicherzustellen, dass die Ergebnisse früherer Abfragen abgeschlossen sind, bevor Sie fortfahren.
Ich musste in der Praxis nicht viel davon tun, daher könnte es sich lohnen, der Community diese Frage in einer neuen Diskussion zu stellen, um zu sehen, was tatsächlich die beliebtesten Ansätze "in der Praxis" sind und warum.
Prost,
Brady
Re: Einzigartig zählenVielen Dank! Ich habe es gerade versucht und es funktioniert! Ich hätte nie gedacht, dass ich Col Sum verwenden kann, um dies zu erreichen. Clever!Re: Einzigartig zählenVielen Dank! Das geht auch gut und schnell!Re: Einzigartig zählenVielen Dank, Brady!
Ich habe diesen Abfragegenerator noch nie verwendet und er ist super leistungsfähig!
Ich habe gerade versucht, 2 Quelltabellen zu nehmen und abzufragen, und es ist so schlau, dass es die individuelle ID selbst abgeglichen und die richtigen eindeutigen Zählungen zurückgegeben hat.
2 Fragen an den Query Builder:
1. Ich konnte 3 grüne Dreiecke als Anhang sehen, nachdem ich die obige Abfrage ausgeführt hatte. Welche Dreiecke sollte ich verwenden, um dieselbe Abfrage mit aktualisierten Daten erneut auszuführen?
2. Wenn ich viele verschiedene Abfragen habe, wie speichere ich sie an einem Ort, um sie dann später, wenn ich die neuesten Daten habe, erneut darauf anzuwenden?
Re: Einzigartig zählenEine weitere Möglichkeit besteht darin, dies in Ihrer ursprünglichen Datentabelle mithilfe einer Spalte mit der Funktion col sum() mit einer 'by'-Variablen zu berechnen, aber auf die Zahl 1 anstelle einer Spalte zu verweisen, wodurch sie in eine 'count'-Funktion umgewandelt wird.Wenn Sie es im tabellarischen oder tabellarischen Format benötigen, können Sie dann mit einem Durchschnitt oder Median tabellieren:

Re: Einzigartig zählenEs scheint, als ob sich die Tabulate-Plattform nicht gut mit dem Character-Datentyp für die Analyse verhält. Sie könnten individualID in numerisch ändern (Formel in neue Spalte umcodieren oder erstellen) und dann tabulate verwenden:

Re: Einzigartig zählenIch bin mir nicht sicher, wie ich Tabulate dazu verwenden soll, aber wenn Sie bereit sind, eine andere Plattform zu verwenden, ist dies mit dem JMP Query Builder wirklich einfach:
1) Wählen Sie im Hauptmenü Tabellen > JMP Query Builder aus.
2) Klicken Sie im folgenden Fenster auf die Schaltfläche "Abfrage erstellen", die sich in der unteren rechten Ecke des Fensters befindet.
3) Im folgenden Fenster:
- Doppelklicken Sie auf die Produktspalte und ziehen Sie sie in den Bereich "Eingeschlossene Spalten".
- Doppelklicken Sie auf die einzelne ID-Spalte, um sie in den Bereich "eingeschlossene Spalten" zu übertragen.
- Klicken Sie mit der rechten Maustaste auf die Spalte t1.product, jetzt im Bereich „included column“, und wählen Sie „Order By“ aus.
- Wählen Sie im Dropdown-Menü im Feld „Aggregation“ der Spalte „t1.individualID“ im Bereich „Included Columns“ die Option Count DISTINCT aus.
- Klicken Sie unten im Fenster auf "Run Query", um eine Tabelle mit dem zu erstellen, wonach Sie meiner Meinung nach suchen. (?)
Prost,
Brady