Powerbi DAX:每天的平均不同值

Powerbi DAX:每天的平均不同值,powerbi,dax,Powerbi,Dax,我在几天内得到了一些分类。同一类别可能在同一日期发生多次。如何获得每天不同类别的平均数量 数据集: Date,Category 11.10.2018,A 11.10.2018,B 11.10.2018,C 12.10.2018,A 12.10.2018,A 12.10.2018,A 13.10.2018,B 13.10.2018,B 数据视图中的表格: Date,Category 11.10.2018,A 11.10.2018,B 11.10.2018,C 12.10.2018,A 12.10

我在几天内得到了一些分类。同一类别可能在同一日期发生多次。如何获得每天不同类别的平均数量

数据集:

Date,Category
11.10.2018,A
11.10.2018,B
11.10.2018,C
12.10.2018,A
12.10.2018,A
12.10.2018,A
13.10.2018,B
13.10.2018,B
数据视图中的表格:

Date,Category
11.10.2018,A
11.10.2018,B
11.10.2018,C
12.10.2018,A
12.10.2018,A
12.10.2018,A
13.10.2018,B
13.10.2018,B

表格可视化:

Date,Category
11.10.2018,A
11.10.2018,B
11.10.2018,C
12.10.2018,A
12.10.2018,A
12.10.2018,A
13.10.2018,B
13.10.2018,B

我的尝试:

Date,Category
11.10.2018,A
11.10.2018,B
11.10.2018,C
12.10.2018,A
12.10.2018,A
12.10.2018,A
13.10.2018,B
13.10.2018,B
我可以使用
dist=CALCULATE(DISTINCTCOUNT(表1[类别]);distinct(表1[日期])


因此,我想要得到的是上表中
dist
的平均值,即
1.67
。但你是怎么做到的?我尝试了
平均值
AVAREGEX
计算
的不同组合,但运气不佳。我越是尝试,我就越相信DAX是无用的(尽管我内心深处知道它不可能)。谢谢你的建议

使用
summary
计算每个日期的不同计数,然后可以使用
AVERAGEX
迭代每个日期值:

dist:= 
IF ( 
    HASONEFILTER ( Table1[Date] ), 
    DISTINCTCOUNT ( Table1[Category] ), 
    AVERAGEX ( 
        SUMMARIZE ( 
            Table1, 
            Table1[Date],
            "Daily Average", DISTINCTCOUNT ( Table1[Category] )
        ),
        [Daily Average]
    )
)
编辑:您并不真正需要
IF
功能-它的性能似乎与使用以下功能一样好:

dist:= 
AVERAGEX ( 
    SUMMARIZE ( 
        Table1, 
        Table1[Date],
        "Daily Average", DISTINCTCOUNT ( Table1[Category] )
    ),
    [Daily Average]
)

非常感谢。工作起来很有魅力!这就是为什么DAX让我有点害怕。一个看似简单的任务很快就会变成一堆嵌套函数。你知道如果我想让它变得不那么复杂,应该去哪里找吗?我认为
计算
(我的一些同事经常使用)将是一种方法,但我不认为在这种情况下是这样。它实际上并没有那么复杂!与嵌套DAX一样,从内到外读取。您需要在评估上下文中为每个日期执行不同的计数,因此我们要做的第一件事是使用
summary
创建日期/不同计数的摘要表(第一个“表可视化”图像的虚拟版本。然后我们使用
AVERAGEX
(迭代器)函数计算此虚拟表中所有日期的不同计数的平均值。最后,
IF
语句仅用于在对一个日期求值时执行简单的
DISTINCTCOUNT
。感谢您提供的详细信息!如果您不介意,最后一个问题是。您是用Power BI还是其他语言编写表达式r编辑器?可能是DAXEditor?DAX Studio?我正在寻找一种方法,使您可以更轻松地显示计算中的每个步骤。如果可能的话……我通常只使用记事本++,并且具有良好的缩进/换行规则!!