Сравнение версий
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
В данном виджете форматирование может применяться в поле Форматирование текста раздела Фильтр при включенном форматировании:
При форматировании используются следующие зарезервированные команды:
@value - значение фильтра на уровне.
Выборка |
---|
|
Примеры форматирования
Выборка | ||
---|---|---|
| ||
Добавление текста к заголовкам в зависимости от уровняВы можете добавить пояснительный текст к отображаемым в виджете значениям. В нашем примере мы добавим к числовому обозначению года слово год (нулевой уровень вложенности) и к остальным значениям - слово неделя. Для этого мы введем следующую команду в поле Форматирование текста раздела Фильтр:
Где |
Image Added |
Форматирование подписей значения фильтра в виде периода дней относительно недели в году
Примечание |
---|
Для корректной работы, в иерархии измерений должны быть выбраны следующие атрибуты измерения:
|
Данный тип форматирования производится с помощью следующего скрипта:
Блок кода |
---|
@level === 0 ? @value : ((year, weekNo) => { var d1 = new Date(); d1.setFullYear(year); var numOfdaysPastSinceLastMonday = (d1.getDay() - 1); d1.setDate(d1.getDate() - numOfdaysPastSinceLastMonday); var weekNoToday = (dt => { var target = new Date(dt.valueOf()); var dayNr = (dt.getDay() + 6) % 7; target.setDate(target.getDate() - dayNr + 3); var firstThursday = target.valueOf(); target.setMonth(0, 1); if (target.getDay() != 4) { target.setMonth(0, 1 + ((4 - target.getDay()) + 7) % 7) } return 1 + Math.ceil((firstThursday - target) / 604800000) })(d1); var weeksInTheFuture = (weekNo - weekNoToday); d1.setDate(d1.getDate() + (7 * weeksInTheFuture)); var rangeIsFrom = weekNo + " неделя " + d1.getDate() + "." + (d1.getMonth() + 1); d1.setDate(d1.getDate() + 6); var rangeIsTo = d1.getDate() + "." + (d1.getMonth() + 1); return rangeIsFrom + " - " + rangeIsTo })(@path[0], @path[1]) |
Инвертирование формата даты с YYYY-MM-DD на DD-MM-YYYY
Для инвертирования формата даты необходимо выполнить следующую команду:
@value.split('-').reverse().join('-')
Результат применения команды показан ниже: