Как добавить условные поля

#webdatarocks

Вопрос:

Я пытаюсь создать отчет, в котором я должен суммировать поля по определенному типу, а затем вычитать из другого.

экс. Чистый Операционный Доход = Общий Доход — Общие Расходы

У меня были бы данные с полем типа («ДОХОД», «РАСХОДЫ»).

Я создал что-то подобное, и, похоже, это не работает.

"formula": "if(('type') == 'INCOME', ('amount'), 0) - if(('type') == 'EXPENSE', ('amount'), 0)"

Ответ №1:

WebDataRocks не поддерживает сравнение строк в вычисляемых значениях. Вместо этого вы можете заменить «ДОХОДЫ» и «РАСХОДЫ» некоторыми числовыми значениями (например, 1 и 0). В этом случае формула будет выглядеть следующим образом:

 'if( sum("type") == 1, sum("amount") , 0)  - if( sum("type") == 0, sum("amount"), 0)'
 

Кроме того, вам нужно будет установить individual значение свойства true для поддержки как плоских, так и сводных форм.
Вот кодовый код для демонстрации: https://codepen.io/webdatarocks/pen/MWpvgZg.

Однако вам может быть проще просто указать отрицательные значения для расходов вместо создания расчетного значения на основе какого-либо дополнительного поля.