Supplies are limited. Contact info@espc.tech right away to save your spot before the conference sells out.
Get your discountScore big with last-minute savings on the final tickets to FabCon Vienna. Secure your discount
Hi, I found out recently that function Table.TransformColumns lets you specify a 3rd parameter to identify the data type of the transformed column. However that parameter doesn't seem to react the way I expected.
Here's 3 queries illustrating my issue.
Test 1
let Source = Table.FromColumns({{1,2,3}}, {"Test"}), #"Transform column" = Table.TransformColumns(Source, {"Test", each _, type number}) in #"Transform column" let
Test 2
Source = Table.FromColumns({{1,2,3}}, {"Test"}), #"Transform column" = Table.TransformColumns(Source, {"Test", each Number.From(_)}) in #"Transform column"
Test 3
let Source = Table.FromColumns({{1,2,3}}, {"Test"}), #"Transform column" = Table.TransformColumns(Source, {"Test", each Number.From(_), type number}) in #"Transform column"
Out of those 3 queries, only Test 3 successfully converts the column to type number, the first 2 keep the column as type any. So it seems you have to explicitly cast values to the desired type AND specify that type in the 3rd parameter. I would have thought only specifying the type as an additional parameter (Test 1) would be sufficient to convert the column (as would be the case with function Table.AddColumn).
Any explanation on that? Why would that behaviour differ from Table.AddColumn?
You want to refer to the column rather than each record. Refer to below. To my understanding, the third paramater is used to handle null values.
let Source = Table.FromColumns({{1,2,3}}, {"Test"}), #"Transform column" = Table.TransformColumns(Source, {"Test", Number.From}) in #"Transform column"
User | Count |
---|---|
64 | |
59 | |
47 | |
32 | |
31 |
User | Count |
---|---|
84 | |
73 | |
52 | |
50 | |
44 |