Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Auto generate Table by data and condition from other table

HI friend

 

I don't sure power bi will be able to do this.
But can someone advise me how to create table2 that all column auto generate data from table1 by each row are information from each lesson that value 1 individual by day

 

Table1

Date                name               lesson1            lesson2            lesson3           lesson4
01-JanJame11  
01-JanKelly 1  
02-JanJame1   
03-JanJame  1 
02-JanKelly  11

 

Table2 (auto generate)

Date                name               Suject
01-JanJamelesson1
01-JanJamelesson2
01-JanKellylesson2
02-JanJamelesson1
03-JanJamelesson3
02-JanKellylesson3
02-JanKellylesson4

 

Thanks a lot in advance for your help.

  • Fowmy's avatar
    Fowmy
    6 years ago

    Anonymous 

    .I used Greg_Deckler's technique to union each column and filter then added a tweak to include column names.

    You will have to hardcode our column names as I have done below.
     

     

    LESSONS DAX = 
    FILTER(
        UNION(
            SELECTCOLUMNS( LESSONS , "DATE", [Date] , "NAME" , [name] , "LESSON", IF([lesson1] = "1", "Lesson 1", BLANK())), 
            SELECTCOLUMNS( LESSONS , "DATE", [Date] , "NAME" , [name] , "LESSON", IF([lesson2] = "1", "Lesson 2", BLANK())),
            SELECTCOLUMNS( LESSONS , "DATE", [Date] , "NAME" , [name] , "LESSON", IF([lesson3] = "1", "Lesson 3", BLANK())),
            SELECTCOLUMNS( LESSONS , "DATE", [Date] , "NAME" , [name] , "LESSON", IF([lesson4] = "1", "Lesson 4", BLANK()))
        ),
        [LESSON] <> BLANK()
    )

     

     
    Result.

     

    ________________________

    Did I answer your question? Mark this post as a solution, this will help others!.

    Click on the Thumbs-Up icon on the right if you like this reply 🙂

    YouTube, LinkedIn

     



8 Replies

  • Anonymous 

    It's absolutely possible!

    Easy to do it in Power Query with just two steps
    1. Your data look like this at the beginning, Select Date and Name columns and right-click, select Unpivot Other Columns,




    2. Click on the filter button on the Value column and deselect blank, done. You can remove the value column.


    3. Result





    ________________________

    Did I answer your question? Mark this post as a solution, this will help others!.

    Click on the Thumbs-Up icon on the right if you like this reply 🙂

    YouTube, LinkedIn

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      Greg_Deckler Thank you so much , its worked like my way!!

    • Anonymous's avatar
      Anonymous
      Not applicable

      Fowmy  thank for you advice!! but all lesson column in Table is calculated columnม Is it possible to use it as DAX? : (

      • Fowmy's avatar
        Fowmy
        Icon for Super User rankSuper User

        Anonymous 

        .I used Greg_Deckler's technique to union each column and filter then added a tweak to include column names.

        You will have to hardcode our column names as I have done below.
         

         

        LESSONS DAX = 
        FILTER(
            UNION(
                SELECTCOLUMNS( LESSONS , "DATE", [Date] , "NAME" , [name] , "LESSON", IF([lesson1] = "1", "Lesson 1", BLANK())), 
                SELECTCOLUMNS( LESSONS , "DATE", [Date] , "NAME" , [name] , "LESSON", IF([lesson2] = "1", "Lesson 2", BLANK())),
                SELECTCOLUMNS( LESSONS , "DATE", [Date] , "NAME" , [name] , "LESSON", IF([lesson3] = "1", "Lesson 3", BLANK())),
                SELECTCOLUMNS( LESSONS , "DATE", [Date] , "NAME" , [name] , "LESSON", IF([lesson4] = "1", "Lesson 4", BLANK()))
            ),
            [LESSON] <> BLANK()
        )

         

         
        Result.

         

        ________________________

        Did I answer your question? Mark this post as a solution, this will help others!.

        Click on the Thumbs-Up icon on the right if you like this reply 🙂

        YouTube, LinkedIn