Forum Discussion
DOUBT ABOUT POWER BI MEASURES
I HAVE A TABLE APRIL_2023 WITH THE COLUMNS: PATIENT, TOTAL PRESCRIBED VOLUME AND DATE, HOW DO I CREATE A MEASUREMENT THAT RETURNS ME THE QUANTITY OF DIFFERENT PATIENTS WHO HAVE HAD THE PRESCRIPTION = 0 IN TWO CONTINUED DAYS OR MORE?
- Anonymous3 years ago
Hi Anonymous ,
I created some data:
Here are the steps you can follow:
1. In Power Query -- Add Column – Index Column – From 1.
2. Create measure.
MIN_0_DATE_MEASURE = MINX( FILTER(ALL('Table'), 'Table'[PATIENT]=MAX('Table'[PATIENT])&&'Table'[TOTAL PRESCRIBED]=0),[DATE])Flag_MEASURE = var _current= SUMX( FILTER(ALL('Table'), 'Table'[PATIENT]=MAX('Table'[PATIENT])&&'Table'[Index]=MAX('Table'[Index])),[TOTAL PRESCRIBED]) var _last= SUMX( FILTER(ALL('Table'), 'Table'[PATIENT]=MAX('Table'[PATIENT])&&'Table'[Index]=MAX('Table'[Index])-1),[TOTAL PRESCRIBED]) var _next= SUMX( FILTER(ALL('Table'), 'Table'[PATIENT]=MAX('Table'[PATIENT])&&'Table'[Index]=MAX('Table'[Index])+1),[TOTAL PRESCRIBED]) var _maxdate= MAXX( FILTER(ALL('Table'),'Table'[PATIENT]=MAX('Table'[PATIENT])),[DATE]) return IF( _current=0&&MAX('Table'[DATE])=_maxdate,0, IF( _current=0&&_current=_next,1,0))Flag = IF( 1 in SELECTCOLUMNS(FILTER(ALL('Table'),'Table'[PATIENT]=MAX('Table'[PATIENT])),"1",[Flag_MEASURE]) ,1,0)3. Place [Flag]in Filters, set is=1, apply filter.
4. Result:
Best Regards,
Liu Yang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
1 Reply
- AnonymousNot applicable
Hi Anonymous ,
I created some data:
Here are the steps you can follow:
1. In Power Query -- Add Column – Index Column – From 1.
2. Create measure.
MIN_0_DATE_MEASURE = MINX( FILTER(ALL('Table'), 'Table'[PATIENT]=MAX('Table'[PATIENT])&&'Table'[TOTAL PRESCRIBED]=0),[DATE])Flag_MEASURE = var _current= SUMX( FILTER(ALL('Table'), 'Table'[PATIENT]=MAX('Table'[PATIENT])&&'Table'[Index]=MAX('Table'[Index])),[TOTAL PRESCRIBED]) var _last= SUMX( FILTER(ALL('Table'), 'Table'[PATIENT]=MAX('Table'[PATIENT])&&'Table'[Index]=MAX('Table'[Index])-1),[TOTAL PRESCRIBED]) var _next= SUMX( FILTER(ALL('Table'), 'Table'[PATIENT]=MAX('Table'[PATIENT])&&'Table'[Index]=MAX('Table'[Index])+1),[TOTAL PRESCRIBED]) var _maxdate= MAXX( FILTER(ALL('Table'),'Table'[PATIENT]=MAX('Table'[PATIENT])),[DATE]) return IF( _current=0&&MAX('Table'[DATE])=_maxdate,0, IF( _current=0&&_current=_next,1,0))Flag = IF( 1 in SELECTCOLUMNS(FILTER(ALL('Table'),'Table'[PATIENT]=MAX('Table'[PATIENT])),"1",[Flag_MEASURE]) ,1,0)3. Place [Flag]in Filters, set is=1, apply filter.
4. Result:
Best Regards,
Liu Yang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly