Include
Zmienna Include/Must_Include określa plik, który zawiera tekst, jaki powinien zostać umieszczony w skrypcie i oceniony jako kod skryptu. Nie służy do dodawania danych. Można przechowywać części kodu skryptu w oddzielnym pliku tekstowym i używać ich wielokrotnie w wielu aplikacjach. Jest to zmienna definiowana przez użytkownika.
Składnia:
$(Include=filename)
$(Must_Include=filename)
Istnieją dwie wersje zmiennej:
- Include nie generuje błędu, jeśli nie można znaleźć pliku; nie pojawia się żadna informacja o niepowodzeniu.
- Must_Include generuje błąd, jeśli nie można znaleźć pliku.
Jeśli ścieżka nie zostanie określona, nazwa pliku będzie określana względem katalogu roboczego aplikacji Qlik Sense. Można również określić bezwzględną ścieżkę do pliku albo ścieżkę do połączenia do folderu lib://. Przed znakiem równości ani za nim nie należy umieszczać znaku spacji.
Przykłady:
$(Include=abc.txt);
$(Must_Include=lib://DataFiles/abc.txt);
Ograniczenia
Ograniczona kompatybilność między systemami w przypadku plików zakodowanych w UTF-8 w systemie Windows i Linux.
Używanie kodowania UTF-8 z BOM (Byte Order Mark) jest opcjonalne. BOM może kolidować podczas używania UTF-8 w oprogramowaniu, które nie oczekuje bajtów innych niż ASCII na początku pliku, ale mogłoby obsłużyć strumień tekstowy bez BOM.
-
Systemy Windows używają BOM w UTF-8 do identyfikacji, że plik jest zakodowany w UTF-8, pomimo tego, że kolejność bajtów jest jednoznaczna.
-
Systemy Unix i Linux używają UTF-8 do Unicode, ale nie używają BOM, ponieważ koliduje to ze składnią plików poleceń.
Ma to pewne konsekwencje dla Qlik Sense.
-
W systemie Windows każdy plik rozpoczynający się od BOM kodowania UTF-8 jest uważany za plik skryptu w formacie UTF-8. W przeciwnym razie zakłada się kodowanie ANSI.
-
W systemie Linux domyślną systemową 8-bitową stroną kodową jest UTF-8. Dlatego UTF-8 działa, chociaż nie zawiera BOM.
W rezultacie nie można zagwarantować przenośności. Nie zawsze jest możliwe utworzenie w systemie Windows pliku, który można zinterpretować w systemie Linux i odwrotnie. Nie ma wzajemnej kompatybilności między tymi dwoma systemami w zakresie plików zakodowanych w UTF-8 ze względu na różną obsługę BOM.
Więcej informacji można znaleźć w artykule BOM (informatyka)