Powershell: Gruppieren von Objekten mit mehreren Parametern
Guten Morgen zusammen,
ich benötige mal eure Unterstützung beim Gruppieren von Objekten in der Powershell
Ausgangslage ist ein Objekt
Jetzt möchte ich nach Erhebungstag, Land und Stadt gruppieren und die Spalten männlich, weiblich, kinder und erwachsene summieren, sodass das Ergebnis am Ende wie folgt aussehen sollte:
Jetzt hab ich mit Visual Code und der PS 7 folgendes funktionsfähig:
Der Task, der das Script am Ende ausführt, hat aber nur die PS 5 zur Verfügung und kommt mit den Zeilen 3-5 nicht klar und haut mir dann folgendes Ergebnis raus.
Ich habs auch schonmal mit
versucht, klappt aber auch nicht.
Edit: ebensowenig klappte:
oder
Und natürlich hab ich das WWW schon bemüht, aber scheinbar nur das falsche gesucht oder einfach zu doof dazu (will ich nicht ausschließen )
Hier hab ich Beispielsweise etwas mit einem
Habt ihr eine Idee/ Lösung/ Ansatz oder könnt mir aufzeigen, wo mein Knoten im Kopf gerade ist?
Schon mal besten Dank
Gruß
em-pie
ich benötige mal eure Unterstützung beim Gruppieren von Objekten in der Powershell
Ausgangslage ist ein Objekt
$myObject
mit folgendem Beispielinhalt (Daten viel umfangreicher):Erhebungstag Land Stadt Straße männlich weiblich kinder erwachsene
---------------------------------------------------------------------------------------------
07.12.2022 Deutschland Köln Amselweg 5 7 3 9
08.12.2022 Deutschland Köln Amselweg 5 7 3 9
07.12.2022 Deutschland Köln Rheinallee 15 17 17 15
08.12.2022 Deutschland Köln Rheinallee 25 7 10 22
Jetzt möchte ich nach Erhebungstag, Land und Stadt gruppieren und die Spalten männlich, weiblich, kinder und erwachsene summieren, sodass das Ergebnis am Ende wie folgt aussehen sollte:
Erhebungstag Land Stadt männlich weiblich kinder erwachsene
---------------------------------------------------------------------------------------------
07.12.2022 Deutschland Köln 20 24 20 24
08.12.2022 Deutschland Köln 30 14 13 31
Jetzt hab ich mit Visual Code und der PS 7 folgendes funktionsfähig:
$myObject |
Group-Object -Property Erhebungstag, Land, Stadt|
Select-Object @{Name='Land'; Expression={$_.Group.Land}},
@{Name='Stadt'; Expression={$_.Group.Stadt}},
@{Name='Erhebungstag'; Expression={$_.Group.Erhebungstag}},
@{Name='männlich '; Expression={($_.Group.männlich | Measure-Object -Sum).Sum }},
@{Name='weiblich'; Expression={($_.Group.weiblich | Measure-Object -Sum).Sum }},
@{Name='kinder'; Expression={($_.Group.kinder | Measure-Object -Sum).Sum }},
@{Name='erwachsene'; Expression={($_.Group.erwachsene | Measure-Object -Sum).Sum }}
Der Task, der das Script am Ende ausführt, hat aber nur die PS 5 zur Verfügung und kommt mit den Zeilen 3-5 nicht klar und haut mir dann folgendes Ergebnis raus.
Erhebungstag Land Stadt männlich weiblich kinder erwachsene
---------------------------------------------------------------------------------------------
07.12.2022 Deutschland Köln 50 38 33 55
Ich habs auch schonmal mit
@{Name='Erhebungstag'; Expression={$_.Values[2]}},
Edit: ebensowenig klappte:
...
@{Name='Erhebungstag'; Expression={$_.Erhebungstag}},
...
... Erhebungstag,
...
Und natürlich hab ich das WWW schon bemüht, aber scheinbar nur das falsche gesucht oder einfach zu doof dazu (will ich nicht ausschließen )
Hier hab ich Beispielsweise etwas mit einem
foreach()
gefunden, kann mir aber nur bedingt vorstellen, dass ich es "so kompliziert" machen muss.Habt ihr eine Idee/ Lösung/ Ansatz oder könnt mir aufzeigen, wo mein Knoten im Kopf gerade ist?
Schon mal besten Dank
Gruß
em-pie
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4902270468
Url: https://administrator.de/contentid/4902270468
Ausgedruckt am: 18.12.2024 um 11:12 Uhr
3 Kommentare
Neuester Kommentar
Moin,
Vielleicht beim Import irgendetwas schief gelaufen?
Gruß Thomas
Zitat von @em-pie:
Der Task, der das Script am Ende ausführt, hat aber nur die PS 5 zur Verfügung und kommt mit den Zeilen 3-5 nicht klar und haut mir dann folgendes Ergebnis raus.
kann ich so nicht bestätigen, bei mir funktioniert das problemlosDer Task, der das Script am Ende ausführt, hat aber nur die PS 5 zur Verfügung und kommt mit den Zeilen 3-5 nicht klar und haut mir dann folgendes Ergebnis raus.
PS C:\> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
5 1 19041 1682
PS C:\> @'
Erhebungstag;Land;Stadt;Straße;männlich;weiblich;kinder;erwachsene
07.12.2022;Deutschland;Köln;Amselweg;5;7;3;9
08.12.2022;Deutschland;Köln;Amselweg;5;7;3;9
07.12.2022;Deutschland;Köln;Rheinallee;15;17;17;15
08.12.2022;Deutschland;Köln;Rheinallee;25;7;10;22
'@|ConvertFrom-CSV -Delimiter ';'|Group-Object -Property Erhebungstag, Land, Stadt|
Select-Object @{Name='Land'; Expression={$_.Group.Land}},
@{Name='Stadt'; Expression={$_.Group.Stadt}},
@{Name='Erhebungstag'; Expression={$_.Group.Erhebungstag}},
@{Name='männlich '; Expression={($_.Group.männlich | Measure-Object -Sum).Sum }},
@{Name='weiblich'; Expression={($_.Group.weiblich | Measure-Object -Sum).Sum }},
@{Name='kinder'; Expression={($_.Group.kinder | Measure-Object -Sum).Sum }},
@{Name='erwachsene'; Expression={($_.Group.erwachsene | Measure-Object -Sum).Sum }}|Format-Table
Land Stadt Erhebungstag männlich weiblich kinder erwachsene
---- ----- ------------ --------- -------- ------ ----------
Deutschland Köln 07.12.2022 20 24 20 24
Deutschland Köln 08.12.2022 30 14 13 31
Vielleicht beim Import irgendetwas schief gelaufen?
Gruß Thomas