Я хотел бы создать новый столбец со значениями, взятыми из предыдущей строки. Строки помечены «ID» и упорядочены по «Глубине» в исходной таблице. Это пользовательское выражение, которое, я думаю, должно это делать, но я получаю неожиданные результаты, когда некоторые строки не получают значение из предыдущей строки.
Max([Value]) over Intersect([ID],Previous([Depth]))
Вот пример таблицы с моими ожидаемыми результатами и фактическим результатом, полученным с помощью выражения выше.
ID Depth Value Expected Actual
Object1 0 0.02
Object1 3033 68.87 0.02
Object1 3349 70.82 68.87
Object1 3538 70.65 70.82
Object1 3791 70.38 70.65 70.65
Object1 4044 69.31 70.38 70.38
Object1 4297 71.13 69.31 69.31
Object1 4549 70.9 71.13
Object1 4802 70.59 70.9
Object1 5055 71.56 70.59
Object1 5307 71.34 71.56 71.56
Object1 5560 71.32 71.34
Object1 6381 71.5 71.32
Object1 6444 71.62 71.5 71.5
Object1 6544 71.86 71.62 71.62
Object2 0 0.02
Object2 962 267.58 0.02 0.02
Object2 1024 276.67 267.58 267.58
Object2 1213 273.11 276.67 276.67
Object2 1529 275.56 273.11 273.11
Object2 1593 275.96 275.56 275.56
Object2 1656 275.15 275.96 275.96
Object2 2854 278.35 275.15 275.15
Object2 3107 276.45 278.35
Object2 3359 270.83 276.45
Object2 4370 272.89 270.83
Object2 4623 271.93 272.89
Object2 4877 269.93 271.93
Object2 5504 270.51 269.93
Object2 5538 270.38 270.51 270.51
Object2 5541 270.37 270.38 270.38
Object2 5688 269.8 270.37
Мне кажется, что проблема может быть связана с упорядочением столбца Глубина. В качестве обходного пути я могу успешно получить ожидаемый результат, если сначала вычислю столбец рейтинга (назовите его «RankColumn»)
Rank([Depth],[ID])
Затем я вычисляю утверждение over, используя вычисленный ранг
Max([Value]) over Intersect([ID],Previous([RankColumn]))
Первый вопрос: почему Spotfire не распознал порядок в исходном столбце Depth?
Второй вопрос: если выполнение вычисления промежуточного ранга является необходимым шагом, существует ли более элегантный способ записать выражение (например, сделать это в одном выражении, а не создавать промежуточный столбец)?