是DAX的全新产品,并且是自学成才的。我运行一个准确性日志,该日志跟踪传入的应用程序(Application [Application_ID])和处理该应用程序时发生的错误(Error_Log [Application_ID])。
我想找到包含多个错误的应用程序数量。例如,如果10个应用程序有错误,其中6个应用程序有1个错误,其余应用程序有2个或更多错误,我想返回值4。
我正在尝试避免计算列(如“ Multiple_Errors” TRUE / FALSE列),因为它的刷新时间已经比我想要的长,但如果不可避免,则可以容纳它。
我们能够使用SUMPRODUCT构建Excel公式,以获取非常高级的信息摘要,但是我想要的粒度比该公式所能提供的更多。
在线搜索仅导致找到有关如何计算重复次数,标记重复项,删除重复项或执行其他任务的文章,其中我需要计算在表中重复的不同数量的值。
我尝试了几种不同的DAX措施,但所有措施均产生了错误的结果。例如...
=
CALCULATE (
DISTINCTCOUNT ( Error_Log[Appplication_ID] ),
FILTER ( Error_Log, COUNTA ( Error_Log[Appplication_ID] ) > 1 )
)
深入研究此结果表明,所有具有错误的应用程序都将被撤消,而不仅仅是具有一个以上错误的应用程序。
在使用了几个选项之后,我无法找到解决方案。任何帮助/指针/方向将不胜感激!
答案 0 :(得分:0)
我认为您正在寻找这样的东西:
Measure =
COUNTROWS (
FILTER (
SUMMARIZE (
Error_Log,
Error_Log[Application_ID],
"count", COUNTROWS ( Error_Log )
),
[count] > 1
)
)
SUMMARIZE函数返回一个虚拟的汇总表,其中每个Application_ID的计数都在称为“ count”的列中。然后,外部COUNTROWS函数返回虚拟表中的行数,其中[count]大于1。
答案 1 :(得分:0)
您的度量值很好,可以按定义运行。请参阅附件的屏幕。
App ID 100有4个Type 1错误,101有2个Type 2和1 Type 3错误,但是由于计数不同,它们每个都有1个。
102具有单个类型3,但是我们使用错误类型对日志进行分组,类型3显示两个计数(102和101分别为1)
请注意,由于分组列的存在,COUNTA(Error_Log [Appplication_ID])> 1条件也已满足102。
由于COUNTA(Error_Log [Appplication_ID])> 1,我们在右侧的数据透视表中看不到类型6。
因此,尽管该度量有效,但我们可能会错过解释结果的过程,或者我们可能错过为要求使用正确的DAX。