2016-01-06 3 views
0

Я пытаюсь подсчитать количество лет между датой MIN и MAX датой на фильтрованный столбце даты затем разделить результат на COUNT колонный Y на колонке X.Spotfire DateDiff Использования пользовательских выражений

Spotfire документация говорит, что Пользовательские выражения являются ключом к обработке фильтрованных данных, но я не уверен, как передавать временные переменные функции Spotfire, такие как DateDiff.

Example: 
DateDiff(Min([Date]),Max([Date]))/[Column.Y] OVER [Column.X] 

+------+----------+------------+ 
| Name | Date | Made Sale? | 
+------+----------+------------+ 
| joe | 1/1/2010 | 10   | 
| joe | 2/1/2011 | 11   | 
| joe | 3/1/2012 |   | 
| joe | 4/1/2013 | 40   | 
| joe | 5/1/2014 |   | 
| pam | 1/1/2010 | 100  | 
| pam | 2/1/2011 | 19   | 
| pam | 3/1/2012 | 23   | 
| pam | 4/1/2013 | 30   | 
| pam | 5/1/2014 |   | 
| mark | 1/1/2010 |   | 
| mark | 2/1/2011 | 1   | 
| mark | 3/1/2012 |   | 
| mark | 4/1/2013 |   | 
| mark | 5/1/2014 | 49   | 
+------+----------+------------+ 
EG. Filter from 2011-2014, what were Joe, Pam, and Mark's frequency of sales per year? 
+0

Не могли бы вы предоставить некоторые данные образца. Как 6-10 строк, показывающих, что вам нужно достичь? –

+0

Обновлено, делает это более понятным? – ScrubDubbins

ответ

0

Вам необходимо обернуть это в логическом выражении, таком как IF() или CASE.

If(DatePart('year',[Date]) >= Year('2011') and DatePart('year',[Date]) <= Year('2014'),DateDiff(Min([Date]),Max([Date]))/[Column.Y] OVER [Column.X]) 

Вы можете использовать контроль свойств и передать в любых введенных или вычисленных лет вместо «2011» и «2014». Это будет выглядеть примерно так:

Year('${yourPropertyControlName}') 

 Смежные вопросы

  • Нет связанных вопросов^_^