Я пытаюсь создать вычисляемый столбец «StartTime» из четырех предоставленных столбцов в соответствии со следующими правилами:
**If** [fldEquipmentID]{current row} = [fldEquipmentID]{previous row}
**and** [ShiftStartTime]{current row} = [ShiftStartTime]{previous row}
**and** [ActivityStartTime]{current row} **is** *null*
**then** [ActivityEndTime]{previous row}
**else** [ActivityStartTime]{current row}.
Я включил целевой вывод из рабочей таблицы Excel на прикрепленное изображение.
привет,
let
Source = #table({"fldEquipmentID", "ShiftStartTime", "ActivityStartTime", "ActivityEndTime", "IndexCol"},
{{2, 43886.25, 43886.25, 43886.75,0},
{2, 43895.25, 43895.54, 43895.59,1},
{2, 43896.25, 43896.54, 43896.60,2},
{2, 43899.25, 43899.53, 43899.62,3},
{2, 43899.25, null, 43899.64,4},
{2, 43899.25, null, 43899.65,5},
{3, 43886.25, 43886.25, 43886.75,6},
{3, 43895.25, 43895.54, 43895.59,7},
{3, 43896.25, 43896.54, 43896.60,8},
{3, 43899.25, 43899.53, 43899.62,9},
{3, 43899.25, null, 43899.64,10},
{3, 43899.25, null, 43899.65,11},
{4, 43886.25, 43886.25, 43886.75,12},
{4, 43895.25, 43895.54, 43895.59,13},
{4, 43896.25, 43896.54, 43896.60,14},
{4, 43899.25, 43899.53, 43899.62,15},
{4, 43899.25, null, 43899.64,16},
{4, 43899.25, null, 43899.65,17}}
),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ShiftStartTime", type datetime}, {"ActivityStartTime", type datetime}, {"ActivityEndTime", type datetime}}),
StartTime = List.Accumulate(List.Skip(#"Changed Type"[IndexCol]),
{#"Changed Type"[ActivityStartTime]{0}},
(result,current) => result & if [fldEquipmentID]{current}=[fldEquipmetID]{current-1} and [ShiftStartTime]{current}= [ShiftStartTime]{current-1} and [ActivityStartTime]{current}=null
then [ActivityEndTime]{current-1}
else [ActivityStartTime]{current})
в StartTime
Вывод в Excel с вычисленным столбцом