Биты и байты.

Биты и байты.

вторник, 26 ноября 2013 г.

Не знаешь о чем поговорить с девушкой? SSAS вот твое решение!!

Не знаешь о чем поговорить с девушкой?


Срочно открывай книгу
Expert Cube Development with Microsoft SQL Server 2008 Analysis Services

Заценить, легко найти на трекерах и в сети.
Правильней же конечно будет купить)

Многомерные модели, MDX запросы различной степени тяжести, разделение прав доступа и еще много чего интересного..

среда, 13 ноября 2013 г.

Qlikview основы - Способы загрузки данных

Способы загрузки данных в 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);

<    2.    Inline Load
Второй способ загрузки - встроенная загрузка, когда пользователь может определить свои собственные данные и загрузить в QlikView.
Встроенные данные могут быть определены через встроенный мастер данных.
EMPLOYEES
LOAD * INLINE [
    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;

Qlikview основы - QVD файлы

Возник естественный вопрос что это такое и как их создать?

 

QVD документ это файл созданный QlikView с понятной ему структурой, оптимизированный под загрузку данных

Как же создать этот чудо файл?

 

Нужна всего лишь одна команда в скрипте

Store RATES into RATES.qvd;

 

Qlikview основы - Объединение таблиц

Сегодня потребовалось объединить несколько таблиц непосредственно в QlikView, но вот засада есть две команды JOIN и  CONCATENATE
Пора раз и навсегда разобраться что и когда нужно использовать …..
JOIN – позволяет добавить новые столбцы в таблицу
CONCATENATE  - совместить данные из двух таблиц (аналог UNION SQL)
Есть еще интересный оператор KEEP (позволяет выровнять таблицы по количеству записей в зависимости от LEFT RIGHT INNER)


Как работает CONCATENATE 
Если напрямую загрузить две таблицы например сотрудников двух компаний то если открыть модель можно увидеть что они связаны
через вспомогательную таблицу $Syn 1

 

И наша схема выглядит так..
что по мере разрастания количества таблиц  будет напоминать большую кашу, дабы все это привести в человеческий вид воспользуемся CONCATENATE 
1..Неявное связывание (QlikView должен был автоматически сам связать эти таблицы по одинаковым полям, но так как количество полей в таблицах не совпадает связать не получилось )
Как выход добавить еще одно поле Department в таблицу Stamford Employees и таблицы свяжутся сами автоматически
2..Можно отменить неявное связывание если указать ключевое слово перед таблицей NOCONCATENATE 


3.. Явное связывание (определенно лучше чем неявное, есть возможность связать таблицы с разным набором полей)
Указываем секретное слово  CONCATENATE в скобочках пишем таблицу в которую сливаем данные


Qlikview основы - Изменить таблицу в отчете без обновления

Недавно понадобилось удалить лишние данные из  отчета для презентации,
А так как источника не было под рукой, понятно что обновления делать нельзя было..
Выход очень простой, нас всегда спасет частичная загрузка!!

1.Копируем этот скрипт в наш документ, обязательно должны быть слова ADD NOCONCATENATE для частичной загрузки
2.Меняем  названия таблиц  на ваши таблицы
SALES – исходная таблица
SALES_TEMP – временная таблица
3.Запускаем частичную загрузку и видим что, лишние удалились благополучно!

/* Example loadscript fragment to adjust a table */
/* Put this code at the top of the loadscript and */
/* then run a Partial Reload. */
/* Remove this fragment after using it. */

//Rename the table we want to change
RENAME TABLE SALES TO SALES_TEMP;

//Rebuild table with a WHERE clause
SALES:
ADD NOCONCATENATE LOAD * RESIDENT SALES_TEMP
WHERE Data >'01.11.2013';

// Drop the original table
DROP TABLE SALES_TEMP;

//so that we don't fall into the regular loadscript
EXIT SCRIPT;



И немного сладенького на десерт….

Qlikview основы - Экспорт данных

Допустим понабилось нам например данные из Qlikview выгрузить в другую систему, как это сделать?
Как два пальца….
1..Берем наш документ, создаем его копию в отдельной папке, чтобы не затронуть основной документ.
2..Копируем этот скрипт в начало документа, весь смысл скрипта, привязываем  экспорт к частичной загрузке

/* Export all QlikView tables to tab-delimited files */
if IsPartialReload() then
for ix= 0 to 100
let tn=trim(tablename($(ix)));
if len('$(tn)')<1 then
exit script;
end if
Store "$(tn)" into "EXPORTED_QV_$(tn).TXT" (txt, delimiter is "\t");
next ix
end if
exit script;

Должно получиться что-то вроде этого


Сохраняем, и в меню Файл – выбираем частичная загрузка и файлы готовы в нашей папке EXPORTED_QV_@41.TXT


+ немного улыбок

Плюшки QlikView (Эпизод 2) - Комментарии и совместные сессии

1.. Это обмен комментариями и снимками отчетов (они же Snapshots), можно легко сравнить две различные версии отчета практически на лету и поболтать с коллегой в заметках!
До социальной сети конечно не дотягивает, но адски удобно))
2.. Поделись сессией с другом (не той конечно же что в институте),  копируем ссылку и отправляем ее другу в течении 15 мин  вы сможете вместе управлять одной и той же версией отчета и видеть действия друг друга,
И самое главное за это не надо платить…..))
Главное включить опцию совместных сессий в management console.

Юзабилити QlikView просто зашкаливает) Надеюсь в 12 версии будут еще более приятные плюшки….


Как включить Session Collaboration


И как всегда в конце веселье…

About