Good day all,Excel has a function called ISTEXT
So,if intend to get all the text containing in a record, I will use =SUM(..ISTEXT(B1:B4)) If my data range is B1:B4. As shown i below:
B1 | B2 | B4 | count of text |
---|---|---|---|
1003 | A2 | A1 | 2 |
1010 | D | D | 2 |
1004 | A2 | 2 | 1 |
1007 | B2 | B4 | 2 |
1009 | 0 | ||
1003 | A2 | A1 | 2 |
BCD | C | 2 | |
1004 | A2 | 2 | 1 |
The challenge is how do I achieve this using powerquery.
Thank you.
CodePudding user response:
Umut has the right idea
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
Count = Table.AddColumn(Source, "count of text", each List.Sum(List.Transform(List.RemoveNulls(Record.FieldValues(_)),each if Value.Is(_,type number) then 0 else 1)))
in Count
CodePudding user response:
you can use Value.Is
sample
if Value.Is([data],type number)
then "Number"
else "Text"
you can use as below but if you have more "B" columns, then you should use a custom function...
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Added Custom" = Table.AddColumn(Source, "Count Texts", each (if Value.Is([B1], type text) then 1 else 0 )
(if Value.Is([B2], type text) then 1 else 0 )
(if Value.Is([B4], type text) then 1 else 0 ))
in
#"Added Custom"