DAX First Occurance в SUMMARIZE, эквивалент FIRST_VALUE

Я пытаюсь создать dax-запрос, чтобы объединить несколько записей в одной таблице и извлечь некоторые значения из этих объединенных записей. Результат должен отображать не только минимальное и максимальное время начала и окончания, но также соответствующие первое и последнее местоположения.

ОТ

TravelID | TripID | StartTime | StopTime | StartLocation | StopLocation

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

1001 ______ | 100 _____ | 8:12_______| 8:20________|59db ___________| 989FE___________

К

TravelID | StartTime | StopTime | StartLocation | StopLocation

1001 ______ | 8:00________| 8:20_______|50AB____________| _________ 989FE

*

*

*

Мои старания таковы: ОЦЕНИТЬ (

СУММИРОВАТЬ(

Источник,

Источник [BusinessDay]

, Источник [TravelID]

, "нет поездок в путешествиях", количество (источник [TripID])

, "min of starttime", мин (Источник [StartTime])

, "максимальное время остановки", максимальное (Source [StopTime])

, "первый старт",???

, "последняя остановка",???

))

*

* Я экспериментировал с FIRSTNONBLANK и RANKX безуспешно.

Эквивалент SLQ будет выглядеть примерно так: FIRST_VALUE(StartLocation) OVER (PARTITION BY BusinessDay, travelId ORDER BY StartTime ASC) "SiteIn"

1 ответ

Решение

Чтобы создать DAX-запрос в шаблоне вашего исходного сообщения, используйте следующее. Обратите внимание, что запрос (некоторое выражение DAX, которое приводит к таблице) не может использоваться в качестве меры, и подавляющее большинство использования Power Pivot находится в сводных таблицах, которые требуют скалярных мер.

Сначала некоторые меры, чтобы сделать жизнь проще:

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]
)
Другие вопросы по тегам