Совокупные продукты в Кусто

У меня есть данные со временем (столбец t) и значениями (столбец v). Я хочу создать новый столбец, назовите его p, который является произведением всех v от t = 0 до значения t текущей строки. Row_cumsum () может сделать это для добавления, но мне нужен продукт.

Я пробовал использовать extension ???? = v ∗ ???????????????? (????, 1,1), но kusto не распознает столбец p в prev (), потому что он создается.

Если ввод:

данные (t: int, v: int)

            1, 1
            2, 1
            3, 2
            4, 3
            5, 3
            6, 2

Я хочу, чтобы результат был:

данные (t: int, v: int, p: int)

            1, 1, 1
            2, 1, 1
            3, 2, 2
            4, 3, 6
            5, 3, 18
            6, 2, 36

person Cameron Blumenthal    schedule 11.09.2019    source источник


Ответы (1)


Вы можете использовать log10 () и row_cumsum () (совокупная сумма):

datatable(t:int, v:int)
[
            1, 1,
            2, 1,
            3, 2,
            4, 3,
            5, 3,
            6, 2,
]
| order by t asc
| extend l = log10(v)
| extend cumsum = row_cumsum(l)
| project t, v, p=exp10(cumsum)
person Alexander Sloutsky    schedule 11.09.2019