Funkcia %LoadData


Popis

Funkcia načíta dáta z SQL príkazu typu SELECT, ktorý vracia stĺpce v poradí typov: čas, hodnota a vráti ich ako zmenový vektor. Aby dáta mohli byť interpretované ako časový rad, musia byť zoradené vzostupne podľa času.

V príkaze budú reťazce @@BT@@ a @@ET@@ nahradené za hodnoty parametrov _bt resp. _et v predvolenom lokálnom čase. Reťazec @@USER_VERSION@@ bude nahradený kódom užívateľskej verzie, ktorá bola zadaná pri čítaní vektora. Ak nebola zadaná užívateľská verzia, bude parameter nahradený prázdnym reťazcom.

V prípade NULL hodnôt vo výsledku SQL dopytu sú do EDA-L vrátené neplatné hodnoty.

V príkaze je možné použiť reťazce v tvare @@<number>_<type>@@, kde za <number> je možné dosadiť čísla 1 až 9, ktoré zodpovedajú voliteľným parametrom SQL dopytu (_param1_param9) a za <type> je možné dosadiť jeden z identifikátov typu parametra:

  • I pre celočíselný parameter
  • R pre reálne číslo
  • TL pre lokálny čas
  • TU pre UTC čas

Napr. @@1_I@@ dosadí prvý voliteľný parameter SQL dopytu (_param1) ako celé číslo a @@2_TU@@ dosadí druhý voliteľný parameter ako UTC čas. Vynechaný voliteľný parameter alebo neplatná hodnota bude dosadená ako NULL hodnota.

Deklarácia
VECTOR %LoadData(
	TEXT					_select
	[, [BOOL				_monoTime := 0]
	[, [INT					_utcHourOffset := 0]
	[, [TIME				_bt := 0]
	[, [TIME				_et := 0]
	[, [BOOL|INT|REAL|TIME	_param1]
	[, [BOOL|INT|REAL|TIME	...]
	[, [BOOL|INT|REAL|TIME	_param9]]]]]]]]
)
Parametre
_selectSQL dopyt vracajúci minimálne dva stĺpce v poradí typov: čas, hodnota.
_monoTimePríznak určujúci či vrátené časové značky SQL dopytu sú v monotónnom (1) alebo predvolenom lokálnom čase (0).
_utcHourOffsetPosun v hodinách oproti UTC času v prípade použitia monotónnych časových značiek.


_btČas, ktorý bude v dopyte dosadený za reťazec @@BT@@ v predvolenom lokálnom čase.
_etČas, ktorý bude v dopyte dosadený za reťazec @@ET@@ v predvolenom lokálnom čase.
_param1,
...,
_param9
Voliteľné parametre SQL dopytu.
Príklad
-- Načíta dáta z externej tabuľky a vráti ich ako vektor. Výstupné časové značky interpretuje v UTC čase.
VECTOR _v;
_v := %LoadData("SELECT date, value FROM ext.data_table WHERE date BETWEEN @@1_TU@@ AND @@2_TU@@ ORDER BY date", 1, 0, , , _BT, _ET);
RETURN _v;
Napíšte komentár