Forum Discussion
[ Creating 2 calculated columns ]
- 8 years ago
It seens to work this way in the test data base that i shared with you. (I will need to test this on the actual data base to be 100%):
Column = VAR MINH = MINX( FILTER( 'BASE SERVICES'; 'BASE SERVICES'[CLIENT] = EARLIER(BASEDATA[CLIENT]) && 'BASE SERVICES'[DATE] >= EARLIER('BASEDATA'[REVENUEDATE]) - 405 && 'BASE SERVICES'[DATE] < EARLIER('BASEDATA'[REVENUEDATE]) - 40); 'BASE SERVICES'[HIERARCHY]) RETURN MAXX( FILTER( 'BASE SERVICES'; 'BASE SERVICES'[CLIENT] = EARLIER('BASEDATA'[CLIENT]) && 'BASE SERVICES'[DATE] >= EARLIER('BASEDATA'[REVENUEDATE]) - 405 && 'BASE SERVICES'[DATE] < EARLIER('BASEDATA'[REVENUEDATE]) - 40 && 'BASE SERVICES'[HIERARCHY] = MINH); DATE(YEAR('BASE SERVICES'[DATE]);MONTH('BASE SERVICES'[DATE]);1))Question: Why it doesnt work this way??
Column = MAXX( FILTER( 'BASE SERVICES'; 'BASE SERVICES'[CLIENT] = EARLIER('BASEDATA'[CLIENT]) && 'BASE SERVICES'[DATE] >= EARLIER('BASEDATA'[REVENUEDATE]) - 405 && 'BASE SERVICES'[DATE] < EARLIER('BASEDATA'[REVENUEDATE]) - 40 && 'BASE SERVICES'[HIERARCHY] = MIN('BASE SERVICES'[HIERARCHY]); DATE(YEAR('BASE SERVICES'[DATE]);MONTH('BASE SERVICES'[DATE]);1))
It seens to work this way in the test data base that i shared with you. (I will need to test this on the actual data base to be 100%):
Column =
VAR MINH =
MINX(
FILTER(
'BASE SERVICES';
'BASE SERVICES'[CLIENT] = EARLIER(BASEDATA[CLIENT])
&& 'BASE SERVICES'[DATE] >= EARLIER('BASEDATA'[REVENUEDATE]) - 405
&& 'BASE SERVICES'[DATE] < EARLIER('BASEDATA'[REVENUEDATE]) - 40);
'BASE SERVICES'[HIERARCHY])
RETURN
MAXX(
FILTER(
'BASE SERVICES';
'BASE SERVICES'[CLIENT] = EARLIER('BASEDATA'[CLIENT]) &&
'BASE SERVICES'[DATE] >= EARLIER('BASEDATA'[REVENUEDATE]) - 405 &&
'BASE SERVICES'[DATE] < EARLIER('BASEDATA'[REVENUEDATE]) - 40
&& 'BASE SERVICES'[HIERARCHY] = MINH);
DATE(YEAR('BASE SERVICES'[DATE]);MONTH('BASE SERVICES'[DATE]);1))
Question: Why it doesnt work this way??
Column =
MAXX(
FILTER(
'BASE SERVICES';
'BASE SERVICES'[CLIENT] = EARLIER('BASEDATA'[CLIENT]) &&
'BASE SERVICES'[DATE] >= EARLIER('BASEDATA'[REVENUEDATE]) - 405 &&
'BASE SERVICES'[DATE] < EARLIER('BASEDATA'[REVENUEDATE]) - 40
&& 'BASE SERVICES'[HIERARCHY] = MIN('BASE SERVICES'[HIERARCHY]);
DATE(YEAR('BASE SERVICES'[DATE]);MONTH('BASE SERVICES'[DATE]);1))
Hi bolabuga
In your second example the like that goes
BASE SERVICES'[HIERARCHY] = MIN('BASE SERVICES'[HIERARCHY]);is pretty much dropping down to a single line. If you want to use a single statement, you'd need to nest your filter statements, but you will still end up with a similar amount of code - and no performance gain.
- bolabuga8 years agoHelper V
Thks Phil for the help.
Pratical Dax are certainly in my TARGET, but before that i need to finish my reading of "definitive guide to dax", which i bought recently.