I'm trying to create a summary tables base on 4 conditions on the date range
Input table
Date Set in text form
Date Name Id Count Screen Enabled Date
03-01-2020 Karthikeyan 1 4 Login 03-01-2020
03-01-2020 Karthikeyan 1 3 Logout 03-01-2020
04-01-2020 Karthikeyan 1 5 Chat 03-01-2020
05-01-2020 Karthikeyan 1 6 Logout 03-01-2020
05-01-2020 Sumit 2 9 Login 05-01-2020
05-01-2020 Sumit 2 5 Logout 05-01-2020
06-01-2020 Karthikeyan 1 4 Login 03-01-2020
07-01-2020 Karthikeyan 1 5 Chat 03-01-2020
08-01-2020 Karthikeyan 1 6 Logout 03-01-2020
06-01-2020 Sumit 2 7 Login 05-01-2020
07-01-2020 Sumit 2 8 Chat 05-01-2020
08-01-2020 Sumit 2 9 Logout 05-01-2020
09-01-2020 Karthikeyan 1 4 Login 03-01-2020
10-01-2020 Karthikeyan 1 5 Chat 03-01-2020
11-01-2020 Karthikeyan 1 6 Logout 03-01-2020
09-01-2020 Sumit 2 4 Login 05-01-2020
10-01-2020 Sumit 2 5 Chat 05-01-2020
11-01-2020 Sumit 2 6 Logout 05-01-2020
Expected Output Tables
1) select Distinct id, name (Group by id, name)
2) select Total count with respect to date range
Date Range for all four table calculations
(Enabled data)
03-01-2020
05-01-2020
(Enabled data) to EnabledDate + 1
StartDate EndDate
03-01-2020 04-01-2020
05-01-2020 06-01-2020
(Enabled data) to EnabledDate + 2
StartDate EndDate
03-01-2020 05-01-2020
05-01-2020 07-01-2020
(Enabled data) to EnabledDate + 7
StartDate EndDate
03-01-2020 10-01-2020
05-01-2020 11-01-2020(actual date is 12-01-2020
but I don't have a value of end date so I consider the last date)
If Max date is not available for date range then consider the last date is an end date in the Date column.
3) select Max Screen views screen name base on the count, if two-screen have the same value then select the first screen
4) select Max Screen views count out of Total count
I'm have calculated Enabled Count in the following way it is producing the wrong result
EnabledDateCount =
ADDCOLUMNS(
ADDCOLUMNS(
FILTER(
SUMMARIZE(
EnabledDate,
EnabledDate[Id],EnabledDate[Name],EnabledDate[Count]
),
EnabledDate[Name] <> ""
),
"TotalCount", CALCULATE( SUM( EnabledDate[Count] ),
FILTER(EnabledDate,EnabledDate[Date] >= MIN(EnabledDate[Enabled Date])
&& EnabledDate[Date] <= MAX(EnabledDate[Enabled Date]) )
),
"Screen",
VAR CurrentCount = [Count]
RETURN CALCULATE( MIN(EnabledDate[Screen]), EnabledDate[Count] = CurrentCount )
),"ScreenCount", CALCULATE( MAX(EnabledDate[Count]),
FILTER(EnabledDate,EnabledDate[Date] >= MIN(EnabledDate[Enabled Date])
&& EnabledDate[Date] <= MAX(EnabledDate[Enabled Date]) ) ))
Output is
But we need a distinct user id and name and the expected result is not correct