Forum Discussion

Jaromac's avatar
Jaromac
Frequent Visitor
4 years ago
Solved

Dax: Row to Column Transposition

Hi PowerBI users,

 

I would like to find out whether is possible to transpose rows into columns against Phases field. I have already prepared a intial logic however I still missing to populate the rest of the records which basically they do not meet the conditions : 

So in the end I would like repeat blank values with the same value even though it is not a correnspoding phase. The logic for Phase 1 for example is : 

Phase 1 =

var Phase_1_value = if(Aggregate_view[Phases]="Phase 1",(Aggregate_view[Phase_done_progress]),BLANK())

return
Phase_1_value
 
Is there any way instead of having BLANK put the same result according to the PHASE ? 
 
P.S. I know that there is a default transpose function in query and I am enforced to do in DAX. 
 
Your help would highly appreciated. 
 
Thanks in advance. 
  • Hi, Jaromac 

    You don't need to use 'if' statement at all. To replace the blank, you just need to change the code as below:

    Calculated columns:

    Phase_1 = 
    CALCULATE (
        MAX ( Aggregate_view[Phase_done_progress] ),
        FILTER ( Aggregate_view, Aggregate_view[Phases] = "Phase 1" )
    )
    
    Phase_2 = 
    CALCULATE (
        MAX ( Aggregate_view[Phase_done_progress] ),
        FILTER ( Aggregate_view, Aggregate_view[Phases] = "Phase 2" )
    )
    Phase_3 = 
    CALCULATE (
        MAX ( Aggregate_view[Phase_done_progress] ),
        FILTER ( Aggregate_view, Aggregate_view[Phases] = "Phase 3" )
    )

    Best Regards,
    Community Support Team _ Eason

3 Replies

    • Jaromac's avatar
      Jaromac
      Frequent Visitor

      Yes 🙂 In the end I have a another column which reduce those numbers of records to have only one value but firstly I need to populate all blank records. 

      • v-easonf-msft's avatar
        v-easonf-msft
        Icon for Community Support rankCommunity Support

        Hi, Jaromac 

        You don't need to use 'if' statement at all. To replace the blank, you just need to change the code as below:

        Calculated columns:

        Phase_1 = 
        CALCULATE (
            MAX ( Aggregate_view[Phase_done_progress] ),
            FILTER ( Aggregate_view, Aggregate_view[Phases] = "Phase 1" )
        )
        
        Phase_2 = 
        CALCULATE (
            MAX ( Aggregate_view[Phase_done_progress] ),
            FILTER ( Aggregate_view, Aggregate_view[Phases] = "Phase 2" )
        )
        Phase_3 = 
        CALCULATE (
            MAX ( Aggregate_view[Phase_done_progress] ),
            FILTER ( Aggregate_view, Aggregate_view[Phases] = "Phase 3" )
        )

        Best Regards,
        Community Support Team _ Eason