Forum Discussion

agustinsuarez's avatar
agustinsuarez
Regular Visitor
9 years ago
Solved

Aggregate Values from Table A into Table B

Assume I have Table A with following structure:

 

DateChannelDeviceSessions
5/1/2016OrganicDesktop10
5/1/2016OrganicMobile5
5/1/2016OrganicTablet5
5/2/2016OrganicDesktop15
5/2/2016OrganicMobile10
5/2/2016OrganicTablet5

 

I also have Table B with following structure:

 

DateChannelImpressions
5/1/2016Organic100
5/2/2016Organic200

 

My objective is to aggregate all the sessions from Table A into Table B, with the following output:

 

DateChannelImpressionsSessions
5/1/2016Organic10020
5/1/2016Organic20030

 

As I am still very new to Power BI, I give a similar SQL expression as I would do it using this language: SUM(Sessions) FROM Table A GROUP BY channel.

 

Note that in the real data there are multiple different values for channel, and therefore I cannot just do a WHERE clause. Thanks!

  • Hi agustinsuarez,

     

    it could be, but your model is not ideal cause it's many-many. but there is workaround for your requirement

    • Create Dates table: Dates= Calendarauto()
    • Create Channels table: Channels = values(TableA[Channel])
    • Create 4 relationships with 3 actives as picture 
    • SS = sum(TableA[Session])

     

     

     

    Details of relationships:

     

     

    If this works for you please accept it as solution and also like to give KUDOS.

    Best regards
    Tri Nguyen

6 Replies

  • Baskar's avatar
    Baskar
    Resident Rockstar

    Can u please tell me what is the relationship between these two tables .

     

    like date to date or Channel to channel ? like this

  • Baskar's avatar
    Baskar
    Resident Rockstar

    Cool dude.

     

    1. Have to create one Table for Master Table . Using Dax Code like the below image 

     

     

     

     

     

    2. Have to create Relationship between Date Master to Other your Two Tables (Table A , Table B) with Date key like the below image 

      a) Date Master "Date" to Table A "Date"

      b) Date Master "Date" to Table B "Date"

     

     

     

     

    3. Drag Date from Date Master, then Channel, Impresion , session at and all, like below

     

     

     

     

     

    Let me know if any help

  • Anonymous's avatar
    Anonymous
    Not applicable

    agustinsuarez A date table linked to both of the example tables would allow you to just use your default columns without the need to create a calculation. Something simplistically that look like this.

  • Hi agustinsuarez,

     

    it could be, but your model is not ideal cause it's many-many. but there is workaround for your requirement

    • Create Dates table: Dates= Calendarauto()
    • Create Channels table: Channels = values(TableA[Channel])
    • Create 4 relationships with 3 actives as picture 
    • SS = sum(TableA[Session])

     

     

     

    Details of relationships:

     

     

    If this works for you please accept it as solution and also like to give KUDOS.

    Best regards
    Tri Nguyen

    • ImkeF's avatar
      ImkeF
      Community Champion
      This can very easily be done in the query editor: In TableB you merge with TabeA on date and chanel (leave default join-type LeftOuter). Then when you expand the newly created column, you switch to "Aggregate" an choose "Sum" of Sessions.
  • Eric_Zhang's avatar
    Eric_Zhang
    Microsoft Employee

    agustinsuarez

    If table A and table B are in a many to one relationship via the columns date and channel, you can create a new column, say joinkey in each table and create relationship against that new column.

    In table A
    joinKey = TableA[Date]&","&TableA[Channel]
    
    In table B
    JoinKey = TableB[Date]&","&TableB[Channel]

     

    Check more details in the attached pbix.zip