Suchen und identifizieren Sie Duplikate für unsortierte DatenJMP ist ziemlich neu, daher sind meine Kenntnisse über die Verwendung von Formeln ziemlich begrenzt.
Welche Formel würde ich verwenden, wenn ich eine Wertespalte (Zeichen) habe und diese als Duplikate in einer anderen Spalte identifizieren möchte? (Meine Daten enthalten bereits 10 Spalten, die nach den Werten einer anderen Spalte sortiert sind.)
In der Vergangenheit habe ich die folgende Formel verwendet (wenn die Daten, für die Duplikate identifiziert werden müssen, alphabetisch sortiert wurden).
Wenn(
Zeile () == 1, 1,
: Spalte1! = Verzögerung (: Spalte1), 1,
0
)
Da es mir nicht gestattet ist, Daten anders als auf die Art und Weise sortiert darzustellen, weiß ich nicht, wie Duplikate angezeigt werden sollen.
Jede Hilfe wird geschätzt.
DatentabelleBetreff: Suchen und identifizieren Sie Duplikate für unsortierte Daten
Vielleicht hilft diese Zeile
dt = Aktuelle Datentabelle ();
dt << Doppelte Zeilen auswählen (Match (: column_1 ,: column_2 ,: column_3));
Dadurch werden Zeilen ausgewählt, die in der oberen Kombination der Spalten 1 bis 3 nicht eindeutig sind.
Mit der Auswahl können Sie nun löschen, ausblenden und ausschließen, eine zusätzliche Spalte füllen oder was Sie damit machen möchten.
r_select = dt << Zeilen auswählen (dt << ausgewählte Zeilen abrufen); // Dadurch erhalten Sie einen Vektor mit der Zeilennummer.
r_select << Zeilen löschen;
oder
r_select << Ausblenden und Ausschließen;
Betreff: Suchen und identifizieren Sie Duplikate für unsortierte DatenDanke für die Antwort.
Ich glaube nicht, dass ich mich gut erklärt habe. Was ich möchte, ist eine Hilfsspalte, die angibt, ob ein bestimmter Wert doppelt vorhanden ist, möglicherweise mit einer "1" für alle Duplikate und einer "0" für keine Duplikate. Ich möchte die Duplikate nicht ausblenden oder löschen.
Betreff: Suchen und identifizieren Sie Duplikate für unsortierte DatenIm Folgenden finden Sie mindestens zwei Möglichkeiten, dies mit Skripten zu tun:
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(7),
Compress File When Saved(1),
New Column("Column 1",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([1, 1, 2, 3, 2, 5, 1]),
Set Display Width(60)
)
);
dt << New column("Dublicate_formula", Numeric, <<FORMULA> 1, 1,0))
);
dt << Select duplicate rows(Match(:column 1));
dubRows = dt << Get Selected Rows;
dt << New Column("Dublicates", Numeric, Nominal);
Column(dt, "Dublicates")[dubRows] = 1;
Column(dt, "Dublicates")[dt << Get Rows Where(IsMissing(:Dublicates))] = 0;</FORMULA>Sie können dies auch ohne Skripterstellung tun:
- Wählen Sie die Spalten aus, an denen Sie interessiert sind.
- Im Menü Zeilen: Zeilenauswahl -> Zeilen löschen auswählen
- Zeilenmenü: Zeilenauswahl -> Namensauswahl in Spalte
- Wählen Sie den Namen, Ausgewählt als 1 und Nicht ausgewählt als 0
Betreff: Suchen und identifizieren Sie Duplikate für unsortierte DatenSie können dies auch als Formelspalte verwenden, indem Sie die folgende Formel verwenden, die als Beispiel die Big Class-Datentabelle verwendet
If( Row() == 1,
Current Data Table() << select duplicate rows(
Match( :age, :sex, Empty() )
)
);
If( Selected( Row State( Row() ) ),
"Group 1",
"Group 2"
);
Betreff: Suchen und identifizieren Sie Duplikate für unsortierte DatenVielen Dank. Ich konnte ohne Verwendung des Skripts markieren.
Schätze deine Hilfe!
Betreff: Duplikate für unsortierte Daten finden und identifizierenHier ist ein weiteres Beispiel mit einer Spaltenformel.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Create a column that indicates duplicate names (there are two "Robert")
dt << New Column( "Duplicate", Formula( If( Col Number( Row(), :name ) > 1, 1, 0 ) ) );