Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Rozszerzenie przez znak dolara przy użyciu zmiennej

Gdy w celu zastąpienia tekstu w skrypcie lub w wyrażeniu używana jest zmienna, używana jest następująca składnia:

$(variablename)      

$(variablename) powoduje rozwinięcie do wartości w zmiennej. Jeśli variablename nie istnieje, wówczas wynikiem rozwinięcia będzie pusty ciąg znaków.

W celu rozwinięcia zmiennej numerycznej używana jest następująca składnia:

$(#variablename)      

Takie rozwinięcie zawsze pozwala na uzyskanie prawidłowej reprezentacji separatora dziesiętnego wartości liczbowej zmiennej — jeśli to możliwe, zwracana jest postać w zapisie wykładniczym (w przypadku bardzo dużych/małych liczb). Jeśli variablename nie istnieje lub nie zawiera wartości liczbowej, zostanie rozszerzone do 0.

Przykład:  

SET DecimalSep=',';

LET X = 7/2;

Rozszerzenie przez znak dolara $(X) zostanie rozwinięte do 3,5, z kolei $(#X) zostanie rozwinięte do 3.5.

Przykład:  

Set Mypath=C:\MyDocs\Files\;

...

LOAD * from $(MyPath)abc.csv;

Dane zostaną załadowane z C:\MyDocs\Files\abc.csv.

Przykład:  

Set CurrentYear=1992;

...

SQL SELECT * FROM table1 WHERE Year=$(CurrentYear);

Wybrane zostaną wiersze zawierające Year=1992.

Przykład:  

Set vConcatenate = ; For each vFile in FileList('.\*.txt') Data: $(vConcatenate) LOAD * FROM [$(vFile)]; Set vConcatenate = Concatenate ; Next vFile

W tym przykładzie wszystkie pliki .txt w katalogu są ładowane przy użyciu prefiksu Concatenate. Może to być wymagane, jeśli pola nieco się od siebie różnią, przez co konkatenacja automatyczna nie działa. Zmienna vConcatenate jest początkowo ustawiana jako pusty ciąg znaków, ponieważ w pierwszym ładowaniu nie można użyć prefiksu Concatenate. Jeśli katalog zawiera pliki o nazwach file1.txt, file2.txt i file3.txt, instrukcja LOAD podczas trzech iteracji zostanie rozwinięta do:

LOAD * FROM[.\file1.txt];

Concatenate LOAD * FROM[.\file2.txt];

Concatenate LOAD * FROM[.\file3.txt];

Rozwijanie zmiennych w stanach alternatywnych

Zmienna ma tylko jedną wartość i jest używana we wszystkich stanach alternatywnych. Kiedy rozszerzasz zmienną, wartość jest również taka sama, niezależnie od tego, gdzie została utworzona, i od stanu obiektu.

Jeśli zmienna jest zmienną obliczaną, to znaczy definicja zaczyna się od znaku równości, obliczenia są wykonywane w stanie domyślnym, chyba że określisz stan alternatywny w definicji zmiennej.

Przykład:  

Jeśli stan ma nazwę MójStan, a zmienna vMojaZm:

vMyvar: =only({MyState} MyField)

Treść definicji zmiennej, z wyraźnym odniesieniem do nazwy alternatywnego stanu, określa, w jakim stanie będzie oceniana zawartość zmiennej.

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!

Dołącz do Programu Modernizacji Analityki

Remove banner from view

Przeprowadź modernizację bez szkody dla Twoich cennych aplikacji QlikView za pomocą programu Analytics Modernization Program. Kliknij tutaj aby uzyskać więcej informacji lub skontaktuj się z nami: ampquestions@qlik.com