Использование кавычек в скрипте

Существует несколько различных способов использования кавычек в операторах скриптов.

Внутри операторов LOAD

В операторе LOAD следует использовать кавычки указанного ниже типа:

  Описание Символ Кодовая точка Пример

Имена полей

двойные кавычки

" " 34 "строка"
  квадратные скобки [ ] 91, 93 [строка]
  апострофы ` ` 96 `строка`

Строковые литералы

одиночные кавычки

' '

39 'строка'

В операторах SELECT

Для оператора SELECT, интерпретируемого драйвером ODBC, могут использоваться несколько иные кавычки. Обычно для названий полей и таблиц следует использовать прямые двойные кавычки (Alt + 0034), а для литералов — прямые одиночные кавычки (Alt + 0039) и не следует использовать апострофы. Однако в некоторых драйверах ODBC использование апострофов не только допускается, но и считается предпочтительным. В таком случае созданные операторы SELECT содержат апострофы в качестве символов кавычек.

Пример кавычек в Microsoft Access

Microsoft Access ODBC Driver 3.4 (входящий в Microsoft Access 7.0) во время анализа оператора SELECT принимает следующие кавычки:

Имена полей и имена таблиц:

[ ]

" " ` `

Строковые литералы:

' '

В других базах данных могут применяться другие обозначения.

Вне операторов LOAD

Снаружи оператора LOAD, там, где программа QlikView ожидает выражение, двойные кавычки обозначают ссылку на переменную, а не на поле. Если вы используете двойные кавычки, строка внутри кавычек будет интерпретироваться как переменная, значение которой будет использовано.

Ссылки на поле и ссылки на таблицы вне контекста

В некоторых функциях скрипта указываются ссылки на ранее созданные поля или на поля, которые являются результатом выполнения оператора LOAD, например Exists() и Peek(). Эти ссылки на поля называются внеконтекстными ссылками на поля, в отличие от ссылок на исходные поля, которые ссылаются на поля, находящиеся в контексте, то есть во входной таблице оператора LOAD.

Внеконтекстные ссылки на поля и ссылки на таблицы следует рассматривать как литералы, и поэтому их следует указывать в одиночных кавычках.

Различия между именами и литералами

Разница между именами и литералами становится очевидной при сравнении следующих примеров:

Example:  

'Sweden' as Country

Когда данное выражение является частью списка полей в операторе LOAD или SELECT, текстовая строка «Sweden» будет загружена в качестве значения поля в поле QlikView «Country».

Example:  

"land" as Country

Когда данное выражение является частью списка полей в операторе LOAD или SELECT, содержимое поля базы данных или столбца таблицы с именем «land» будет загружено в качестве значения поля в поле QlikView «Country». Это означает, что land будет рассматриваться как ссылка на поле.

Различия между числами и строковыми литералами

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

Example:  

'12/31/96'

Если данная строка используется как часть выражения, в первом шаге она будет интерпретироваться как текстовая строка «12/31/96», которая в свою очередь может интерпретироваться как дата, если выбран формат даты «MM/DD/YY». В этом случае она будет храниться как двойное значение с числовым и текстовым представлениями.

Example:  

12/31/96

Когда эта строка используется как часть выражения, она будет интерпретироваться как числовое выражение, то есть как 12, деленное на 31, деленное на 96.

Использование кавычек в строке

Если строка содержит символы, которые можно использовать в качестве кавычек, важно точно указать начало и конец строки, заключаемой в кавычки. Неправильное проставление кавычек может привести к сбою скрипта или некорректной загрузке данных.

Существует два варианта использования кавычек для строки, содержащей кавычки.

Использование кавычек определенного вида для строки

Выберите кавычки того вида, который не используется внутри строки, и заключите в эти кавычки строку полностью. QlikView будет использовать эти кавычки для определения начала и конца строки.

Заключить строку целиком можно в любые из следующих кавычек:

  • Двойные кавычки " "
  • Квадратные скобки [ ]
  • апострофы
  • Одиночные кавычки ' '

Example:  

[Таблица '1 "2"]

Строка заключается в квадратные скобки. Строка загружается в следующем виде: Таблица '1 "2"

'строка `Имя1` "Имя2'

Строка заключается в одиночные кавычки. Строка загружается в следующем виде: строка `Имя1` "Имя2

Использование escape-символов

Escape-символ — это дополнительное вхождение кавычек, в которые заключена строка. Такие символы следует добавлять при каждом вхождении кавычек в строке. Если в строке используются кавычки всех видов, необходимо расположить escape-символы рядом с теми кавычками, в которые заключена строка. Также escape-символы позволяют повторно использовать кавычки, которые уже содержатся в строке.

В качестве escape-символов можно использовать только следующие кавычки:

  • Двойные кавычки " "
  • Квадратные скобки [ ]
  • Одиночные кавычки ' '

Example:  

"Миша сказал ""Какой чудесный день""."

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

Строка загружается в следующем виде: Миша сказал: "Какой чудесный день". By using the escape character "", the QlikView script editor understands which double quotation marks are part of the string and which quotation mark indicates the end of the string. The single quotation mark ' used in the abbreviation It's does not need an escape because it is not the mark used to quote the string.

Example:  

'Michael said: "It''s a beautiful day".'

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

Строка загружается в следующем виде: Миша сказал: "Какой чудесный день". Двойные кавычки ", в которые заключены слова Миши, не должны сопровождаться escape-символами, так как они не используются для заключения строки в кавычки.

Example:  

[Миша сказал [Какой "чудесный день]].]

Square brackets [ ] behave differently from the other two quotation marks. If you want to use brackets as an escape character, you must add an extra bracket beside the right square bracket ] only, and not beside the left square bracket [.

Строка загружается в следующем виде: Миша сказал [Какой "чудесный день]. Только правая квадратная скобка ] сопровождается escape-символом. Одиночная кавычка ' и двойные кавычки ", содержащиеся в строке, не должны сопровождаться escape-символами, так как они не используются для заключения строки в кавычки.