Przeskocz do zawartości głównej

Odniesienia do pól, miar i zmiennych

NA TEJ STRONIE

Odniesienia do pól, miar i zmiennych

Wyrażenie może zawierać odwołania do pól, zmiennych i miar.

W większości przypadków wyrażenia są agregacjami, czyli obliczeniami, które potencjalnie mogą obejmować wiele rekordów. Oznacza to, że wszystkie odniesienia do pól w wyrażeniach muszą być złożone w funkcję agregacji. Jeśli nie jest używana żadna funkcja agregująca, stosowana jest funkcja Only().

Gdy nazwa miary jest używana wewnątrz wyrażenia, jest interpretowana jako alias miary. Pozwala to na ponowne wykorzystanie już zdefiniowanego elementu. W ten sposób można ponownie używać miar głównych i miar wewnątrz tego samego wykresu.

Miarę można zdefiniować rekurencyjnie. Innymi słowy, miara może zawierać odniesienie do samej siebie. Należy to jednak robić tylko na wykresach z kilkoma wierszami. Jeśli wykres ma wiele wierszy, wydajność spada. Jeśli istnieją setki wierszy, definicja rekurencyjna całkowicie przestaje działać.

Zmiennej można używać na dwa różne sposoby: w bezpośrednim odwołaniu lub w rozszerzeniu przez znak dolara. Jeśli użyjesz bezpośredniego odniesienia, wartość zmiennej zostanie użyta w obliczeniach. Jeśli użyjesz rozszerzenia przez znak dolara, całe rozszerzenie przez znak dolara zostanie zastąpione wartością zmiennej, zanim wyrażenie zostanie przeanalizowane. Dlatego te dwie różne metody mogą zwracać różne wyniki.

Interpretacja nazw

Nazwa wewnątrz wyrażenia może być odwołaniem do pola, zmiennej, funkcji lub miary. W zależności od sytuacji nazwa jest różnie interpretowana.

Example:  

Ciąg XXX reprezentuje pole, zmienną, funkcję lub miarę. Ciąg XXX będzie interpretowany jako jeden z tych obiektów w zależności od sposobu utworzenia wyrażenia.

Przykłady interpretacji nazw
Wyrażenie XXX interpretowane jako
XXX miara, zmienna lub pole
$(XXX) zmienna
Count(XXX) pole lub zmienna
XXX() funkcja

Nie należy używać tej samej nazwy dla pola i zmiennej (lub miary). Jeśli jednak to zrobisz i pojawi się niejednoznaczność, zostanie zastosowana następująca kolejność pierwszeństwa:

  • Jeśli nazwa zostanie znaleziona wewnątrz funkcji agregacji, pole będzie mieć pierwszeństwo przed zmienną.

  • Jeżeli nazwa zostanie znaleziona poza funkcją agregacji, miara będzie mieć pierwszeństwo przed zmienną, która z kolei ma pierwszeństwo przed polem.

Reguły dotyczące wyrażeń

W przypadku wyrażeń wykresu zastosowanie mają następujące reguły:

  • Jeśli odwołanie do pola nie będzie opakowane w funkcję agregacji, aparat użyje funkcji Only().

  • Wszystkie wyrażenia zwracają liczbę i/lub łańcuch — w zależności od tego, co jest właściwe.

  • Funkcje logiczne i operatory logiczne zwracają 0 dla wartości False i -1 dla wartości True. Konwersje liczb na ciągi znaków i ciągów znaków na liczby są niejawne.

  • Operatory i funkcje logiczne interpretują 0 jako wartość False, a wszystkie inne liczby jako wartość True.

  • Wyrażenia, których prawidłowa ocena jest niemożliwa, np. z powodu nieprawidłowych parametrów lub funkcji, zwracają wartość NULL.