Найти предыдущее среднее значение за 3 месяца в Spotfire - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь получить среднее значение за последние 3 месяца.до сих пор не смог найти ни одного образца, который бы соответствовал моим требованиям.Цени любую помощь, которая может быть предоставлена.

Есть несколько столбцов, которые мне нужно рассмотреть.Я должен добавить текущий месяц хороший% и out% в расчете, чтобы получить прогноз.

Этот код дает мне ошибку, и значения, отраженные в столбце, неверны.Сумма ([out]) / Sum ([in]) over (LastPeriods (3, [month])) *

Dt          TotalIN  TotalOut   Good     OUT%     Good%
2/1/2019    79606    51384      0        64.55%   0
3/1/2019    84194    61211      0        72.70%   0
4/1/2019    92458    67807      0        73.34%   0
5/1/2019    94531    66988      95       70.86%   0.10%
6/1/2019    29623    18181      2903     60.94%   9.73%

enter image description here

1 Ответ

0 голосов
/ 14 июня 2019

Спасибо за добавление некоторых данных, которые я мог бы скопировать. Ниже приведен ранний утренний взлом, я сделал столбец сводной таблицы.Я также скомпоновал оси строк, чтобы сделать эту работу.

Расчет столбца:

(Sum([Good%]) * ((
 Sum([TotalOut]) OVER (Previous([Axis.Rows],3)) + Sum([TotalOut]) OVER (Previous([Axis.Rows],2)) + Sum([TotalOut]) OVER (Previous([Axis.Rows],1)))
/ (
 Sum([TotalIn]) OVER (Previous([Axis.Rows],3)) + Sum([TotalIn]) OVER (Previous([Axis.Rows],2)) + Sum([TotalIn]) OVER (Previous([Axis.Rows],1)))))
 + Sum([Out%])

Оси строк:

<BinByDateTime([Dt],"Year.Month",1)>

Возможно, есть более чистая версия ниже, но я не очень хорош с THEN.Проблема с LastPeriods в том, что вам нужно NULL, если не хватает месяцев.

THEN If(Count() OVER (LastPeriods(3,[Axis.X]))=3,[Value],NULL)

...