Forum Discussion
Count consecutive positives and negatives
Hi Jansco ,
You can consider to use 'weeknum' and 'year' as group to summary your records, then you can compare the difference between current week and previous week.
Diff =
VAR currDate =
MAX ( Calendar[Date] )
VAR prevDate =
DATE ( YEAR ( currDate ), MONTH ( currDate ), DAY ( curDate ) - 7 )
VAR curWeek =
CALCULATE (
SUM ( Table[Sales] ),
FILTER (
ALLSELECTED ( Table ),
YEAR ( [Date] ) = YEAR ( currDate )
&& WEEKNUM ( [Date], 1 ) = WEEKNUM ( currDate, 1 )
)
)
VAR preWeek =
CALCULATE (
SUM ( Table[Sales] ),
FILTER (
ALLSELECTED ( Table ),
YEAR ( [Date] ) = YEAR ( prevDate )
&& WEEKNUM ( [Date], 1 ) = WEEKNUM ( prevDate, 1 )
)
)
RETURN
curWeek - preWeek
If above no help, please provide some sample data and expected result for test.
Regards,
Xiaoxin Sheng
My measures are set up like this:
SalesLast7 =calculate(sum(‘SalesTable’[Sales]),
(Datesinperiod(date[date], selevtedvslue (date[date])-1,-7,day)
SalesTwoWeeksPrior =
=calculate(sum(‘SalesTable’[Sales]),
(Datesinperiod(date[date], selevtedvslue (date[date])-8,-7,day)
I discovered a formula like the one below will work, but it takes FOREVER. Is there a faster way?
Num Consec Ups 60 Days =
SWITCH(
TRUE (),
[*Sales Last 7 Days vs 60 Day Avg]>0
&& [*Sales 2 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 3 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 6 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 7 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 8 Weeks Prior vs 60 Day Avg]>0 ,8,
[*Sales Last 7 Days vs 60 Day Avg]>0
&& [*Sales 2 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 3 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 6 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 7 Weeks Prior vs 60 Day Avg]>0,7,
[*Sales 2 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 3 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 6 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 7 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 8 Weeks Prior vs 60 Day Avg]>0 ,7,
[*Sales Last 7 Days vs 60 Day Avg]>0
&& [*Sales 2 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 3 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 6 Weeks Prior vs 60 Day Avg]>0,6,
[*Sales 3 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 6 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 7 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 8 Weeks Prior vs 60 Day Avg]>0 ,6,
[*Sales 2 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 3 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 6 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 7 Weeks Prior vs 60 Day Avg]>0,6,
[*Sales Last 7 Days vs 60 Day Avg]>0
&& [*Sales 2 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 3 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0,5,
[*Sales 2 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 3 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 6 Weeks Prior vs 60 Day Avg]>0,5,
[*Sales 3 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 6 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 7 Weeks Prior vs 60 Day Avg]>0,5,
[*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 6 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 7 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 8 Weeks Prior vs 60 Day Avg]>0 ,5,
[*Sales Last 7 Days vs 60 Day Avg]>0
&& [*Sales 2 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 3 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 4 Weeks Prior vs 60 Day Avg]>0, 4,
[*Sales 2 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 3 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0, 4,
[*Sales 3 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 6 Weeks Prior vs 60 Day Avg]>0, 4,
[*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 6 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 7 Weeks Prior vs 60 Day Avg]>0, 4,
[*Sales 5 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 6 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 7 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 8 Weeks Prior vs 60 Day Avg]>0 ,4,
[*Sales Last 7 Days vs 60 Day Avg]>0
&& [*Sales 2 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 3 Weeks Prior vs 60 Day Avg]>0,3,
[*Sales 2 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 3 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 4 Weeks Prior vs 60 Day Avg]>0,3,
[*Sales 3 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0,3,
[*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 6 Weeks Prior vs 60 Day Avg]>0,3,
[*Sales 5 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 6 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 7 Weeks Prior vs 60 Day Avg]>0,3,
[*Sales 6 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 7 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 8 Weeks Prior vs 60 Day Avg]>0 ,3,
[*Sales Last 7 Days vs 60 Day Avg]>0
&& [*Sales 2 Weeks Prior vs 60 Day Avg]>0,2,
[*Sales 2 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 3 Weeks Prior vs 60 Day Avg]>0,2,
[*Sales 3 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 4 Weeks Prior vs 60 Day Avg]>0,2,
[*Sales 4 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 5 Weeks Prior vs 60 Day Avg]>0,2,
[*Sales 5 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 6 Weeks Prior vs 60 Day Avg]>0,2,
[*Sales 6 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 7 Weeks Prior vs 60 Day Avg]>0,2,
[*Sales 7 Weeks Prior vs 60 Day Avg]>0
&& [*Sales 8 Weeks Prior vs 60 Day Avg]>0 ,2,
BLANK())
- Anonymous6 years agoNot applicable
Hi Jansco ,
If you can please share a sample pbix file for test, it is hard to modify dax formula without any detail sample data.
Regards,
Xiaoxin Sheng