Я получаю результаты из таблицы SQL с помощью этой команды:
$GetData = Invoke-Sqlcmd -ConnectionString $Connection -Query $GetQuery
Один отдельный результат выглядит следующим образом (их около 500):
ID : 1584
ObjId :
ARTIKEL_NR : 0
ArtBeschrieb1_3 :
KLASSE : TbXAusführungen
SMB1 : Produkt
SMW1 : TbA
SMN1 :
SMB2 : Ausführung
SMW2 : 2M-Zarge Front
SMN2 :
SMB3 : Boxtypen
SMW3 : B;C-M;D-M
SMN3 :
SMB4 : SortKZ
SMW4 :
SMN4 : 2.000000
SMB5 :
SMW5 :
SMN5 :
SMB6 :
SMW6 :
SMN6 :
SMB7 :
SMW7 :
SMN7 :
SMB8 :
SMW8 :
SMN8 :
SMB9 :
SMW9 :
SMN9 :
SMB10 :
SMW10 :
SMN10 :
SMB11 :
SMW11 :
SMN11 :
SMB12 :
SMW12 :
SMN12 :
SMB13 :
SMW13 :
SMN13 :
SMB14 :
SMW14 :
SMN14 :
SMB15 :
SMW15 :
SMN15 :
SMB16 :
SMW16 :
SMN16 :
SMB17 :
SMW17 :
SMN17 :
SMB18 :
SMW18 :
SMN18 :
SMB19 :
SMW19 :
SMN19 :
SMB20 :
SMW20 :
SMN20 :
SMB21 :
SMW21 :
SMN21 :
SMB22 :
SMW22 :
SMN22 :
SMB23 :
SMW23 :
SMN23 :
SMB24 :
SMW24 :
SMN24 :
SMB25 :
SMW25 :
SMN25 :
SMB26 :
SMW26 :
SMN26 :
SMB27 :
SMW27 :
SMN27 :
SMB28 :
SMW28 :
SMN28 :
SMB29 :
SMW29 :
SMN29 :
SMB30 :
SMW30 :
SMN30 :
DividendPreisEinhet : 0
SMB31 :
SMW31 :
SMN31 :
ArtBeschrieb1_2FR :
SMB32 :
SMW32 :
SMN32 :
OOPreisklasse :
SMB33 :
SMW33 :
SMN33 :
SMB34 :
SMW34 :
SMN34 :
SMB35 :
SMW35 :
SMN35 :
SMB36 :
SMW36 :
SMN36 :
SMB37 :
SMW37 :
SMN37 :
SMB38 :
SMW38 :
SMN38 :
SMB39 :
SMW39 :
SMN39 :
SMB40 :
SMW40 :
SMN40 :
Как видите, всегда есть 3 SM*
свойств с одинаковым номером. Я хотел бы сгруппировать их. SMB * должен стать именем свойства, а SMW * или SMN * - PropertyValue, в зависимости от того, какое значение равно NULL, а какое нет.
Я думаю, что могу выполнить часть PropertyName / PropertyValue самостоятельно, но как это сделать? Я группирую все соответствующие поля SM *?
btw: Поля, которые не являются полями SM *, уже исправны, они должны оставаться такими, какие они есть.
Я знаю, что $PSObject.Properties
, ноэто, кажется, не помогает мне здесь?
PS Z:\Powershell-Scripts> $GetData.gettype()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array