Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Ноябрь 21, 2017, 07:16:44 am

Автор Тема: Правила правильного и красивого оформления скрипта. (Qlikview & Qlik Sense)  (Прочитано 915 раз)

Оффлайн Eva

  • Новичок
  • *
  • Сообщений: 40
  • Страна: ru
  • Рейтинг: +8/-0
    • Просмотр профиля
Добрый день! Давно заметила за собой такой недостаток, что очень некрасиво пишу формулы и непонятно остальным оформляю скрипт загрузки. Сейчас стала стараться писать его правильно, но все равно не до конца понятно и красиво. Есть ли установленный правила оформления скрипта и больших выражений?Где их можно почитать?

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 981
  • Страна: ru
  • Рейтинг: +97/-0
    • Просмотр профиля
Привет.
Есть определенный набор общих рекомендаций по оформлению программного кода.
В поисковике можно найти много на эту тему.
И что значит - некрасиво? К коду подходит скорее определение - понятно / непонятно.
Если полгода спустя написания вы смотрите на свой код и легко понимаете что хотели сделать - значит все ОК  :)
Приведите пример "некрасивого" кода, обсудим сообща. Думаю всем будет интересно и полезно.

Оффлайн Eva

  • Новичок
  • *
  • Сообщений: 40
  • Страна: ru
  • Рейтинг: +8/-0
    • Просмотр профиля
Вот пример выражения формулы, корректно ли оформлены сеты?
If(GetFieldSelections(_Dimension)='За сегодня', SUM({<[Календарь ПериодNum]={$(=max([Календарь ПериодNum]))}>}((P_RATE)/100)*P_OUT_PORTF_VAL)/1000,
if(GetFieldSelections(_Dimension)='За неделю',SUM({<[Неделя]={$(=max([Неделя]))},[День]>}((P_RATE)/100)*P_OUT_PORTF_VAL)/1000,
    if(GetFieldSelections(_Dimension)='За месяц',SUM({<[$МесяцГодNum]={$(=Max([$МесяцГодNum]))},[День]>}((P_RATE)/100)*P_OUT_PORTF_VAL)/1000,
        SUM(((P_RATE)/100)*P_OUT_PORTF_VAL)/1000
        )
      )
    )

Неофициальный форум пользователей QlikView & Qlik Sense


Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 981
  • Страна: ru
  • Рейтинг: +97/-0
    • Просмотр профиля
Привет,
Под сетами понимаются выражения задающие условия отбора?
{<[Календарь ПериодNum]={$(=max([Календарь ПериодNum]))}>}В оформлении никакого криминала не вижу.
Но есть пара замечаний, личных, не базирующихся на каких-либо стандартах.
1. Именование полей, смешанные названия типа [Календарь ПериодNum]. Легче работь с моделью где все поля именуются по одному принципу и желательно на одном языке. Смешанные названия отнимают время на понимание и ввод с клавиатуры.
2. Расчеты в выражениях. Следует помнить, что при каждом изменении выборки происходит перерасчет всех выражений в приложении. Я бы рекомендовал избавиться от выражения:
((P_RATE)/100)*P_OUT_PORTF_VAL)/1000 переместив эту задачку в скрипт подготовки данных.