Yükleme komut dosyasında veya bir grafik ifadesinde dolar işareti genişletmeli bir değişkeni şunlar için kullanın:
Metne referans verme
Sayısal değere referans verme
Metin değişkeni
Kodda veya ifadede metin değiştirmesi için değişken kullanırken aşağıdaki söz diziminden yararlanılır:
$(variablename)
$(variablename) değişkendeki değere genişletilir. variablename mevcut değilse genişletme sonucu boş dize olur.
Örnekler: Metin değişkeni yükleme kod dosyaları
Komut dosyası
Aşağıdaki verileri satır içi yükleme olarak veri yükleme düzenleyicisine yükleyin:
Set x = 'red'; // Assign the value "red" to variable x
Set y = 'blue'; // Assign the value "blue" to variable y
Set z = '$(x) $(y)'; // Expands x and y, returns "red blue" in variable z
// Expand x and y, return "red green blue" in variable MyString
Let MyString='$(x)'&' green '&'$(y)';
// Create table MyTable, load variable values for x, y, z into fields X, Y, Z
// Concatenate with variable MyString into field NewString
MyTable:
Load '$(x)' as X, '$(y)' as Y, '$(z)' as Z, '$(MyString)' as NewString autogenerate 1;
Bu, bir değişkenin içeriğini statik dizelerle birleştiren dinamik etiketler ve genel metin dizeleri oluşturmak için yararlı bir ayarlamadır.
Çıktı
Qlik Sense içinde aşağıdaki tabloyu oluşturun:
Tablo - Komut dosyasından gelen çıktı
X
Y
Z
NewString
kırmızı
mavi
kırmızı mavi
kırmızı yeşil mavi
Komut dosyası
Aşağıdaki verileri satır içi yükleme olarak veri yükleme düzenleyicisine yükleyin:
Set vFunction = 'upper'; // Assign the string “upper” to variable vFunction
Set vField = 'String'; // Assign the string "String" to variable vField
Let vEvaluate = '$(vFunction)'&'('&'$(vField)'&')';
// The variable vEvaluate returns the value "upper(string)"
MyTable: // Create table called MyTable
Load *, $(vEvaluate) as Upper; // vEvaluate expanded as a dynamic expression
Load *, '$(vEvaluate)' as Expression; // vEvaluate expanded as string
Load * inline [
ID, String
1, abc
2, def
3, ghi
4, jkl ];
Açıklama
Set ve Let deyimleri, yükleme kodundaki değişkenlere değerler atamak için kullanılır. İkisi arasındaki fark, Setdeyiminin değişkene bir dize ataması, buna karşın Letdeyiminin dizenin içeriğini değerlendirdikten sonra ortaya çıkan değeri değişkene atamasıdır. Bu örnekteki yükleme satır içi tablosu, vEvaluate değişkeninin gerek metin dizesi gerekse karşılık gelen ifade olarak farklı değerlendirmelerini görselleştirmek için kullanılan iki öncelikli yükleme deyimi ile desteklenmektedir.
Çıktı
Qlik Sense içinde aşağıdaki tabloyu oluşturun:
Tablo - Komut dosyasından gelen çıktı
ID
String
Expression
Upper
1
abc
upper(Dize)
abc
2
def
upper(Dize)
DEF
3
ghi
upper(Dize)
GHI
4
jkl
upper(Dize)
JKL
Örnek: Metin değişkeni grafik ifadesi
Komut dosyası
Aşağıdaki verileri satır içi yükleme olarak veri yükleme düzenleyicisine yükleyin:
Düzenleme modundaki bir sayfada, Varlıklar panelinden Değişkenler iletişim kutusunu açın.
Değişkenler iletişim kutusunu aç
Aşağıdaki değişkenleri oluşturun:
Oluşturulacak değişken
Ad
Tanım
vSales
Sum(Sales)
vSales2014
Sum({<Year={2014}>}Sales)
vSales2015
Sum({<Year={2015}>} Sales)
vSalesAllYears
$(vSales2014) +$(vSales2015)
vSalesDifference
$(vSales2015)/$(vSales2014) - 1
Değişkenler
Genişletmeleri görmek için KPI grafikleri oluşturun.
Dolar işareti genişletmelerini kullanan KPI'lar.
Sayısal değişken genişletmesi
Sayısal değişken genişletmeleri için şu söz dizimi kullanılır:
(#variablename)
Genişletme her zaman, değişkenin (çok büyük veya küçük sayılar için) üstel olarak da gösterilebilecek sayısal değerinin geçerli bir ondalık gösterimini verir. variablename mevcut değilse veya sayısal bir değer içermiyorsa NULL yerine 0 değerine genişletilir.
Örnekler: Sayısal değişken yükleme kod dosyaları
Komut dosyası
Aşağıdaki verileri satır içi yükleme olarak veri yükleme düzenleyicisine yükleyin:
Set DecimalSep = ','; // Set decimal comma as separator for this example.
Let X = 7/2; // Assign the expression 7/2 to variable X.
MyTable: // Create an inline table labeled “MyTable”
Load 1 as ID, * inline [
DecimalComma DecimalPoint
$(X) $(#X) ]
(delimiter is '\t');
Açıklama
#vVariable genişletmesi her zaman, değişkenin sayısal değerinin geçerli bir ondalık gösterimini verir. Bu, ondalık ayırıcı olarak nokta yerine virgül kullanıldığında yararlıdır ve virgülle ayrılmış listeler ile çakışma riski yoktur.
Bir yükleme satır içi tablosundaki bu değişkenleri genişletmenin ana nedeni, $(X) değerinin ayrıca tırnak içine alınmasının gerekmemesidir.
Çıktı
Qlik Sense içinde aşağıdaki tabloyu oluşturun:
Tablo - Komut dosyasından gelen çıktı
DecimalComma
DecimalPoint
3,5
3.5
Komut dosyası
Aşağıdaki verileri satır içi yükleme olarak veri yükleme düzenleyicisine yükleyin:
// The three Set statements below are required to mimic and initialize
// Format specifiers that are relevant to this particular example
Set ThousandSep=' '; // Set example thousand separator
Set DecimalSep=','; // Set example decimal separator
Set TimestampFormat='YYYY-MM-DD hh:mm:ss'; // Set example date format
Let vRaw = today()-1/1440; // Timestamp minus one minute
Let vFormat = timestamp($(#vRaw)); // Formatted as timestamp
// Create MyTable as an inline table to expand variables as field values
MyTable:
Load * inline [
DecimalComma DecimalPoint FormattedNumber
$(vRaw) $(#vRaw) $(vFormat) ] (delimiter is '\t');
Açıklama
#vVariable genişletmesi her zaman, değişkenin sayısal değerinin geçerli bir ondalık gösterimini verir. Bu, ondalık ayırıcısı olarak nokta yerine virgül kullanıldığında yararlıdır ve virgülle ayrılmış listeler ile çakışma riski yoktur. Ayrıca, değişkenler doğru ondalık ayırıcı kullanılmadan genişletildiğinde ondalık kısmın kesilmesinden sayısal kesinliğin de etkileneceğinin akılda tutulması önemlidir.
Bir yükleme satır içi tablosundaki bu değişkenleri genişletmenin ana nedeni, $(X) değerinin ayrıca tırnak içine alınmasının gerekmemesidir.
Çıktı
Qlik Sense içinde aşağıdaki tabloyu oluşturun:
Tablo - Komut dosyasından gelen çıktı
DecimalComma
DecimalPoint
FormattedNumber
44 470,00
44469.999305556
2021-09-18 23:59:00
Komut dosyası
Aşağıdaki verileri satır içi yükleme olarak veri yükleme düzenleyicisine yükleyin:
// The three Set statements below are required to mimic and initialize
// format specifiers that are relevant to this particular example
Set ThousandSep=' '; // Set example thousand separator
Set DecimalSep=','; // Set example decimal separator
Set TimestampFormat='YYYY-MM-DD hh:mm:ss'; // Set example date format
// Assign a numerical value and a valid format specifier to vStart
Let vStart = timestamp#('2021-03-23 12:34:56','$(TimestampFormat)');
// Calculate timestamp (vStart + 3 hours) with valid decimal separator: "."
Let vStop = timestamp($(#vStart)+1/8,'YYYY-MM-DD hh:mm:ss');
// Create MyTable as an inline table to expand variables as field values
MyTable:
Load * inline [
StartTime StopTime
$(vStart) $(vStop) ] (delimiter is '\t');
// This is a tab delimited inline table
// Tab delimited tables are useful for avoiding conflicting list separators
Açıklama
#vVariable genişletmesi her zaman, değişkenin sayısal değerinin geçerli bir ondalık gösterimini verir. Bu, ondalık ayırıcısı olarak nokta yerine virgül kullanıldığında yararlıdır ve virgülle ayrılmış listeler ile çakışma riski yoktur. Ayrıca, değişkenler doğru ondalık ayırıcı kullanılmadan genişletildiğinde ondalık kısmın kesilmesinden sayısal kesinliğin de etkileneceğinin akılda tutulması önemlidir.
Bir yükleme satır içi tablosundaki bu değişkenleri genişletmenin ana nedeni, $(X) değerinin ayrıca tırnak içine alınmasının gerekmemesidir.
Çıktı
Qlik Sense içinde aşağıdaki tabloyu oluşturun:
Tablo - Komut dosyasından gelen çıktı
StartTime
StopTime
2021-03-23 12:34:56
2021-03-23 15:34:56
Alternatif durumlara referans veren değişkenleri genişletme
Değişkenin yalnızca bir değeri vardır ve bu tüm alternatif durumlarda kullanılır. Bir değişkeni genişlettiğinizde, nerede yapıldığından ve nesnenin durumundan bağımsız olarak değer de aynı olur.
Değişken, hesaplanmış bir değişkense; başka bir deyişle tanım bir eşittir işaretiyle başlıyorsa değişken tanımında bir alternatif durum belirtmediğiniz sürece hesaplama işlemi varsayılan durumda yapılır.
Örneğin, MyState adlı bir durumunuz ve vMyVar adlı bir değişkeniniz varsa:
vMyvar: =only({MyState}MyField)
Alternatif durum adına belirtik referansı olan değişken tanımı içeriği, değişken içeriğinin hangi durumda değerlendirileceğini belirler.
Değişkenler ve dış küme ifadeleri arasındaki etkileşim
Dış küme ifadesi de içeren bir dolar işareti genişletmede bir değişkene referans verirseniz belirli bir değerlendirme sırası uygulanır.Ayrıntılı bilgi için bkz. Değişken arama.