Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
2 years ago
Solved

Is it possible to add multiple columns with DAX

Instead of adding columns one at a time using dax is it possible to add multiple columns in one go?  I can break the code up below to add one column at a time and it works, but when I try to combine it into one dax statement it doesn't. 

 

 

 

Alice =
 SWITCH(TRUE(),
 'Table'[Name] = "Alice", "Alice",
 'Table'[Name] = "Bob", UNICHAR(8203),
 'Table'[Name] = "Carol", REPT( UNICHAR(8203), 2),
 BLANK()
 )

Bob =
 SWITCH(TRUE(),
 'Table'[Name] = "Alice", UNICHAR(8203),
 'Table'[Name] = "Bob", "Bob",
 'Table'[Name] = "Carol", REPT( UNICHAR(8203), 2),
 BLANK()
 )

Carol =
 SWITCH(TRUE(),
 'Table'[Name] = "Alice", REPT( UNICHAR(8203), 2),
 'Table'[Name] = "Bob", UNICHAR(8203),
 'Table'[Name] = "Carol", "Carol",
 BLANK()
 )
  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi Anonymous 

    If you want to add multiple columns at one time, you need to use calculated table, because it will return multiple columns, you cannot create them directly at the existed table. you can refer to the following sample.

    Create a calculated table

     

    Table2 =
    ADDCOLUMNS (
        'Table',
        "Alice",
            SWITCH (
                TRUE (),
                'Table'[Name] = "Alice", "Alice",
                'Table'[Name] = "Bob", UNICHAR ( 8203 ),
                'Table'[Name] = "Carol", REPT ( UNICHAR ( 8203 ), 2 ),
                BLANK ()
            ),
        "Bob",
            SWITCH (
                TRUE (),
                'Table'[Name] = "Alice", UNICHAR ( 8203 ),
                'Table'[Name] = "Bob", "Bob",
                'Table'[Name] = "Carol", REPT ( UNICHAR ( 8203 ), 2 ),
                BLANK ()
            ),
        "Carol",
            SWITCH (
                TRUE (),
                'Table'[Name] = "Alice", REPT ( UNICHAR ( 8203 ), 2 ),
                'Table'[Name] = "Bob", UNICHAR ( 8203 ),
                'Table'[Name] = "Carol", "Carol",
                BLANK ()
            )
    )
    

     

    Best Regards!

    Yolo Zhu

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

4 Replies

  • Daniel29195's avatar
    Daniel29195
    Icon for Community Champion rankCommunity Champion

    Anonymous 

    Not sure what you mean, 

    but u can use addcolumns function in dax to add as many as you want 

     

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      But can I create multiple columns with just one AddColumns call?
      I seem to only be able to create one column per addcolumn call

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous 

    If you want to add multiple columns at one time, you need to use calculated table, because it will return multiple columns, you cannot create them directly at the existed table. you can refer to the following sample.

    Create a calculated table

     

    Table2 =
    ADDCOLUMNS (
        'Table',
        "Alice",
            SWITCH (
                TRUE (),
                'Table'[Name] = "Alice", "Alice",
                'Table'[Name] = "Bob", UNICHAR ( 8203 ),
                'Table'[Name] = "Carol", REPT ( UNICHAR ( 8203 ), 2 ),
                BLANK ()
            ),
        "Bob",
            SWITCH (
                TRUE (),
                'Table'[Name] = "Alice", UNICHAR ( 8203 ),
                'Table'[Name] = "Bob", "Bob",
                'Table'[Name] = "Carol", REPT ( UNICHAR ( 8203 ), 2 ),
                BLANK ()
            ),
        "Carol",
            SWITCH (
                TRUE (),
                'Table'[Name] = "Alice", REPT ( UNICHAR ( 8203 ), 2 ),
                'Table'[Name] = "Bob", UNICHAR ( 8203 ),
                'Table'[Name] = "Carol", "Carol",
                BLANK ()
            )
    )
    

     

    Best Regards!

    Yolo Zhu

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      Makes sense! thank you 🙂