Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hello,
I am looking for a way to convert the column ClientIP from TMG database into a legible IP address, the value is in the format:
C0A8019A-ffff-0000-0000-000000000000
the first 8 characters are the ip address in hexadecimal:
C0A8019A = 192.168.1.154
C0 = 192
A8 = 168
01 = 1
9A = 154
thanks
Solved! Go to Solution.
A Power Query solution:
let HexDigits ="0123456789ABCDEF", Source = #table(type table[ClientIP = text],{{"C0A8019A-ffff-0000-0000-000000000000"}}), First8Characters = Table.AddColumn(Source, "IP Address", each Text.Start([ClientIP], 8), type text), SplittedIntoPairs = Table.TransformColumns(First8Characters, {{"IP Address", Splitter.SplitTextByRepeatedLengths(2)}}), SplittedEachPair = Table.TransformColumns(SplittedIntoPairs,{{"IP Address", each List.Transform(_, Text.ToList)}}), HexToDec = Table.TransformColumns(SplittedEachPair,{{"IP Address", each List.Transform(_, each 16*Text.PositionOf(HexDigits,_{0})+Text.PositionOf(HexDigits,_{1}))}}), PartsCombined = Table.TransformColumns(HexToDec,{{"IP Address", each Text.Combine(List.Transform(_, Text.From),"."), type text}}) in PartsCombined
A Power Query solution:
let HexDigits ="0123456789ABCDEF", Source = #table(type table[ClientIP = text],{{"C0A8019A-ffff-0000-0000-000000000000"}}), First8Characters = Table.AddColumn(Source, "IP Address", each Text.Start([ClientIP], 8), type text), SplittedIntoPairs = Table.TransformColumns(First8Characters, {{"IP Address", Splitter.SplitTextByRepeatedLengths(2)}}), SplittedEachPair = Table.TransformColumns(SplittedIntoPairs,{{"IP Address", each List.Transform(_, Text.ToList)}}), HexToDec = Table.TransformColumns(SplittedEachPair,{{"IP Address", each List.Transform(_, each 16*Text.PositionOf(HexDigits,_{0})+Text.PositionOf(HexDigits,_{1}))}}), PartsCombined = Table.TransformColumns(HexToDec,{{"IP Address", each Text.Combine(List.Transform(_, Text.From),"."), type text}}) in PartsCombined