Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.
Hello everyone!
Could, you, please, help me with the following task in DAX.
I am attaching sample in excel.
I have the following columns:
1) "Date" - Call date
2) Customer ID (can be customer phone number)
3) "Repeated calls in 7 days?" - calculated columnt that puts "Y" in row if this is a repeated call (there was a call from the same "Customer ID" within period of 7 days before "Date") , if not - it puts "N".
4) Call number - this is the calculated column i am struggling with..I'd like to assign consecutive number for each call if it happens from the same customer ID within the period of 7 days. If the previous call from id happened earlier - the count starts again from "1".
Date | Customer Id | Repeated calls in 7 Days ? | Call number |
24-11-23 | 1111111 | N | 1 |
25-12-23 | 1111111 | N | 1 |
30-12-22 | 1111111 | Y | 2 |
06-01-24 | 1111111 | Y | 3 |
02-02-24 | 1111111 | N | 1 |
04-02-24 | 1111111 | Y | 2 |
09-02-24 | 1111111 | Y | 3 |
Your help will be much appreciated !
Solved! Go to Solution.
Hi,
I am not sure if I understood your question correctly, but please check the below picture and the attached pbix file.
OFFSET function (DAX) - DAX | Microsoft Learn
Repeated call in 7 days? CC =
VAR _currentdate = Data[Date]
VAR _prevdate =
SUMMARIZE (
OFFSET (
-1,
Data,
ORDERBY ( Data[Date], ASC ),
,
PARTITIONBY ( Data[Customer] ),
MATCHBY ( Data[Date], Data[Customer] )
),
Data[Date]
)
RETURN
SWITCH (
TRUE (),
_prevdate = BLANK (), "N",
_currentdate - _prevdate > 7, "N",
_currentdate - _prevdate <= 7, "Y"
)
EARLIER function (DAX) - DAX | Microsoft Learn
Call number CC =
VAR _startNdate =
MAXX (
FILTER (
Data,
Data[Customer] = EARLIER ( Data[Customer] )
&& Data[Repeated call in 7 days? CC] = "N"
&& Data[Date] <= EARLIER ( Data[Date] )
),
Data[Date]
)
VAR _nextNdate =
MINX (
FILTER (
Data,
Data[Customer] = EARLIER ( Data[Customer] )
&& Data[Repeated call in 7 days? CC] = "N"
&& Data[Date] > EARLIER ( Data[Date] )
),
Data[Date]
)
VAR _tnextNdatenotblank =
FILTER (
Data,
Data[Customer] = EARLIER ( Data[Customer] )
&& Data[Date] >= _startNdate
&& Data[Date] <= _nextNdate
&& Data[Date] <= EARLIER ( Data[Date] )
)
VAR _tnextNdateblank =
FILTER (
Data,
Data[Customer] = EARLIER ( Data[Customer] )
&& Data[Date] >= _startNdate
&& Data[Date] <= EARLIER ( Data[Date] )
)
RETURN
SWITCH (
TRUE (),
_nextNdate <> BLANK (), COUNTROWS ( _tnextNdatenotblank ),
COUNTROWS ( _tnextNdateblank )
)
Thank you very much ! This is exactly what i was looking for !
Hi,
I am not sure if I understood your question correctly, but please check the below picture and the attached pbix file.
OFFSET function (DAX) - DAX | Microsoft Learn
Repeated call in 7 days? CC =
VAR _currentdate = Data[Date]
VAR _prevdate =
SUMMARIZE (
OFFSET (
-1,
Data,
ORDERBY ( Data[Date], ASC ),
,
PARTITIONBY ( Data[Customer] ),
MATCHBY ( Data[Date], Data[Customer] )
),
Data[Date]
)
RETURN
SWITCH (
TRUE (),
_prevdate = BLANK (), "N",
_currentdate - _prevdate > 7, "N",
_currentdate - _prevdate <= 7, "Y"
)
EARLIER function (DAX) - DAX | Microsoft Learn
Call number CC =
VAR _startNdate =
MAXX (
FILTER (
Data,
Data[Customer] = EARLIER ( Data[Customer] )
&& Data[Repeated call in 7 days? CC] = "N"
&& Data[Date] <= EARLIER ( Data[Date] )
),
Data[Date]
)
VAR _nextNdate =
MINX (
FILTER (
Data,
Data[Customer] = EARLIER ( Data[Customer] )
&& Data[Repeated call in 7 days? CC] = "N"
&& Data[Date] > EARLIER ( Data[Date] )
),
Data[Date]
)
VAR _tnextNdatenotblank =
FILTER (
Data,
Data[Customer] = EARLIER ( Data[Customer] )
&& Data[Date] >= _startNdate
&& Data[Date] <= _nextNdate
&& Data[Date] <= EARLIER ( Data[Date] )
)
VAR _tnextNdateblank =
FILTER (
Data,
Data[Customer] = EARLIER ( Data[Customer] )
&& Data[Date] >= _startNdate
&& Data[Date] <= EARLIER ( Data[Date] )
)
RETURN
SWITCH (
TRUE (),
_nextNdate <> BLANK (), COUNTROWS ( _tnextNdatenotblank ),
COUNTROWS ( _tnextNdateblank )
)
Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!
Check out the October 2025 Power BI update to learn about new features.