Способы загрузки данных в QlikView
1 1.Loading data from the file.
Этот метод обычный метод загрузки данных в приложении QlikView.
Загрузка данных из файлов, таких как Excel, MSDB, CSV, TXT файлы и т.д., может быть сделано путем создания ODBC и подключения к базе данных напрямую.
ACCOUNTS:
LOAD ACCOUNT_CODE,
ACCOUNT_KEY,
ACCOUNT_CODE_NAME,
ACCOUNT_OWNR,
ACCOUNT_ORDR
FROM
[C:\Data\Finance_report_source data.xlsx]
(ooxml, embedded labels, table is Account);
LOAD ACCOUNT_CODE,
ACCOUNT_KEY,
ACCOUNT_CODE_NAME,
ACCOUNT_OWNR,
ACCOUNT_ORDR
FROM
[C:\Data\Finance_report_source data.xlsx]
(ooxml, embedded labels, table is Account);
< 2. Inline Load
Второй способ загрузки - встроенная загрузка, когда пользователь может определить свои собственные данные и загрузить в QlikView.
Встроенные данные могут быть определены через встроенный мастер данных.
EMPLOYEES
LOAD * INLINE [
EMPLOYEE_KEY,EMPLOYEE_NAME
1, Jack
2, Bob
3, Bill
];
EMPLOYEE_KEY,EMPLOYEE_NAME
1, Jack
2, Bob
3, Bill
];
< 3. Resident Load
Загрузка данных из уже загруженной таблице QlikView можно с помощью загрузки с указанием внутренней таблицы.
Преобразования и расчеты могут быть выполнены в резидентном сценарии загрузки.
RATES:
LOAD Дата,
Единиц,
Курс
FROM
[http://cbr.ru/currency_base/dynamics.aspx?VAL_NM_RQ=R01235&date_req1=01.01.2013&r1=1&date_req2=12.11.2013&C_month=01&C_year=2013&rt=1&x=36&y=8&mode=1]
(html, utf8, embedded labels, table is @41);
LOAD Дата,
Единиц,
Курс,
Единиц*Курс as 'Объем'
RESIDENT RATES;
LOAD Дата,
Единиц,
Курс
FROM
[http://cbr.ru/currency_base/dynamics.aspx?VAL_NM_RQ=R01235&date_req1=01.01.2013&r1=1&date_req2=12.11.2013&C_month=01&C_year=2013&rt=1&x=36&y=8&mode=1]
(html, utf8, embedded labels, table is @41);
LOAD Дата,
Единиц,
Курс,
Единиц*Курс as 'Объем'
RESIDENT RATES;
< 4. Incremental Load
Инкрементальная загрузка используется для загрузки новых или измененных данных.
Очень полезная опция при больших объемах БД.
Для загрузки старых данных используются QVD файлы а новые считываются из БД и объединяются в единый QVD файл.
SQL SELECT PrimaryKey, X, Y FROM DB_TABLE
WHERE ModificationTime >= #$(LastExecTime)#
AND ModificationTime < #$(BeginningThisExecTime)#;
Concatenate LOAD PrimaryKey, X, Y FROM File.QVD;
STORE QV_Table INTO File.QVD;
WHERE ModificationTime >= #$(LastExecTime)#
AND ModificationTime < #$(BeginningThisExecTime)#;
Concatenate LOAD PrimaryKey, X, Y FROM File.QVD;
STORE QV_Table INTO File.QVD;
5. Binary Load
Загрузка данных из одного файла QlikView в другой называется двоичной загрузкой. Модель данных одного QVW файл копируется из оперативной памяти на диск в другой файл qvw.
Binary c:\order.qvw;
< 6. Add Load
Частичная загрузка используется для присоединения или объединения данных из одной таблицы в другую таблицу.
Для загрузки новых данных нужно пользоваться опцией частичная загрузка.
Также при частичной загрузке не проверяются дубликаты поэтому необходимо указывать условие WHERE NOT EXISTS.
LOAD ENO, ENAME from Employees.csv;
ADD LOAD ENO, ENAME from Employees1.csv Where Not Exists(ENO);
ADD LOAD ENO, ENAME from Employees1.csv Where Not Exists(ENO);
< 7. Buffer Load
Буферная загрузка позволяет создавать QVD файлы автоматически для ускорения загрузки. Файл автоматически создается в пути согласно настройкам пользователя .
По умолчанию эти файлы удаляются когда больше не нужны, есть опция сохранить неиспользуемые буферы QVD в параметрах пользователя и настройках документа.
Пока непонятно как это можно использовать….
buffer[ (option [ , option] ) ] ( loadstatement | selectstatement )
where:
option ::= incremental | expiry
expiry::= stale [after]amount[ (days | hours)]
buffer
LOAD MONTH_NAME,
CAL_MONTH,
CAL_YEAR,
DATA,
MONTH_LAST_DATE,
CLOSED_STATUS
FROM
[C:\Users\RDibrov\Desktop\QlickView\Finance_report_source data.xlsx]
(ooxml, embedded labels, table is Calendar);
LOAD MONTH_NAME,
CAL_MONTH,
CAL_YEAR,
DATA,
MONTH_LAST_DATE,
CLOSED_STATUS
FROM
[C:\Users\RDibrov\Desktop\QlickView\Finance_report_source data.xlsx]
(ooxml, embedded labels, table is Calendar);
Примеры
buffer select * from MyTable;
buffer (stale after 7 days) select * from MyTable;
buffer (incremental) load * from MyLog.log;
buffer (stale after 7 days) select * from MyTable;
buffer (incremental) load * from MyLog.log;
И в довесок….
Найдя у внука белый порошок, бабушка решила, что это мука и сделала из него блины.
Масленица не прекращалась три недели.