DAX第一次出现在总结,FIRST_VALUE相当于

问题描述 投票:0回答:1

我试图创建一个DAX查询,以便从这些组合记录组合几个记录withing同一个表,并提取一些值。结果应该显示不仅分钟开始的最大和结束时间,也相应的第一个和最后的位置。

TravelID | TRIPID |开始时间|停止时间| StartLocation | StopLocation

1001 ______ | 99 ______ | 08:00 _______ | 08:10 _______ | 50AB ___________ | 99DE___________

1001 ______ | 100 _____ | 08:12 _______ | 08:20 ________ | 59DB ___________ | 989FE___________

TravelID |开始时间|停止时间| StartLocation | StopLocation

1001 ______ | 08:00 ________ | 08:20 _______ | 50AB ____________ | 989FE _________

我的努力到目前为止是:

EVALUATE(
SUMMARIZE(
Source,
Source[BusinessDay]
,Source[TravelID]
,"no of trips in travels", count(Source[TripID])
,"min of starttime",  min(Source[StartTime])
,"max of stoptime", max(Source[StopTime])
,"first startlocation", ???
,"last stoplocation", ???
))

我曾与FIRSTNONBLANK和RANKX尝试没有成功。

该SLQ相当于会是这样的:FIRST_VALUE(StartLocation)OVER(PARTITION BY BusinessDay,travelId ORDER BY开始时间ASC) “SiteIn”。

powerpivot dax
1个回答
2
投票

若要在原岗位的模式的DAX查询,请使用以下。需要注意的是查询(一些DAX表达,结果在一个表中)不能被用作衡量,和广大电力枢纽使用的是在需要标量的措施透视表。

首先是一些措施,使生活更轻松:

TripCount:=
COUNT( Source[TripID] )

MinStart:=
MIN( Source[StartTime] )

MaxStop:=
MAX( Source[StopTime] )

FirstStartLocation:=
CALCULATE
    VALUES( Source[StartLocation] )
    ,SAMPLE(
        1
        ,Source
        ,Source[BusinessDay]
        ,ASC
    )
)

LastStopLocation:=
CALCULATE
    VALUES( Source[StopLocation] )
    ,SAMPLE(
        1
        ,Source
        ,Source[BusinessDay]
        ,DESC
    )
)

现在您的查询:

EVALUATE
ADDCOLUMNS(
    SUMMARIZE(
        Source
        ,Source[BusinessDay]
        ,Source[TravelID]
    )
    ,"No of trips in travels", [TripCount]
    ,"Min of starttime", [MinStart]
    ,"Max of stoptime", [MaxStop]
    ,"First startlocation", [FirstStartLocation]
    ,"Last stoplocation", [LastStopLocation]
)
© www.soinside.com 2019 - 2024. All rights reserved.