2017-01-24 11 views
2

Ich arbeite mit einem API, wo ich Daten mit Invoke-RestMethod, die Daten in Objekte von Json konvertiert und ich mache folgendes.Objekte nach Anzahl sortieren

$P = 0 
$Store = New-Object System.Collections.Generic.List[System.Object] 
$Get = Invoke-RestMethod -Method Get -Uri "https://someurl/$P" 

#each page i store in a variable until i get all pages 
$Store.Add($Get.Objects) 

#then i output the results 
write $Store | Format-Table Name, Adres -AutoSize 

Name   Adres 
-----  ------ 
A    A 
B    B 
C    C 
C    D 
C    E 
D    F 
D    G 
D    H 
A    I 
C    J 

Wie abfragen uns die Ergebnisse so, dass ich einen Überblick über die Namen bekommen kann, die mit den meisten Adressen verknüpft sind, und dann in Ordnung zu bringen.

Name   Adres 
-----  ------ 
C    C 
C    D 
C    E 
C    J 
D    F 
D    G 
D    H 
A    A 
A    I 
B    B 
+0

, was Sie mit Top-5 bedeuten? Ich kann hier kein Muster sehen ... –

+0

Ich habe meine Frage geändert – AbNadi

Antwort

4

Sie gruppieren haben die Objekte über ihren Namen, sortieren sie die Gruppenzahl mit und schließlich die Gruppe erweitern, um die gewünschte Ausgabe zu erhalten zurück:

$Store | group name | sort Count -Descending | select -expand Group 
+0

Es funktioniert, danke Kumpel – AbNadi

+0

Ich habe es mit Ihren Testdaten versucht, die funktioniert. Können Sie die URL mit uns teilen? –

+0

Tut mir leid, ich kann nicht, weil es vertrauliche Daten enthält, aber ich entdeckte mein Problem und nach der Änderung Ihrer Lösung funktionierte wie ein Charme – AbNadi

Verwandte Themen