Международная конференция QlikWorld 2020. Присоединяйтесь к нам, чтобы узнать, как получить максимальную пользу от ваших данных. Действуйте быстро. Зарегистрируйтесь сейчас и сэкономьте.

Star

Строку, которая представляет набор всех значений поля в базе данных, можно определить с помощью оператора star. Она влияет на последующие операторы LOAD и SELECT.

Syntax:  

Star is[ string ]

Arguments:  

Аргумент Описание
string

Произвольный текст. Обратите внимание, что при наличии в строке пробелов она должна быть заключена в кавычки.

Если значение не указано, то по умолчанию используется star is;; то есть символ звездочки отсутствует, если он не будет указан явным образом. Это действительно до тех пор, пока не будет создан новый оператор star.

Оператор Star is не рекомендуется использовать в той части скрипта, где содержатся данные (в Section Application), если используется доступ к секции. При этом символ звезды для защищенных полей в части Section Access скрипта полностью поддерживается. В этом случае использовать явный оператор Star is не требуется, поскольку он всегда является неявным при доступе к секции.

Ограничения

  • Использовать символ звезды с ключевыми полями (т. е. полями, которые связывают таблицы) нельзя.
  • Символ звезды нельзя использовать ни с какими полями, которые затрагивает оператор Unqualify, поскольку это может отрицательно влиять на поля, связывающие таблицы.
  • Символ звезды нельзя использовать с таблицами, которые не являются логическими, например таблицами загрузки информации и таблицами загрузки сопоставлений.
  • Когда символ звезды используется в каком-либо сокращающем поле (поле, которое связывается с данными) при доступе к секции, этот символ представляет значения, указанные в данном поле раздела доступа к секции. Он не представляет другие значения, которые могут существовать в данных, но не указаны при доступе к секции.
  • Символ звезды нельзя использовать с полями, которые затрагивает любая форма сокращения количества данных вне области Доступ к секции.

Пример

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

Star is *;

 

Section Access;

LOAD * INLINE [

ACCESS, USERID, OMIT

ADMIN, ADMIN,

USER, USER1, SALES

USER, USER2, WAREHOUSE

USER, USER3, EMPLOYEES

USER, USER4, SALES

USER, USER4, WAREHOUSE

USER, USER5, *

];

 

Section Application;

LOAD * INLINE [

SALES, WAREHOUSE, EMPLOYEES, ORDERS

1, 2, 3, 4

];

 

Применяются следующие условия:

  • Star соответствует символу *.
  • Пользователь USER1 не видит поле SALES.
  • Пользователь USER2 не видит поле WAREHOUSE .
  • Пользователь USER3 не видит поле EMPLOYEES.
  • Пользователь USER4 дважды добавлен в программу; для двух полей SALES и WAREHOUSE для данного пользователя должно быть применено поле OMIT.
  • Для пользователя USER5 добавлен символ «*», который означает, что все поля в списке OMIT недоступны. Символ звездочки * соответствует всем перечисленным значениям, а не всем значениям поля. Это означает, что пользователь USER5 не видит поля SALES, WAREHOUSE и EMPLOYEES , однако видит поле ORDERS.