Powerbi 如何基于EnabledDate、EnabledDate和#x2B创建汇总表;1、使能数据和x2B;2、使能数据和x2B;7电源bi上的日期过滤器选项?

Powerbi 如何基于EnabledDate、EnabledDate和#x2B创建汇总表;1、使能数据和x2B;2、使能数据和x2B;7电源bi上的日期过滤器选项?,powerbi,powerbi-desktop,powerbi-embedded,powerbi-datasource,powerbi-custom-visuals,Powerbi,Powerbi Desktop,Powerbi Embedded,Powerbi Datasource,Powerbi Custom Visuals,我试图根据日期范围内的4个条件创建一个汇总表 输入表 以文本形式设置的日期 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

我试图根据日期范围内的4个条件创建一个汇总表

输入表

以文本形式设置的日期

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
预期输出表

1) 选择不同的id、名称(按id、名称分组)

2) 选择与日期范围相关的总计数

所有四个表格计算的日期范围

        (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)

如果马克斯日期不适用于日期范围,那么考虑最后一个日期是日期列中的结束日期。 3) 根据计数选择最大屏幕视图屏幕名称,如果两个屏幕具有相同的值,则选择第一个屏幕

4) 选择总计数中的最大屏幕视图计数

我很抱歉,我用以下方法计算了启用计数,它产生了错误的结果

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]) ) ))
EnabledDateCount=
添加列(
添加列(
滤器(
总结(
使能,
EnabledDate[Id]、EnabledDate[Name]、EnabledDate[Count]
),
启用日期[名称]“”
),
“TotalCount”,计算(总和(启用日期[计数]),
过滤器(启用日期,启用日期[日期]>=MIN(启用日期[启用日期])
&&EnabledDate[日期]=分钟(EnabledDate[启用日期])

&&EnabledDate[Date]最后,我按照以下方式创建了一个解决方案

启用数据摘要

enabledDateSummary = 
ADDCOLUMNS(
    ADDCOLUMNS(
    FILTER(
            SUMMARIZE(
                enabledDate,
                enabledDate[Id],
                enabledDate[Name], enabledDate[Enabled Date]
            ),enabledDate[Enabled Date] <> DATE(1970,01,01)
        ),
        "TotalCount", CALCULATE(SUMX(FILTER(enabledDate, 
        enabledDate[Date] = enabledDate[Enabled Date]),[Count])), 
        "ScreenCount", CALCULATE( MAX( enabledDate[Count] ) )
    ),
    "Screen",
    VAR CurrentCount = [ScreenCount]
    RETURN CALCULATE( MIN(enabledDate[Screen]), enabledDate[Count] = CurrentCount )
)
enabledDateSummary=
添加列(
添加列(
滤器(
总结(
使能,
enabledDate[Id],
enabledDate[名称],enabledDate[启用日期]
),启用日期[启用日期]日期(1970,01,01)
),
“TotalCount”,计算(SUMX)过滤器(启用数据,
启用日期[日期]=启用日期[启用日期],[计数],
“屏幕计数”,计算(最大值(启用数据[计数])
),
“屏幕”,
VAR CurrentCount=[ScreenCount]
返回计算(最小值(启用日期[屏幕]),启用日期[计数]=当前计数)
)
启用数据摘要输出:

启用数据摘要+1

enabledDateSummary + 1 = 
ADDCOLUMNS(
    ADDCOLUMNS(
    FILTER(
            SUMMARIZE(
                enabledDate,
                enabledDate[Id],
                enabledDate[Name], enabledDate[Enabled Date]
            ), enabledDate[Enabled Date] <> DATE(1970,01,01)
        ),
        "TotalCount", CALCULATE(SUMX(FILTER(enabledDate, 
        enabledDate[Date] >= enabledDate[Enabled Date] && 
        enabledDate[Date] <= enabledDate[Enabled Date] + 1),[Count])),
        "ScreenCount", CALCULATE( MAX( enabledDate[Count] ) )
    ),
    "Screen",
    VAR CurrentCount = [ScreenCount]
    RETURN CALCULATE( MIN(enabledDate[Screen]), enabledDate[Count] = CurrentCount )
)
enabledDataSummary+1=
添加列(
添加列(
滤器(
总结(
使能,
enabledDate[Id],
enabledDate[名称],enabledDate[启用日期]
),启用日期[启用日期]日期(1970,01,01)
),
“TotalCount”,计算(SUMX)过滤器(启用数据,
enabledDate[日期]>=enabledDate[启用日期]&&
启用日期[日期]=启用日期[启用日期]&&
启用日期[日期]=启用日期[启用日期]&&
启用日期[日期]
enabledDateSummary + 2 = 
ADDCOLUMNS(
    ADDCOLUMNS(
    FILTER(
            SUMMARIZE(
                enabledDate,
                enabledDate[Id],
                enabledDate[Name], enabledDate[Enabled Date]
            ), enabledDate[Enabled Date] <> DATE(1970,01,01)
        ),
        "TotalCount", CALCULATE(SUMX(FILTER(enabledDate, 
        enabledDate[Date] >= enabledDate[Enabled Date] && 
        enabledDate[Date] <= enabledDate[Enabled Date] + 2),[Count])),
        "ScreenCount", CALCULATE( MAX( enabledDate[Count] ) )
    ),
    "Screen",
    VAR CurrentCount = [ScreenCount]
    RETURN CALCULATE( MIN(enabledDate[Screen]), enabledDate[Count] = CurrentCount )
)
enabledDateSummary + 7 = 
ADDCOLUMNS(
    ADDCOLUMNS(
    FILTER(
            SUMMARIZE(
                enabledDate,
                enabledDate[Id],
                enabledDate[Name], enabledDate[Enabled Date]
            ), enabledDate[Enabled Date] <> DATE(1970,01,01)
        ),
        "TotalCount", CALCULATE(SUMX(FILTER(enabledDate, 
        enabledDate[Date] >= enabledDate[Enabled Date] && 
        enabledDate[Date] <= enabledDate[Enabled Date] + 7),[Count])),
        "ScreenCount", CALCULATE( MAX( enabledDate[Count] ) )
    ),
    "Screen",
    VAR CurrentCount = [ScreenCount]
    RETURN CALCULATE( MIN(enabledDate[Screen]), enabledDate[Count] = CurrentCount )
)