Gruppieren von Werten aus ausgewählten ZeilenHallo,
Ich versuche, Werte aus den ausgewählten Zeilen zu gruppieren
Hier ist die dt:

Die endgültige Ausgabe sollte ungefähr so aussehen. Kombinieren Sie also die Produktwerte mit ähnlichem Prozentsatz. Irgendwelche Vorschläge?

dt = Current Data Table();
dt << select duplicate rows( Match( :Label, :Percent ) );
Try( dt<< delete rows );
Automatisierung und SkriptingBetreff: Werte aus ausgewählten Zeilen gruppierenSchließen Sie diese
Hier ist eine Möglichkeit
Names Default To Here( 1 );
dt = Current Data Table();
aa = Associative Array( :Percent << get values );
For Each( {{key, value}}, aa, aa[key] = dt[Loc( dt[0, "Percent"], key ), "Product"] );
dt << New Column( "Product Code Range", Character, Nominal, <<SET each="" value=""></SET>
Betreff: Werte aus ausgewählten Zeilen gruppierenDa ich so etwas schon einmal gemacht habe, schlage ich vor, dass Sie die Prozentspalte runden, bevor Sie sie gruppieren. Prozentwerte von 0,5 und 0,5001 können so formatiert werden, dass sie als 0,50 angezeigt werden, aber sie erstellen unterschiedliche Gruppen. Manchmal habe ich festgestellt, dass ein solches Skript nicht nur das Runden, sondern auch die Konvertierung in eine Zeichenspalte erfordert, damit der Code robust ist.
Betreff: Werte aus ausgewählten Zeilen gruppierenNetter Workaround:)
Zeichen-„Aggregationen“ wie diese - mit nur wenigen Mausklicks?
Hier ist der Wunsch:
https://community.jmp.com/t5/JMP-Wish-List/Summary-and-Tabulate-add-aggregation-option-for-Character/idi-p/659314
Betreff: Werte aus ausgewählten Zeilen gruppierenIch mache diese Art von Aggregationen in JMP mit SQL (und wie Jim sagte, sollte höchstwahrscheinlich eine Konvertierung in Zeichen (oder Rundung) durchgeführt werden. Einer der Gründe dafür ist die Gleitkommamathematik (30000000000000004.com) ).
Names Default To Here(1);
dt = Open("$DOWNLOADS/product_dt.jmp");
dt << New Column("Selected", Numeric, Nominal, Formula(
Selected()
));
dt_result = Query(
Table(dt, "dt"),
"\[
SELECT Percent, Label, GROUP_CONCAT(Product, ',') AS Product
FROM dt
WHERE Selected = 1
GROUP BY Percent, Label
]\"
);