Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

Power Query: Issue with adding lists of numbers to tables

I would expect that the following statement adds a new column with lists of numbers:

Table.AddColumn(#"Table", "Test", each {1, 2, 3})

Instead, the items in the lists are the numbers in text(!) format:

How can I avoid this?

  • Though it shows left aligned but type is number only. If you use following, you will find that TRUE is populated in the list

    = Table.AddColumn(#"Table", "Test", each List.Transform({1, 2, 3}, (x)=>x is number))

    if you use this, you will find FALSE

    = Table.AddColumn(#"Table", "Test", each List.Transform({1, 2, 3}, (x)=>x is text))

    Now, the type is set for the column not for list which you can do with below statement

    = Table.AddColumn(#"Table", "Test", each {1, 2, 3}, type {Int64.Type})

    When you expland this column, you will column type is set to Whole number. Otherwise column type will be set to Any.

    = Table.AddColumn(#"Table", "Test", each {1, 2, 3}, type {Int64.Type})

4 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable
    Table.AddColumn(#"Table", "Test", each List.Numbers(1,3,1))

     

    --Nate 

    • Anonymous's avatar
      Anonymous
      Not applicable

      "{1, 2, 3}" was just an example.
      Anyway, your solution gives the same result as described as an issue by me above.

  • Vijay_A_Verma's avatar
    Vijay_A_Verma
    Most Valuable Professional

    Though it shows left aligned but type is number only. If you use following, you will find that TRUE is populated in the list

    = Table.AddColumn(#"Table", "Test", each List.Transform({1, 2, 3}, (x)=>x is number))

    if you use this, you will find FALSE

    = Table.AddColumn(#"Table", "Test", each List.Transform({1, 2, 3}, (x)=>x is text))

    Now, the type is set for the column not for list which you can do with below statement

    = Table.AddColumn(#"Table", "Test", each {1, 2, 3}, type {Int64.Type})

    When you expland this column, you will column type is set to Whole number. Otherwise column type will be set to Any.

    = Table.AddColumn(#"Table", "Test", each {1, 2, 3}, type {Int64.Type})

    • Anonymous's avatar
      Anonymous
      Not applicable

       


      Vijay_A_Verma wrote:

      Though it shows left aligned but type is number only.


      This is really strange! Do you have an explanation why it's shown left aligned?