cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
sergioquerido
Regular Visitor

How to merge columns from different tables in a new table caculation not displayed in Power Query

Hi,

I created a new table (table 3) with some measures from another table (table 1) and now i need to add 3 collumns from a third table (table 2) through mulple relationships (i.e., date, and moment of the day).

I know how to merge columns from different tables with Power Query but the new table created (table 3) is not displayed in Power Query (maybe because it is not imported externally).

What are the best solutions:

1) How to add columns from 2 different tables?

This is the code of the created new table (table 3):
RealxExpected = ADDCOLUMNS(SUMMARIZE(
     GPS, GPS[Date], GPS[Unit Number], GPS[Period]),
     "REAL_WORKLOAD", [%_WORKLOAD],
     "REAL_ENDURANCE", GPS[%_TOTAL DISTANCE],
     "REAL_SHORT", DIVIDE([%_ACC&DEC>2]+[%_ACC&DEC>3],2),
     "REAL_LONG", DIVIDE([%_HSD-Z5]+[%_SD-Z6],2))
 

2) How to dynamically merge columns from 2 different tables with at least 2 relationships without Power Query?

 

Thanks

 

SQ

1 ACCEPTED SOLUTION
v-jianboli-msft
Community Support
Community Support

Hi @sergioquerido ,

 

You can achieve this by using ADDCOLUMNS and FILTER()

Here is may example:

vjianbolimsft_0-1676018435372.png

vjianbolimsft_1-1676018457457.png

Please try:

RealxExpected = 
ADDCOLUMNS (
    SUMMARIZE ( GPS, GPS[Date], GPS[Unit Number], GPS[Period] ),
    "REAL_WORKLOAD", [%_WORKLOAD],
    "REAL_ENDURANCE", GPS[%_TOTAL DISTANCE],
    "Column1",CALCULATE(MAX('Table 2'[Column1]),FILTER('Table 2','Table 2'[Date]=EARLIER(GPS[Date])&&[Period]=EARLIER(GPS[Period]))),
    "Column2",CALCULATE(MAX('Table 2'[Column2]),FILTER('Table 2','Table 2'[Date]=EARLIER(GPS[Date])&&[Period]=EARLIER(GPS[Period])))
)

Final output:

vjianbolimsft_2-1676018489250.png

 

 

 

View solution in original post

2 REPLIES 2
sergioquerido
Regular Visitor

It works! Thanks!

 

SQ

v-jianboli-msft
Community Support
Community Support

Hi @sergioquerido ,

 

You can achieve this by using ADDCOLUMNS and FILTER()

Here is may example:

vjianbolimsft_0-1676018435372.png

vjianbolimsft_1-1676018457457.png

Please try:

RealxExpected = 
ADDCOLUMNS (
    SUMMARIZE ( GPS, GPS[Date], GPS[Unit Number], GPS[Period] ),
    "REAL_WORKLOAD", [%_WORKLOAD],
    "REAL_ENDURANCE", GPS[%_TOTAL DISTANCE],
    "Column1",CALCULATE(MAX('Table 2'[Column1]),FILTER('Table 2','Table 2'[Date]=EARLIER(GPS[Date])&&[Period]=EARLIER(GPS[Period]))),
    "Column2",CALCULATE(MAX('Table 2'[Column2]),FILTER('Table 2','Table 2'[Date]=EARLIER(GPS[Date])&&[Period]=EARLIER(GPS[Period])))
)

Final output:

vjianbolimsft_2-1676018489250.png

 

 

 

Helpful resources

Announcements
T-Shirt Design Challenge 2023

Power BI T-Shirt Design Challenge 2023

Submit your creative T-shirt design ideas starting March 7 through March 21, 2023.

March 2023 Update3

Power BI March 2023 Update

Find out more about the March 2023 update.

March Events 2023A

March 2023 Events

Find out more about the online and in person events happening in March!

Top Solution Authors