Forum Discussion
ericOnline
Post Patron
6 years agoDetermine MIN date across tables using DAX
I come from the PowerApps world, just getting familiar with DAX and PowerQuery. In PowerApps, to determine the minimum value of a set, I'd write something like: MIN(value1, value2, value3, etc.) ...
- Anonymous6 years ago
Try something like this if you want the min value of 4 columns:
Measure = var m= IF(MIN('Table1'[ts1])<=MIN('Table2'[ts2]),MIN('Table1'[ts1]), IF(MIN('Table2'[ts2])<=MIN('Table3'[ts3]),MIN('Table2'[ts2]),MIN('Table3'[ts3]))) Return IF(m<=MIN('Table4'[ts4]),m,MIN('Table4'[ts4]))Paul Zheng _ Community Support Team
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly - 6 years ago
Hi Anonymous ,
I was able to translate your solution to my use case. Since I am generating a Date Table based on timestamps in 3 tables, rather than a Measure, here is what I used: (Thank you!)
DATE_TABLE = VAR MIN_TS = IF( MIN(TABLE1[TIMESTAMP]) <= MIN(TABLE2[TIMESTAMP]), MIN(TABLE1[TIMESTAMP]), IF( MIN(TABLE2[TIMESTAMP]) <= MIN(TABLE3[TIMESTAMP]), MIN(TABLE2[TIMESTAMP]), MIN(TABLE3[TIMESTAMP]) ) ) VAR MAX_TS = IF( MAX(TABLE1[TIMESTAMP]) >= MAX(TABLE2[TIMESTAMP]), MAX(TABLE1[TIMESTAMP]), IF( MAX(TABLE2[TIMESTAMP]) >= MAX(TABLE3[TIMESTAMP]), MAX(TABLE2[TIMESTAMP]), MAX(TABLE3[TIMESTAMP]) ) ) RETURN CALENDAR( MIN_TS, MAX_TS )Sure would be more intuitive if DAX allowed something like:
DATE_TABLE = CALENDAR( MIN(TABLE1[TIMESTAMP], TABLE2[TIMESTAMP], TABLE3[TIMESTAMP]), MAX(TABLE1[TIMESTAMP], TABLE2[TIMESTAMP], TABLE3[TIMESTAMP]) )Oh well! Job security!
az38
Community Champion
6 years agoericOnline
Post Patron
6 years agoaz38 ,
It appears that MIN() only accepts two values. Adding all four table columns in a single MIN() statement results in the error: `Unexpected Parameter` columns 3 and 4.