Forum Discussion
BeginnerBI
3 years agoHelper I
Mask specific types partially
SOS! SOS! SOS! SOS! SOS! SOS! Scenario: Column Type have these codes: (1,5,7,9,12,14,55) My boss want me to mask the social and the id but partially only for the code 1,14,55 Sampl...
- 3 years ago
BeginnerBI Maybe:
Measure = VAR __Value = MAX('Table'[Value]) VAR __Type = MAX('Table'[Type]) RETURN IF( __Type <> 1 && __Type <> 14 && __Type <> 55, __Value, "xxx-xx-" & RIGHT(__Value,4) ) Measure 1 = VAR __Value = MAX('Table'[Value1]) VAR __Type = MAX('Table'[Type]) RETURN IF( __Type <> 1 && __Type <> 14 && __Type <> 55, __Value & "", "xxxxxxxx" & RIGHT(__Value,2) )
v-yueyunzh-msft
3 years agoCommunity Support
Hi , BeginnerBI
It can be realized in Power Query Editor.Here are the steps you can refer to :
You can put this in your Advanced Editor:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("ZY3BDcAwCAN34R0etAaTWaLsv0ZBzaNSkXj4bPBaYjJkMhShifBS9HnDWSt7LGkEUsEK5Czl8EDg+OwTs37Q8Odbo0xXpuI0ZOAy1LwN/4pvYj8=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t, NUMBER = _t, NO = _t]),
test = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"NUMBER", type text}, {"NO", Int64.Type}}),
Custom1 = Table.AddColumn(test,"NUMBER2",(x)=> if List.Contains({1,14,55},x[ID]) then Text.ReplaceRange(Text.ReplaceRange(x[NUMBER],0,3,"xxx"),4,2,"xx") else x[NUMBER] ),
Custom2 = Table.AddColumn(Custom1,"NO2",(x)=> if List.Contains({1,14,55},x[ID]) then Text.ReplaceRange(Text.From(x[NO]),0,8,"xxxxxxxx") else Text.From(x[NO]) )
in
Custom2
Then we can meet your need , the result is as follows:
Best Regards,
Aniya Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly