什么是Office 365中Excel Power Pivot中计算列中正确的DAX组语法 [英] What is Proper DAX GROUPBY Syntax In Calculated Column in Power Pivot in Excel in Office 365

查看:27
本文介绍了什么是Office 365中Excel Power Pivot中计算列中正确的DAX组语法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面在EXCEL(office 365版本)中PowerPivot中提供的表访问的计算列公式中输入了以下语法:

=GROUPBY(  
   Visits,  
   [Patient Name],  
   "First_Visit_Date", 
   MINX(CURRENTGROUP(), Visits[Visit_Date])
 )

产生错误:

The expression refers to multiple columns. Multiple columns cannot be 
converted to a scalar value.

使用嵌入在Excel中的PowerPivot将计算列"FIRST_ACCESS_DATE"添加到下面描述的简单源表ACCESSIONS表以获得也在下面列出的目标表时,正确的DAX GROUPBY语法是什么:

源表(访问量):

Patient_Name, Visit_Date, Duration  
Sue,           8/10/2017,       60  
Sue,           8/12/2017,       20  
Sue,           8/20/2017,       15
Bill,          9/ 1/2018,       90  
Bill,         10/ 1/2018,       90  
Sally,         5/22/2016,       30  
Sally,         5/30/2016,       30

目标表:

Patient_Name, Visit_Date, Duration, Calculated Column 1 
Sue,          8/10/2017,  60,       8/10/2017    
Sue,          8/12/2017,  20,       8/10/2017  
Sue,          8/20/2017,  15,       8/10/2017
Bill,         9/ 1/2018,  90,       9/ 1/2018
Bill,        10/ 1/2018,  90,       9/ 1/2018
Sally,        5/22/2016,  30,       5/22/2016 
Sally,        5/30/2016,  30,       5/22/2016

推荐答案

您的语法看起来不错,但是您可能没有意识到,GROUPBY输出的是表,而不是标量值。

如果您将DAX作为新表而不是计算列输入,则会返回以下内容:

对于计算列,您只需要如下DAX公式:

CalcCol =
CALCULATE(
    MIN(Visits[Visit_Date]),
    ALLEXCEPT(Visits, Visits[Patient_Name])
)

或如下所示:

CalcCol =
MINX(
    FILTER(
        Visits,
        Visits[Patient_Name] = EARLIER(Visits[Patient_Name])
    ),
    Visits[Visit_Date]
)

这篇关于什么是Office 365中Excel Power Pivot中计算列中正确的DAX组语法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆