blanklordvader
Goto Top

Powershell CSV, Spaltenwerte subtrahieren und Wert in neuer Spalte ausgeben

Hallo zusammen

Gleich zu Beginn: Ich bin absoluter Powershellanfänger, bisher habe ich nur einige Scripts geschrieben um XML Dateien zu manipulieren, Dateien zu verschieben und Dateien per WINSCP zu versenden. Das Forum hier hat mir schon viele Inputs gebracht auch für ältere "Projekte", komme nun aber wirklich nicht mehr weiter und habe mich registriert face-smile

Aktuell Arbeite ich mit CSV Dateien. Ich habe es geschafft unnötige Felder herauszufiltern und die beiden Dateien so zusammenzuführen, dass im neuen File die beiden Werte für die Berechnung zur Verfügung stehen. Das sieht aktuell etwa so aus:

Was Zeit Wert1 Wert2 Faktor Wert1_2
Muster1 07.12.2021 00:00 0 1 0.00
Muster2 07.12.2021 00:00 13240.52 1 13202.52
Muster3 07.12.2021 00:00 25580.4 3 25574.4

Nun müsste ich pro "Was" folgende Berechnung machen: ("Wert1" - "Wert1_2") * "Faktor"
Den Endwert hätte ich gerne in der noch nicht vorhandenen Spalte "Differenz".

Bitte nicht auslachen, folgendes habe ich bisher ausprobiert:

Import:
$csvberechnung = Import-CSV $csvmatch -Delimiter ";"  

Versuch Spalte zu erstellen und irgendwie mit ForEach-Object berechnen:
$csvberechnung | Add-Member -MemberType NoteProperty -Name 'Differenz' -Value  $null   
$csvberechnung  |  ForEach-Object {$csvberechnung.'Was' -in $csvberechnung  
{$csvberechnung.Differenz = [int]$csvberechnung.Wert1 - [int]$csvberechnung.'Wert1_2'}}  


Versuch Spalte erstellen und den Wert direkt mitgeben
$csvberechnung | Add-Member -MemberType NoteProperty -Name 'Differenz' -Value {[int]$csvberechnung.Wert1 - [int]$csvberechnung.'Wert1_2'}   

Versuch einfach nur eine Variable zu erstellen
$Differenz = [int]$csvberechnung.Wert1 - [int]$csvberechnung.'Wert1_2'  

Bei meinem Code erhalte ich leider auch keine Fehlermeldung und habe so keinen Anhaltspunkt, nach was ich "googlen" muss. Den Faktor habe ich in meinen Versuchen noch gar nicht berücksichtigt, da ich zuerst den ersten Wert berechnen wollte.

Danke euch.

Liebe Grüsse

Content-Key: 1596213315

Url: https://administrator.de/contentid/1596213315

Printed on: April 20, 2024 at 04:04 o'clock

Mitglied: 149569
Solution 149569 Dec 07, 2021 updated at 13:38:30 (UTC)
Goto Top
$csvberechnung = Import-CSV $csvmatch -Delimiter ";"  
$csvberechnung | select *,@{n='Differenz';e={([decimal]$_.Wert1 -[decimal]$_.Wert1_2) * [decimal]$_.Faktor}}  
Powershell Link-Leitfaden für Anfänger
Member: BlankLordVader
BlankLordVader Dec 07, 2021 at 14:29:14 (UTC)
Goto Top
Hallo Hacktor

Vielen Dank, du bist meine Rettung.

Freundliche Grüsse