Круглый стол: три обязательные для чтения статьи о самообслуживании Qlik Sense

Предлагая подход к продвинутой аналитике, который дает возможность проводить анализ бизнес-пользователям, а не специалистам, занимающимся данными, BI, вероятно, будет распространяться во всех бизнес-слоях. Фактически, Gartner прогнозирует, что к 2020 году аналитика самообслуживания составит 80% всей отчетности предприятий.

Недавно мы опубликовали серию статей, посвященных возможностям самообслуживания Qlik Sense, чтобы дать вам более глубокое понимание этой чрезвычайно важной темы. Чтобы сэкономить ваше время, мы собрали основные тезисы ниже – глубокое погружение в будущее аналитики данных.

Эффект «IKEA» в самообслуживании «Qlik Sense»

Эффект ИКЕА – это когнитивная предвзятость, в основе которой стоит следующая тенденция: люди считают вещи, которые они создают сами, более ценными, чем идентичные вещи, созданные кем-то другим.

Дело в том, что благодаря самообслуживанию Qlik Sense и тесному вовлечению конечного пользователя в процесс разработки, новая психологическая динамика вводится в классический процесс разработки IT, который необходимо учитывать. В нем также подчеркивается важность игнорирования некоторых передовых методов в области развития IT, с тем чтобы получить возможность использовать новые возможности и новый подход к аналитике данных, который поставляется с BI для самообслуживания.

Прочтите полный текст статьи, чтобы узнать больше об эффекте ИКЕА.

 

Типы пользователей в среде самообслуживания

Поскольку интерес к самообслуживанию в BI растет в широком спектре отраслей, начинают появляться различные группы пользователей, выделяя различные уровни и широту того, как проводится самообслуживание и в какой степени.

В то время как внедрение самообслуживания начинается с IT-отдела, который настраивает инфраструктуру и обычно разрабатывает первые приложения для нескольких потребителей, в типичной корпоративной среде можно выделить четыре различные группы клиентов:

  • Опытные пользователи и Гуру данных;
  • Бизнес-пользователи или визуализаторы данных;
  • Потребители или считыватели данных;
  • IT или контролеры данных.

Прочтите полное описание этих четырех основных пользовательских сегментов.

 

Рекомендации по развертыванию самообслуживания с помощью Qlik Sense

Независимо от того, будет ли Qlik Sense успешным в организации, это не только вопрос его возможностей и набора его функциональных возможностей. Оценка его пригодности для заданной цели выходит за рамки простого перебора списка функций, определяющих, что возможно в Qlik Sense, а что нет.

В рамках успешного развертывания Qlik Sense важно, чтобы IT-специалисты узнали, что самообслуживание в BI имеет свою собственную динамику и правила принятия – различные оценки и последующие группы пользователей необходимо оценивать и фиксировать.

Для правильного внедрения IT инструмента необходимо подготовить среду и определить ключевых пользователей в организации и привлечь их к использованию этой технологии. Важно, чтобы их интенсивно поддерживали, особенно в начале, и чтобы им разрешалось управлять тем, как следует использовать технологию, а не иметь собственные принципы.

Управление должно всегда быть, но опытные пользователи никогда не должны чувствовать, что они ограничены им. Потому что, как только они почувствуют успех, остальная часть пути и адаптация других пользователей пойдут просто.

Узнайте больше о наиболее важных факторах, которые следует учитывать при развертывании самообслуживания с помощью Qlik Sense.

 

С нуля до расширения D3 за несколько простых шагов с улучшенным шаблоном

Перечень шагов для выполнения

Сначала загрузите код D3, откройте его в блокноте (notepad++) и попробуйте перевести его в расширение Qlik. Это может разозлить вас, так как это не сработает.

Поэтому я решил сделать свое расширение по частям, чтобы постепенно переварить все и узнать, что делает каждый бит и как он взаимодействует с Qlik.

Таким образом, вот перечень шагов, которым нужно следовать (в зависимости от ваших существующих знаний):

  1. Пройдите курс по коду Javascript: JavaScript | Codecademy
  2. Получите знания по css из w3schools. Учебник по JavaScript.
  3. Поработайте с превосходными примерами от barryharmsen по учебникам Расширение QlikView, документация и примеры – исправление Qlik! Исправление Qlik!
  4. Научитесь любить шаблон расширения от bmz на шаблонах расширения объектов
  5. Внесите мои настройки в шаблон расширения (см. Прилагаемый файл)
  6. Сойдите с ума от D3

Когда вы проработаете шаги 1-3 и переварите шаг 4, тогда наступит момент, где это руководство пойдет легко.

 

Предварительное чтение шаблона расширения Script.js

Прежде чем мы что-нибудь попробуем, давайте рассмотрим этот шаблон расширения. Если вы посмотрите на код bat, то вас могут напугать % £ $, но на самом деле Брайан хорошо это объясняет, а я расширил это объяснение ниже небольшими изменениями, там, где я думаю, что необходимо небольшое объяснение.

ОК, поэтому, предположим, что у вас открыт файл Script.js, давайте посмотрим.

 

Требуемое имя, путь и файлы

Первые две строки просто установили некоторые простые переменные имени и пути расширения

varextensionName = «_Adams Template File»;
//remember to also update this in definition.xml
varextensionPath=Qva.Remote+»?public=only&name=Extensions/» + extensionName +»/»;

 

Я немного изменил шаблон, поэтому вам нужно только ввести имя добавочного номера в одном месте, как вы увидите в моих комментариях, потому что я потратил часы на поиск простого решения (которое я пропустил во время создания).

Это также означает, что, когда мы добавляем расширение, нам больше не нужно вводить имя.

Следующий шаг — загрузить дополнительные файлы JavaScript, которые вы можете захотеть, и снова я изменил это, так как мне не нравилось вложение функций, я думаю, что это просто читается немного проще:

functionextensionInit() {
var jsfiles = [];

//load jquery if required

if (typeof jQuery == ‘undefined’) {

push(extensionPath + «jquery.js»);

}

//Pushing any other js files

push(extensionPath + «d3.v3.min.js»);

//jsfiles.push(extensionPath + «additionalfileshere.js»);

//now load these and call next function

LoadScript(jsfiles, extensionDone);

} //end extension_Init

 

Поэтому вместо того, чтобы вставлять функции Qva.LoadScript, мы просто посылаем нужные файлы в массив, а затем вызываем его.

Разъяснение кода:

Просто объявите функцию, а затем установите переменную ([] означает пустой массив), чтобы удерживать имена скриптов:

functionextensionInit() {
var jsfiles = [];

 

Это стандартный код, чтобы проверить, загружен ли jQuery или нет, и если нет, то он загружает это как первые элементы в наш массив.

if(typeof jQuery == ‘undefined’) {
push(extensionPath + «jquery.js»);
}

 

Затем мы можем просто повторить push-строку для любых других файлов, которые мы хотим загрузить. В этом случае мы хотим загрузить сценарий d3.

push(extensionPath + «d3.v3.min.js»);

 

Наконец, мы просто скажем qlikview загрузить файлы, а затем вызвать следующую функцию для запуска, которая является функцией расширения.

LoadScript(jsfiles, extensionDone);
} //end extension_Init

 

Затем большой кусок смущающего кода

Игнорируйте его! Я выяснил, что в основном требуется включить в расширении событие щелчка. Я просто взял его, как написано, и оставил без изменений.

if(Qva.Mgr.mySelect ==  undefined) {
Mgr.mySelect = function(owner, elem, name, prefix) {
if (!Qva.MgrSplit(this, name, prefix)) return;
AddManager(this);
this.Element = elem;
this.ByValue = true;
binderid = owner.binderid;
Name = this.Name;
onchange = Qva.Mgr.mySelect.OnChange;
onclick = Qva.CancelBubble;
}
Mgr.mySelect.OnChange = function() {
var binder = Qva.GetBinder(this.binderid);
if (!binder.Enabled) return;
if (this.selectedIndex < 0) return;
var opt = this.options[this.selectedIndex];
Set(this.Name, ‘text’, opt.value, true);
}
Mgr.mySelect.prototype.Paint = function(mode, node) {
this.Touched = true;
var element = this.Element;
var currentValue = node.getAttribute(«value»);
if (currentValue == null) currentValue = «»;
var optlen = element.options.length;
disabled = mode != ‘e’;
//element.value = currentValue;
for (var ix = 0; ix < optlen; ++ix) {
if (element.options[ix].value === currentValue) {
selectedIndex = ix;
}
}
style.display = Qva.MgrGetDisplayFromMode(this, mode);
}
}

Загрузка кода расширения

Здесь загружается основной код, здесь выполняется только одно небольшое изменение, и мы должны использовать переменную имени расширения, которую мы задали в качестве первой строки, вместо того, чтобы повторять ее (исключение ошибки)

AddExtension(extensionName , function(){

 

Теперь некоторая отладка
Мне очень понравился этот фрагмент кода, спасибо dgudkov обзор BI: Создание расширений в QlikView: некоторые подсказки и советы

Firebug – один из лучших инструментов для отладки, доступен как дополнение Firefox, но с этим небольшим кодом вы можете запустить его в любом браузере, просто нажмите F12, когда вы будете в документе на точке доступа.

Однако он также присутствует в приложении Qlikview. Хотя он не может читать файлы сценариев, чтобы помочь в отладке (Javascript не может загружать локальные файлы), он отображает консоль, которая действительно полезна, поскольку вы можете передавать сообщения console.log() для проверки.

Эту небольшую настройку использует Дмитрий и снова для простоты можно запустить функцию extensionInit внутри нее, поскольку это – функция, от которой все работает.

LoadScript(‘https://getfirebug.com/firebug-lite.js’, function()
extensionInit();
});

 

Например, я хотел дважды проверить значения в массиве, поэтому использовал следующий код (вы также можете использовать window.alert и т. д.):

log(«your max value is «+d3.max(dataset));
log(«The array values are:»);
for(var b=0; b< dataset.length; b++){
log(dataset[b]);
}

 

Вот, все готово для вашего приложения:

Шаг1 — Создание базовой диаграммы D3

Итак, давайте построим диаграмму!

Я предполагаю, что вы используете мой шаблон и меняете имя и код между большими маркерами, чтобы показать вам, где разместить свой код. Я также предполагаю, что вы прошли примеры в QlikFix и понимаете, как загружать и запускать расширения и т. д.

Настроить

  • Запустите template.qar (вы знаете, что это всего лишь zip с расширением, переименованным в .qar?), чтобы экспортировать его в свою папку расширения, а затем просто создайте копию папки. Давайте назовем его как «01 Базовая диаграмма», но на самом деле вы можете назвать это так, как хотите.
  • Откройте XML-определение и создайте ему это описание, затем удалите любой код, который нам не нужен в этом случае. Вы можете просто прокомментировать строки, которые нам не нужны, в этом случае почти все.

<?xmlversion=»1.0″ encoding=»utf-8″?>
<ExtensionObjectLabel=»01 A Basic Chart» Description=»First Chart Extension» PageHeight=»50000″>
<!—<Dimension Label=»Dimension 1″ Initial=»Path» TargetName=»Dimension Name» />—>
<!—<Dimension Label=»Dimension 2″ Initial=»Measure» TargetName=»Dimension Name» />—>
<!—<Measurement Label=»Measure 1″ Initial=»Sum(Measure)»/>—>
<!—Text Label=»Text Box 1″ Type=»text» Expression=»TITLE»/>—>
<!—Text Label=»Checkbox 1″ Type=»checkbox» Initial=»» />—>
<!—Text Label=»selectBox 1″ Type=»select» Select=»select1,select2,select3″
SelectLabel=»selectL1,selectL2,selectL3″ Expression=»selectL3″/>—>
<Initiate Name=»Chart.Title» value=»01 A Basic Chart» />
<Initiate Name=»Caption.Text» Value=»01 A Basic Chart» />
</ExtensionObject>

 

  • Откройте script.js и измените переменную имени вверху.

 

Быстрый старт

Так выглядит настройка, поэтому давайте наконец начнем с действительно простой диаграммы, которая просто отображает некоторые статические цифры.

Вот код, который мы написали для создания диаграммы, вы можете просто скопировать и вставить это, если хотите, и мы рассмотрим его более подробно ниже.

  • Скопируйте и вставьте весь этот код в раздел в шаблоне script.js

Element.innerHTML= ‘<svg class=»chart»></svg>’;
var data = [4, 8, 15, 16, 23, 42];
var width = 420,
barHeight = 20;
var x = d3.scale.linear()
.domain([0, d3.max(data)])
.range([0, width]);
var chart = d3.select(«.chart»)
.attr(«width», width)
.attr(«height», barHeight * data.length);
var bar = chart.selectAll(«g»)
.data(data)
.enter().append(«g»)
.attr(«transform», function(d, i) { return «translate(0,» + i * barHeight + «)»; });
append(«rect»)
.attr(«width», x)
.attr(«height», barHeight-1);
append(«text»)
.attr(«x», function(d) { return x(d); })
.attr(«y»,(barHeight-1)  / 2)
.attr(«dy», «.35em»)
.text(function(d) { return d; });

 

И это все, если вы открываете новый Qvw, включаете веб-представление и добавляете свой объект расширения, у вас должна быть простая диаграмма

 

Подробный код

Поэтому, чтобы разбить код на более управляемые куски (и помните, что я не проходил предварительного обучения JavaScript здесь, поэтому мои объяснения могут быть базовыми)

 

Основная настройка

Здесь мы просто скажем, что добавляем svg с классом диаграммы:

Element.innerHTML= ‘<svg class=»chart»></svg>’;

 

Здесь мы просто добавляем некоторые действительно базовые данные в массив под названием «данные»,

vardata = [4, 8, 15, 16, 23, 42];

 

Затем просто устанавливаем несколько элементов отображения, поэтому ширина диаграммы и высота столбцов

var width = 420,
barHeight = 20;

 

Настройте наш диапазон данных

Теперь мы можем получить удовольствие от работы с D3, и первое, что нужно сделать для этого, — отмасштабировать нашу диаграмму. В D3 есть очень умный способ взять «область» и масштабировать её до «диапазона», и я рекомендую прочитать это: d3: масштабы и цвет. | Джером Кукер

Все, что мы здесь делаем, говорит D3, что мы собираемся сделать линейное масштабирование, а затем как мы хотим преобразовать нашу область (в данном случае нашу переменную данных) в диапазон (размер диаграммы). С гистограммой, скорее всего, мы захотим начать масштаб в 0, чтобы мы могли жестко закодировать это, а внешний предел – это максимум нашего набора данных, для которого мы можем использовать удобную функцию d3.max. Затем мы просто скажем «диапазон», который мы хотим сопоставить, в этом случае жестко закодированный в 0, а внешний предел – это ширина нашей диаграммы.

varx = d3.scale.linear()
.domain([0, d3.max(data)])
.range([0, width]);

 

Добавить диаграмму

Следующим шагом будет добавление нашего объекта диаграммы, что делается очень простым кодом, который не нуждается в каких-либо объяснениях, и единственное, что нужно отметить, это то, что «диаграмма» — это класс, который мы назвали в нашем svg html в первой строке.

varchart = d3.select(«.chart»)
.attr(«width», width)
.attr(«height», barHeight * data.length);

 

Настройка столбцов

Следующим шагом будет создание данных о столбцах, которые составляют диаграмму. При работе с D3 вы часто будете видеть ссылку «g», но на самом деле это svg-код, и для его понимания, а также понимания того, почему мы используем «transform», можно прочесть этот материал : https://www.dashingd3js.com/svg-group-element-and-d3js

В основном здесь говорится о следующем:

  • Объявить переменную панель и сделать её нашей группой данных
  • Для каждого элемента данных добавить панель в группу
  • Установить для свойства «location» значение 0 (слева), а затем индексное число * высоту столбца вниз (слева вверху)

Таким образом, это в основном показывает нам, где по оси x начнутся столбцы (0), а затем где они начнутся на оси y (в зависимости от номера строки)

varbar = chart.selectAll(«g»)
.data(data)
.enter().append(«g»)
.attr(«transform», function(d, i) { return «translate(0,» + i * barHeight + «)»; });

 

Вы можете прочесть больше о функции (d, i) в документации d3 api, но в общем: «Если значение является константой, тогда всем элементам присваивается одинаковое значение атрибута, в противном случае, если значение является функцией, то функция оценивается для каждого выбранного элемента (по порядку), передается текущая точка d и текущий индекс i, причем этот контекст является текущим элементом DOM ».

Рисуем прямоугольники

Здесь нам просто нужно сделать данные видимыми! Мы делаем это, создавая панель с использованием прямоугольника. Опять же этот код довольно прямолинейный, просто создаём прямоугольник с шириной, эквивалентной нашей переменной x (которая является «диапазоном», который мы создали из нашей «области») и придаем ему фиксированную высоту, как мы устанавливали ранее, но вычтем единицу от высоты, которая дает нам расстояние между столбцами.

append(«rect»)
.attr(«width», x)
.attr(«height», barHeight-1);

 

Добавить текст на столбцы

Последний шаг – добавить наш текст для отображения значения, этот код выглядит немного более сложным, но на самом деле он тоже очень прямолинейный. Опять же, мы просто добавляем что-то к нашим объектам столбца, в этом случае – некоторый текст. Затем мы просто устанавливаем атрибуты текста:

  1. Добавить наш текст в столбец
  2. Присвоить ему координату x, в этом случае мы хотим сместить ее до конца строки, поэтому нам нужно вернуть длину данных (x), которые мы установили ранее.
  3. Присвоить ему координату y, которая в этом случае является высотой столбца, а наш разделитель – двумя, что является центром столбца
  4. Затем мы хотим удостовериться, что элемент остается центрированным независимо от того, какой размер шрифта мы используем, а также убедитесь, что если мы применяем любое вращение, оно вращается вокруг центра текста, а не снизу, поэтому чтобы сделать это мы используем атрибут svg dy (просто согласитесь, что это работает!)
  5. Наконец, нам нужно прописать наш текст, что в данном случае является просто нашим значением данных

append(«text»)
.attr(«x», function(d) { return x(d) ; })
.attr(«y»,(barHeight-1)  / 2)
.attr(«dy», «.35em»)
.text(function(d) { return d; });

 

Подведем итоги

Таким образом, вы можете видеть, что на самом деле в Qlikview довольно просто добавить диаграмму. Однако в этом случае все, что мы делаем, это используем Qlikview в качестве «браузера» для отображения нашей диаграммы.

 

Общие ошибки

Я видел это, как правило, забывая изменить имя шаблона

 

Ссылки

  1. Шаблон расширения Qlikview от bmz на Object Extension Templates
  2. Расширенные учебники от barryharmsen на QlikView Extension tutorials, documentation and examples — The Qlik Fix! The Qlik Fix!
  3. Расширенные советы и подсказки от dgudkov BI Review: Building extensions in QlikView: some hints & tips
  4. Notepad++ https://notepad-plus-plus.org/download/v6.9.2.html
  5. Форматирование D3 http://www.jeromecukier.net/blog/2011/08/11/d3-scales-and-color/
  6. http://www.d3noob.org/2012/12/setting-scales-domains-and-ranges-in.html
  7. Небольшая заметка по G в svg http://tutorials.jenkov.com/svg/g-element.html and SVG Group Element and D3.js | DashingD3js.com
  8. Базовая диаграмма D3 https://bost.ocks.org/mike/bar/
  9. Qlikview SDK QlikView Version 11 SDK | Qlik Community
  10. Базовый столбец D3 от ajlandry GitHub — wallyflops/d3Graph: Trying to get d3.js working in a QV extension (any graph can be added on later, in theory)
  11. Документация по API для D3  d3/API.md at master · d3/d3 · GitHub

 

Робот в облаке: автоматическая загрузка файлов в облако Qlik Sense

При отсутствии необходимого типа коннектора приходится загружать данные в Qlik Sense Cloud вручную. Временное решение – использовать робота.

Вот шаги, которые нужно предпринять для создания робота.

  1. Установите Selenium Webdriver
  2. Настройте AutoIT
  3. Настройте код AutoIT и Selenium для своей среды.
  4. Создайет и запланируйте задачу Windows

Настройка Selenium Webdriver

Selenium – это программное обеспечение с открытым исходным кодом, которое позволяет реплицировать взаимодействие пользователя с веб-приложением. Основная цель, такая же как у Apache JMeter, — автоматизировать тестирование веб-приложений, но мы также можем использовать ее для автоматизации повторяющихся веб-задач. Selenium позволяет нам управлять браузером (например, перейти к определенному веб-сайту) и взаимодействовать с элементами HTML на основе их атрибутов (например, нажать на кнопку, чей идентификатор является «import-data»). Однако он не дает нам контроля над всем графическим интерфейсом Windows. Вот почему нам нужно использовать AutoIT для взаимодействия с диалоговым окном Windows, которое мы используем для выбора файлов, которые мы хотим загрузить в Qlik Sense Cloud.

В Selenium вы можете использовать различные языки (Java, C #, Ruby, Python, JavaScript) для создания тестового примера. Мы будем использовать Java для автоматизации загрузки файла данных в Qlik Sense Cloud. Вы также можете использовать любой веб-браузер для запуска скрипта. В этом примере мы будем использовать Firefox, потому что Selenium предоставляет плагин для записи пользовательских взаимодействий, которые мы можем преобразовать в Java. Если у вас нет Firefox, загрузите и установите его.

Вы можете найти остальные шаги, чтобы настроить всю среду разработчика Selenium с нуля на http://toolsqa.com/selenium-webdriver/download-and-install-java/. Следующее изображение представляет собой скриншот сайта. Пройдите первые 6 шагов, чтобы настроить Java, Eclipse и Selenium Webdriver Java Client.

 

В Configure Eclipse с Selenium WebDriver вы создаете свой первый проект java. После этого следуйте инструкциям в Running Test на GeckoDriver, прежде чем создавать свой первый тестовый пример. Первый тестовый пример поможет вам отладить любые проблемы с вашей средой, прежде чем добавлять код, о котором я собираюсь рассказать вам позже в этом посте.

После того, как вы сможете запустить свой первый тестовый пример, следующим шагом будет настройка другого инструмента автоматизации, который может работать с диалоговыми окнами Windows.

Настройка AutoIt

AutoIt – это бесплатная программа, которая имитирует действие пользователя в графическом интерфейсе Windows. Мы будем использовать ее, чтобы найти диалоговое окно Windows и имитировать нажатия клавиш. В среде разработчика загрузите и установите полную версию AudIt. Установка довольно проста. Как только вы установите его, мы будем готовы настроить и протестировать код для загрузки файлов данных в Qlik Sense Cloud.

Настроить код

Мы собираемся добавить необходимый код для автоматизации загрузки файла в две части. Сначала мы сконфигурируем код AutoIt, чтобы манипулировать диалоговым окном Windows, и затем мы скорректируем код Selenium Webdriver, который перемещается через Qlik Sense Cloud.

AutoIt

Откройте редактор скриптов SciTe в меню «Пуск» и вставьте следующий скрипт.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

;;Wait 5 seconds for the File Upload window to appear

WinWait(«File Upload», «», 5)

 

;;Paste location of folder where data files are locally stored (Text

limited to 259 characters)

ControlSetText(«File Upload», «», «[CLASS:Edit; INSTANCE:1]»,

«D:\YourPath\QVDs»)

 

;;Wait 1 second to finish pasting text

Sleep(1000)

 

;;Hit Enter and go to folder where data files are locally stored

ControlSend(«File Upload», «», «[CLASS:Edit; INSTANCE:1]», «{ENTER}»)

 

;;Wait 5 seconds to go to folder

Sleep(5000)

 

;;Paste list of data files to upload (Text limited to 259 characters)

 

ControlSetText(«File Upload», «», «[CLASS:Edit; INSTANCE:1]»,

‘»Worklogs.qvd» «DocumentTypes.qvd» «INV1.qvd» «ITR1.qvd» «JDT1.qvd»‘)

 

;;Wait 1 second to finish typing

Sleep(1000)

 

;;Hit Enter and upload data files

ControlSend(«File Upload», «», «[CLASS:Edit; INSTANCE:1]», «{ENTER}»)

Короче говоря, код сначала ожидает появления окна «Загрузка файлов». Затем он переходит в каталог, где находятся файлы данных, и, наконец, по дате выбирает файлы, которые вы хотите загрузить. Вы определяете папку, в которой находятся ваши файлы данных в строке 5, и список файлов данных для загрузки в строке 17. Я выделил обе строки в предыдущем фрагменте кода. Вы также можете ознакомиться с комментариями кода, которые начинаются двумя точками с запятыми (;;), чтобы получить более подробное представление о том, что делает каждая строка.

 

Примечание. Если вы загружаете большое количество файлов данных, а список длиннее 259 символов, вы можете либо сократить имена файлов, либо выполнить этот скрипт дважды из кода Selenium, который мы увидим в следующем разделе.

После того как вы настроите код для загрузки файлов, перейдите в окно загрузки файлов в Qlik Sense Cloud, как показано на следующем рисунке. Затем перейдите в SciTe Script Editor, где у вас есть иземенный код, и нажмите F5, чтобы запустить скрипт. Если все работает правильно, вы увидите текст, который будет введен в текстовое поле «Имя файла» и загружаемые файлы.

Если ничего не происходит, возможно скрипт не может найти окно. Если вы используете язык, отличный от английского, вам нужно будет изменить имя окна в коде. Например, в браузере, поддерживающем испанский язык, замените «File Upload» на «Archivos de cargar», как в следующей строке кода.

ControlSend(«Archivos de cargar», «», «[CLASS:Edit; INSTANCE:1]», «{ENTER}»)

Как только вы подтвердите, что ваш код AutoIt работает, сохраните файл скрипта (.au3), в том месте, где хотите. Чтобы запустить его из Selenium Webdriver, мы также должны скомпилировать скрипт и сохранить его как исполняемый файл (.exe). В редакторе скриптов SciTe перейдите в Инструменты -> Скомпилировать. Теперь перейдите в каталог, в котором вы сохранили файл .au3, и вы увидите файл .exe с тем же именем. Мы будем использовать этот файл в следующем разделе.

Selenium Webdriver

Вы можете заменить код своего первого скрипта следующим скриптом, также вы можете вставить его в новый проект в Eclipse. Если вы не знаете, как создать новый проект, перейдите в «Настроить Eclipse с помощью Selenium WebDriver».

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

package automationFramework;

 

import java.io.IOException;

import java.util.concurrent.TimeUnit;

 

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

 

public class FileUpload {

 

public static void main(String[] args) throws InterruptedException, IOException {

// TODO Auto-generated method stub

System.setProperty(«webdriver.gecko.driver», «C:\\\\YourPath\\geckodriver.exe»);

 

// Create a new instance of the Firefox driver

WebDriver driver = new FirefoxDriver();

 

// Help to not always rely on sleep function to wait

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

driver.manage().timeouts().pageLoadTimeout(100, TimeUnit.SECONDS);

 

//Launch the Qlik Cloud Log In

driver.get(«https://qlikid.qlik.com/cloud«);

 

//Make sure the text box is clear and type account username

driver.findElement(By.id(«MemberLoginForm_LoginForm_QUsername»)).clear();

driver.findElement(By.id(«MemberLoginForm_LoginForm_QUsername»)).sendKeys(«john.doe»);

 

//Make sure the text box is clear and type account password

driver.findElement(By.id(«MemberLoginForm_LoginForm_qPassword»)).clear();

driver.findElement(By.id(«MemberLoginForm_LoginForm_qPassword»)).sendKeys(«123456»);

 

//Submit Username and Password

driver.findElement(By.cssSelector(«input.qlik-submit»)).click();

 

//Wait for 5 Sec

Thread.sleep(5000);

 

//Sometimes sent to Qlik.com, so make sure we’re in Qlik Cloud

driver.get(«https://us.qlikcloud.com/hub/personal«);

 

//Wait for 5 Sec

Thread.sleep(5000);

 

//Go to Workspace

driver.get(«https://us.qlikcloud.com/hub/groups/myWorkSpaceID«);

 

//Click Import Data Button

driver.findElement(By.id(«import-data»)).click();

 

//Click Upload Button

driver.findElement(By.id(«uploadTrigger»)).click();

 

//Run AutoIT script to select files from File Upload Window

Runtime.getRuntime().exec(«C:/MyPath/AutoItScript.exe»);

 

//Wait for 30 Sec

Thread.sleep(30000);

 

//Click Upload Finished

driver.findElement(By.id(«done-upload-file»)).click();

 

//Log out

driver.get(«https://us.qlikcloud.com/logout«);

 

//Wait for 5 Sec

//Thread.sleep(5000);

 

// Close the browser window

driver.quit();

}

 

}

Вы можете понять, что делает каждая строка кода, просматривая комментарии. Я также выделил строки, которые вам нужно настроить в своей среде.

В строке 1 замените имя пакета на любое имя, которое вы ему дали, когда вы создали проект в Eclipse.

package automationFramework;

В строке 10 Eclipse предложит вам изменить имя открытого класса или имя файла java. Сделайте так, как будете считать нужным.

public class FileUpload {

В строке 14 измените путь к файлу, где вы сохранили geckodriver.exe.

System.setProperty(«webdriver.gecko.driver», «C:\\\\YourPath\\geckodriver.exe»);

В строке 27 и строке 31 добавьте свое имя пользователя и пароль Cloud Sense Cloud. Код не шифрует пароль в текущей версии, но я предполагаю, что это возможно.


driver.findElement(By.id(«MemberLoginForm_LoginForm_QUsername»)).sendKeys(«john.doe»);

driver.findElement(By.id(«MemberLoginForm_LoginForm_qPassword»)).sendKeys(«123456»);

В строке 47 замените текущий URL-адрес на свой собственный рабочий стол. Самый простой способ сделать это — вручную войти в свою учетную запись Qlik Sense Cloud, щелкнуть по рабочей области и скопировать URL-адрес. Идентификатор будет содержать буквенно-цифровую строку.

driver.get(«https://us.qlikcloud.com/hub/groups/myWorkSpaceID»);

В строке 56 измените путь к файлу, в котором вы сохранили исполняемый файл скрипта AutoIT, который мы создали в предыдущем разделе.

Runtime.getRuntime().exec(«C:/MyPath/AutoItScript.exe»);

После того, как вы внесете эти изменения, сохраните код и запустите скрипт. Если все идет гладко, вы должны увидеть что-то вроде следующего видео. (Это занимает менее 90 секунд.)

Вероятно, оно не пойдет очень гладко при первом запуске, и вам, скорее всего, придется выполнить настройку или добавить время сна как в скрпите Selenium, так и для скрипта AutoIt. Обратите особое внимание на метод сна в строке 59. Это расчетное время, которое вы ожидаете от программы, чтобы загрузить файл данных, поэтому добавьте немного дополнительного времени, только если скорость соединения будет медленнее, чем обычно.

Добавить новый код

Если в пользовательском интерфейсе Qlik Sense Cloud есть изменения, или если вы хотите добавить дополнительное действие к скрипту, самый простой способ сделать это – использовать Selenium IDE Plugin для Firefox. Вы можете найти ссылку, чтобы загрузить ее на странице загрузки Selenium.

Перейдите на страницу дополнений Mozilla Selenium IDE и выберите вариант добавления в Firefox. После установки надстройки вам придется перезапустить Firefox. После перезагрузки Firefox вы можете настроить меню и сделать Selenium доступным для открытия. Как только вы перейдете к настройке, можете поместить значок Selenium IDE в любое место в меню.

Теперь, если вы перейдете в Qlik Sense Cloud и выберите Selenium IDE, откроется дополнительное окно, которое начнет записывать ваши действия. Selenium IDE должен начать запись сразу же после открытия, но если этого не произошло, вы можете включить и выключить запись в верхнем правом углу окна Selenium IDE.

Когда вы проходите по объектам и вводите текст, вы должны увидеть список действий, отраженных в таблице. Вы можете остановить запись в любое время и воспроизвести эти действия, чтобы проверить, были ли они записаны точно.

Selenium IDE записывает все в HTML по умолчанию. Мы можем изменить язык сценария при копировании и вставке нового кода в Eclipse, изменив формат буфера обмена на Java. Затем вы можете выбрать одну или несколько строк в Selenium IDE, скопировать их и вставить новое действие или последовательность действий как Java в Eclipse.

Таким образом, вы можете обновить свой скрипт, не будучи экспертом по Java, в случае изменения интерфейса облака Qlik Sense Cloud или в случае, если вы хотите добавить новое действие.

Планирование заданий

После того, как вы скорректировали код для своей среды и успешно выполнили свой сценарий вручную, пришло время автоматизировать процесс. Я полагаю, вы можете использовать любое программное обеспечение планировщика заданий, чтобы выполнить это, но здесь мы будем использовать то, что есть у всех, планировщик задач Windows.

Есть несколько способов запуска сценария из Планировщика задач Windows. В этом примере мы собираемся создать исполняемый файл jar и запустить его из командного файла. Сначала откройте свой проект в Eclipse и экспортируйте свой код в виде исполняемого файла jar. Затем откройте свой любимый текстовый редактор, включите следующую команду в текстовый файл и сохраните его в виде командного файла (.bat).

java -jar «C:\YourPath\UploadDataFiles.jar»

Прежде чем перейти к созданию задачи Windows, проверьте командного файл, дважды щелкнув по нему и убедившись, что сценарий запущен. В некоторых случаях вам может потребоваться щелкнуть правой кнопкой мыши на командном файле и выбрать «Запуск от имени администратора».

После успешного запуска командного файла перейдите в Планировщик задач Windows и создайте задачу. На вкладке «Общие» мастера «Создать задачу …» выберите параметры «Запуск с наивысшими правами» и «Выполнить только при входе пользователя в систему».

Мы не можем запустить эту задачу, когда пользователь выйдет из системы, потому что скрипт должен взаимодействовать с графическим интерфейсом. Это не означает, что вы подключаетесь к серверу в 3 часа ночи, чтобы выполнить задачу. Пользователь может быть зарегистрирован, но отключен одновременно. Например, если вы используете Remote Desktop для подключения к серверу, вы можете отключиться от сервера, и задача будет запущена. Однако, если вы выйдете с сервера, задача не будет выполнена.

На вкладке «Триггеры» определите триггер задачи, который наилучшим образом соответствует вашей цели.

На вкладке «Действия» добавьте действие «Запустить программу» и выберите командный файл.

После того, как вы создали задачу, не забудьте проверить ее, запустив ее вручную, прежде чем оставлять ее для автоматического запуска. Если вы подключены к серверу, не забудьте отключиться от него и не выйти из системы, когда закончите. Я не тестировал его на ноутбуке, но он также должен запускаться, если вы вошли в систему, но ноутбук заблокирован.

Еще кое-что…

Разумеется, в это решение можно внести множество улучшений, но опять же это временное решение, и мы ожидаем, что Qlik добавит больше коннекторов данных в Qlik Sense Cloud.

Как должны выглядеть ваши финансовые отчеты?

Слишком часто финансовые отчеты представляют собой нечто среднее между электронными таблицами и информационными панелями, наполненными плохо обозначенными и непригодными для восприятия графиками, 3D-эффектами и спидометрами, которые просто не передают информации лицам, принимающим решения.

Хотя последние тенденции визуализации данных улучшили ситуацию, основные проблемы в финансовой отчетности еще не решены. Бесчисленные отчеты и презентации создаются ежедневно в организациях, в разных форматах, длинах, формах и цветах, в зависимости от личных предпочтений человека, который их готовит. Результат? Менеджеры не получают представление из предоставленных им данных, теряют время впустую, а заинтересованные стороны не принимают важных решений.

Решение? Международные стандарты деловой коммуникации (IBCS) последовательно определяют формы и цвета фактических данных и бюджетов, отклонения, различные ключевые показатели эффективности и т. д. IBCS представляет собой набор рекомендаций и передовых методов, которые стали вирусными в Европе, и решили проблемы с деловыми связями во многих компаниях, таких как как Coca-Cola, SAP, Bayer, Roche, Swarovski, Lufthansa, Philips и т. д.

Мне нравится называть их «дорожные знаки для руководства».

Я объясню, почему, но сначала давайте взглянем, как выглядят отчеты по прибыли и убыткам в вышеупомянутых компаниях:

Надеюсь, вы согласитесь, что они чисты, понятны, точны, интуитивны и выразительны.

Они тщательно структурированы и предназначены для преднамеренного направления внимания читателя на важнейшие бизнес-ценности. В FP&A это часто означает разницу с бюджетом, или с предыдущим годом, или и то, и другое.

Их легко воспринимать визуально, но, прежде всего, они чрезвычайно последовательны.

Позвольте мне повторить следующее: последовательные.

Одинаковые цвета и одинаковые формы всегда означают одно и то же. Терминология является последовательной. Даже значки и шрифты используются последовательно.

Нужен ли нам стандарт для делового общения???

Да, стандарты в нашей повседневной жизни очень практичны. Они упрощают наши решения, позволяют нам работать более эффективно и в большинстве случаев улучшать нашу жизнь.

Если вы видите этот красный знак (кирпич) при езде на автомобиле, вы сразу же знаете, что делать. Даже если вы поедете в Канаду или решите арендовать автомобиль в Европе, все равно вы будете знать, что означает этот знак.

Подумайте об этом. Вы видите знак, и вы принимаете меры … Вы видите определенную форму и цвет, и вы принимаете свое решение. Почему? Потому что это всегда одно и то же! Вы усвоили его на всю жизнь. Это в глубине вашего сознания, поэтому вы не думаете о нем. Вы не тратите свое драгоценное время на его расшифровку, вы просто действуете.

Теперь представьте, что каждая страна, каждое государство или даже каждый город используют свой собственный набор дорожных знаков. Возможно, используют любимый цвет мэра (camelia pink? Bermuda turquoise?), строго овальной формы, чтобы удовлетворить чужое личное предпочтение или узор в горошек с рисунком, чтобы следовать последней моде.

Или, возможно, в соседнем городе есть совсем другие технологии для создания знаков, при этом получают совершенно разные объекты.

Это звучит комично, но это именно то, что мы делаем в деловом общении:

  • Сегодня мы используем синие столбчатые диаграммы для продаж, завтра это разноцветная круговая диаграмма.
  • Если бухгалтер готовит финансовый отчет, скорее всего, это массивная электронная таблица со всеми цифрами, отображаемыми с двумя десятичными знаками. Размер шрифта – 8! Если вам повезет…
  • Если документ делает отдел маркетинга, то он разрабатывают его строго в корпоративных цветах, с огромным логотипом наверху. Как можно больше. Определенно много круговых диаграмм.
  • Фрэнки пишет «Продажи на миллион долларов США», в то время как Джонни использует «Чистый доход в $1 млн». Д-р Джекил пишет «Октябрь с начала года», но г-н Сэйт предпочитает «2017/1/1 — 2017/10/31». Конечно, все они отправляют свои анализы одному и тому же человеку (своему боссу). Бедный парень.
  • Если вы используете Excel, ваш отчет выглядит как несметное количество чисел, просто отправленных в тюрьму. Если вы пользователь QlikView, я уверен, что он заполнен фантастическими спидометрами. 3D, если это возможно.

Если это недостаточно убедительно, просто введите слово «информационная панель» в поисковую систему и посмотрите, что вам покажет Google.

Чувствуете себя везунчиком? Вуаля!

Красивое зрелище, не так ли?

У нас есть стандарты в движении, музыке, картах, электричестве, технике и т. д. Практически везде, кроме бизнеса.

Мне всегда приходило в голову, что дизайнеры отчетов просто не чувствуют боли своих читателей.

Это – то руководство, о котором мы говорим. Давайте окажем им немного сочувствия. Давайте перестанем тратить их время!

Способ представления финансовых показателей важен и может иметь огромное значение. «Расстояние действия» может быть сокращено колоссально. Люди действительно начнут читать отчеты, которые они получают. И, прежде всего, они будут понимать работу бизнеса гораздо более подробно.

Как и дорожные знаки, финансовые отчеты должны иметь стандартизованный дизайн.

Вот почему, как и дорожные знаки, финансовые отчеты должны быть стандартизированы. Я вижу дорожный знак, думаю, и принимаю решение. Я вижу бизнес-диаграмму, анализирую и принимаю бизнес-решение.

Стандарты международного делового общения доктора Хикерта

Это было в 90-х годах, когда доктор Рольф Хихерт, известный немецкий профессор, постарался стандартизировать то, как аналитики представляют данные в своих отчетах, информационных панелях и презентациях. Его чрезвычайно успешная работа завершилась в 2013 году публичным выпуском Международных стандартов делового общения (IBCS), первого в мире практического предложения по стандартизированному дизайну делового общения.

Итак, как работает IBCS?

Начнем с простого примера:

Это – типичная группированная или «кластерная» диаграмма столбцов, представляющая фактические и бюджетные показатели продаж. Целью этой визуализации является сравнение продаж и бюджета.

Оно эффективно?

Во-первых, нам нужно понять, что синие столбцы представляют фактические значения, и красные – бюджет. Почему синий? Почему красный? Назначение цвета является полностью произвольным, возможно, просто случайным по умолчанию программным инструментом. Во-вторых, трудно оценить отклонения от бюджета. Вышли ли мы за пределы бюджета, или недовыполнили бюджет за конкретный месяц? На сколько?

Теперь давайте рассмотрим тот же набор данных, который представлен в IBCS.

Фактические данные изображаются как темно-серые полные столбцы, а бюджет – контур. Мы называем это сценарием: бюджет – это пустой кадр, который в конечном итоге будет заполнен действиями. Он очень интуитивно понятен и сохраняет цвета, поэтому мы можем применять их к более важным категориям данных.

Затем дисперсии явно вычисляются и визуализируются. Положительная дисперсия – зеленая, отрицательная дисперсия – красная. Внимание пользователя направлено на отклонения, которые в этом случае являются ключом к пониманию эффективности продаж.

На диаграмме все тексты стандартизированы, точны, коротки и отображаются горизонтально. Название КПЭ всегда содержит блок.

 

Обязательные правила IBCS

IBCS включает обширные правила и рекомендации для разработки бизнес-коммуникации, которые помогают

  1. Организовать свой контент, используя соответствующую сюжетную линию (Концептуальные правила),
  2. Представить свой контент, используя соответствующий визуальный дизайн (правила восприятия)
  3. Стандартизировать контент, используя последовательную унифицированную нотацию (семантические правила).

Вот ключевая часть единой нотации в IBCS:

После того, как вы примените правила IBCS к своему стандартному отчету о дисперсии, он будет выглядеть примерно так, как показано на рисунке ниже.

Как вы могли заметить, этот отчет имеет несколько отличительных особенностей:

  1. Ключевое сообщение (заголовок) – вверху,
  2. Описание заголовка – под ключевым сообщением,
  3. Нет украшений (логотипов, изображений, корпоративных изображений, красочных фонов, границ и т. д.)
  4. Четкая структура столбцов (PY для предыдущего года слева, AC для фактического и BU для бюджета справа, всегда в таком порядке),
  5. Маркеры сценариев в заголовках столбцов (серый для PY, черный для AC и схема для BU),
  6. Отклонения визуализируются красными/зелеными диаграммами «плюс-минус» и встроены в таблицу,
  7. Абсолютные отклонения (ΔPY, ΔBU) отображаются в виде гистограмм, а относительные отклонения (ΔPY%, ΔBU%) отображаются в виде «pin»-диаграмм
  8. Семантическая ось в диаграммах: серая ось для дисперсии до PY (серый = предыдущий год), двустрочная ось для отклонения от бюджета (контур = бюджет)
  9. Нумерованные комментарии, которые должны быть написаны на той же странице отчета.

При этом мы достигли согласованной системы знаков – языка. Это – международный деловой язык, на котором профессионалы FP&A должны будут начать говорить, чтобы поднять эффективность их делового общения на новый уровень.

Источник: ibcs-a.org. Coca-Cola İçecek использует Zebra BI для внутренней отчетности IBCS в Excel.

 

Хорошо, мне нравится идея, с чего начать?

Стандарт IBCS предлагает две довольно смелые идеи:

  1. Отчеты должны выглядеть одинаково (или, по крайней мере, быть очень похожими) в любой компании независимо от отрасли и ее размера – от многонациональной фармацевтической корпорации до банка, консалтинговой компании среднего размера или стартапа.
  2. Отчеты должны выглядеть одинаково (или, по крайней мере, быть очень похожими) независимо от программных средств, с которыми работают пользователи.

Короче говоря, это относится к каждому отчету в любом типе компании, сделанному с помощью любого программного инструмента. Это подразумевает, что данный пункт, вероятно, относится и к вам, мой дорогой читатель! 😉

Так почему бы не попробовать сразу?

Вам нужно будет изучить еще несколько деталей, и для этого вам понадобятся инструменты. К счастью, Ассоциация IBCS официально сертифицировала несколько программных инструментов, так что вы можете выбрать инструмент практически для любой крупной ИТ-платформы.

Tableau vs QlikView: разница между гигантами визуализации данных

Оба инструмента BI являются популярными и оба оснащены широким спектром визуализации. Однако, стоит сравнить их для того, чтобы выбрать наиболее подходящий инструмент для вашей фирмы. В данной статье Вы можете получить подробный анализ этих инструментов.

В настоящее время бизнес не полагается на аналитический инструмент только потому, что он является последним на рынке. Бизнесу нужны расширенные, удобные и интеллектуальные инструменты, которые помогают мгновенно анализировать сложные данные. Прошли те времена, когда для демонстрации статистики использовались одномерные и статические графики и диаграммы. Предприятиям нужны более визуально привлекательные, интерактивные и гибкие инструменты, которые вписываются в требования реального времени.

Два из таких передовых инструментов визуализации BI – это Tableau и QlikView, конкурирующие в этой нише, предоставляющие разнообразный спектр функций. Давайте проведем сравнительное исследование между ними:

  • Tableau и Qlikview имеют широкий набор возможностей для визуализации и сторителлинга.
  • Оба инструмента обеспечивают высокопроизводительные аналитические способности.
  • Оба инструмента поддерживают мобильную совместимость с аналогичными операционными системами.
  • Tableau и Qlikview могут быть развернуты как локально, так и в облаке.

Tableau vs QlikView

Хотя между Tableau и Qlikview существует много общего, эти два инструмента значительно различаются во многих отношениях.

Tableau и QlikView — что это?

QlikView и Tableau имеют ряд особенностей, которые делают их исключительными и более подходящими для конкретных требований. Давайте подробнее рассмотрим эти два инструмента.

Tableau

Это один из самых популярных и широко используемых инструментов бизнес-аналитики, по мнению Gartner в прошлом году. Данный инструмент предполагает использование высокоразвитых функций визуализации данных, позволяет пользователям создавать, отображать и обмениваться интерактивными отчетами почти сразу.

Этот инструмент, обслуживающий более 23 000 клиентов по всему миру, довольно прост в использовании и требует меньшего количества технических знаний. Способность к интеграции наборов данных, работа в режиме реального времени и независимость от платформы делают его довольно привлекательной технологией бизнес-аналитики. Tableau работает над n-уровневой клиент-серверной архитектурой, которая поддерживает быстрое и динамическое развертывание. В инструменте существует несколько серверов, которые управляют внутренними процессами Tableau:

  • Gateway / Load Balancer – является точкой входа на сервер Tableau и обеспечивает сбалансированную загрузку процесса.
  • Сервер приложений – аутентифицирует разрешение для любого пользователя для веб-интерфейса и мобильных интерфейсов Tableau Server.
  • Репозиторий – база данных PostgreSQL, хранящая данные сервера.
  • VIZQL Server – этот компонент обрабатывает запрос, отправляет его в источник данных и предоставляет выходные данные.
  • Data Engine – хранит данные и извлекает ответы на запросы.
  • Backgrounder – выполняет задачи сервера.
  • DataServer – поддерживает соединение между сервером Tableau и источниками данных.

Преимущества Tableau

  • Доступен для каждого: Tableau позволяет обычным пользователям создавать интерактивные отчеты бизнес-аналитики даже при небольших технических навыках. Tableau отлично подходит для руководителей высшего звена, которым нужен интеллектуальный инструмент бизнес-аналитики, который прост в эксплуатации.
  • Быстрый: Tableau может создавать интерактивные визуализации и отчеты за несколько минут, что делает его очень быстрым инструментом.
  • Карты: Tableau очень эффективен в создании многомерных карт с помощью встроенной функции геокодирования.
  • Интерактивная визуализация данных: Tableau создает интерактивные отчеты и предоставляет рекомендации в соответствии с требованиями пользователя. Tableau имеет множество возможностей визуализации данных, благодаря чему автоматически сегментирует данные в измерения и сегменты.
  • Экономия времени и усилий: используя Tableau, вы можете легко подключиться к базе данных, что сокращает время и усилия пользователя, которые могут использоваться в аналитике.
  • Экономичность: экономия не только времени и усилий, эта технология также экономит деньги, потому что данный инструмент позволяет компаниям не вкладывать деньги в приобретение дополнительных ИТ-ресурсов.
  • Обмен информацией: Tableau создает, а также позволяет обмениваться отчетами онлайн / офлайн, делая весь процесс быстрее.
  • Поддержка безопасности: Tableau осуществляет контроль за доступом к информации с помощью различных мер безопасности

Недостатки Tableau

Ключ венчурного бизнес-аналитика должен обеспечить разумное покрытие метаданных для получения одиночной характеристики отраслевых единиц, таких как покупатель и доход, как только информация будет жить в разнородных настройках в измененных соглашениях.

  • Группы клиентов не могут создаваться для разных размеров, которые могут быть опасны для бизнеса.
  • Нет охвата проекта, осведомленности о прогнозах и объявления временных данных.
  • Медленнее, чем QlikView для определения статистики памяти.
  • Новые соединения данных не могут быть подготовлены, поскольку нет возможности для этого.

QlikView

Сильная и ведущая платформа бизнес-аналитики, QlikView легко осмысливает и анализирует критические отношения между различными наборами. Это инструмент обработки данных в памяти, накапливающий данные из нескольких источников, которые включают в себя файлы и реляционные базы данных, и обеспечивающий глубокое понимание при помощи передовых аналитических способностей. Служит более чем 34 000 клиентам в 100 странах мира, эта технология имеет одно из самых мощных бизнес-открытий для рынка гуру. Qlikview Desktop – это инструмент на основе окон, который имеет следующие компоненты:

  • QlikView SERVER (QVS) – серверный продукт, содержащий встроенный аналитический движок и поддерживающий всю связь между сервером и клиентом. Он выполняет широкий спектр действий, таких как авторизация клиентов, управление консолью QlikView, разрешение доступа на чтение и запись и т.д.
  • QlikView Publisher (QVP) – серверный продукт, который загружает данные непосредственно из исходных файлов, используемых в службе распространения и т.д.

Преимущества QlikView

Вот некоторые особенности, которые делают Qlikview уникальной технологией:

  • Интерактивность, ориентированная на пользователя: QlikView очень ориентирован на пользователя, так как позволяет мгновенно находить осмысленные идеи с помощью богатого набора функций визуализации.
  • Объединение ссылок: Qlikview позволяет найти связь между наборами данных и результатами поиска по всем доступным данным и фильтровать результаты в соответствии с вашими потребностями.
  • Гибкость в доступе: Вы можете получить доступ к своим данным в QlikView, из любого уголка мира в любое время, независимо от используемого устройства.
  • Самый быстрый анализ: QlikView способен доставить результаты в тот момент, когда вы обратитесь к нему. Его высоко оптимизирующий характер и масштабируемость помогают ему быстро получить доступ к большому набору данных.
  • Время ожидания: позволяет измерять время до стоимости в любой временной продолжительности и мгновенно находить точные результаты.

Недостатки QlikView

  • Расширение общества неторопливо и не полностью сформировано, в отличие от Tableau.
  • У него есть дополнительные функции, которые точно не используются в торговле, например, при взвешивании трехмерных графиков.
  • Структура не является хорошо управляемой. В интерфейсе находится множество вкладок, в то время как структура Tableau хорошо управляется с помощью правильного руководства пользователя.
  • Оптические результаты нуждаются в требующей времени настройки и не обладают вариантом перетаскивания, как у Tableau.

Вывод

Таким образом, сила Tableau заключается в том, чтобы позволить учащимся создавать непосредственные и практичные дашборды. Этот спонтанный, оптически определенный коммуникационный дашборд может легко превратить обычного коммерческого пользователя в бизнес-мастера. Tableau также обеспечивает безупречное хранение дашбордов на своем сервере. В то время, как QlikView пользуется популярностью благодаря своей лояльности по отношению к своим клиентам, управляемые дашборды Tableau могут предлагать страхование для коммерческих организаций путем передачи уведомлений во время бедствий.

Разработчик Qlik Sense. Шаг 2b: Мое первое расширение

Итерационный процесс разработки

Прежде чем я объясню уроки, которые усвоил, и расскажу несколько советов, давайте рассмотрим процесс итерационного процесса разработки.

Шаг 1: идея возникла из требования включить объект, который бы использовал Google-карты, чтобы показывать детали улиц и информацию о маршруте.

Шаг 2: я создал прототип, чтобы проверить техническую возможность добавления Google-карт в расширение Qlik Sense. Я немного ознакомился с API Google-карт и скопировал пример кода из этой документации в простое расширение Qlik Sense. Я протестировал его в демо-приложении Qlik Sense.

Шаг 3: Я получил доступ к разработке и тестированию расширения в реальном приложении Qlik Sense.  Была составлена схема визуализации.

Шаг 4: создание расширения (добавление вида улицы, общей карты, маршрута и расстояния из различных API Google-карт).

Шаг 5: окончательные корректировки в HTML и CSS. Перенос элементов карты и изменение размера и цвета шрифта.

Полученные технические уроки

Я не изучал разработку веб-сайтов или разработку расширений в Qlik Sense, пока не создал собственное расширение. Вот некоторые из тех вещей, которые я узнал на практике, и чего нет в книгах и учебниках.

Жесткое обновление

Расширения Qlik Sense привязываются к кэшу браузера, как жвачка к ботинкам. Это отлично подходит для людей, которые используют расширение, но ужасно для разработчиков, которые их создают. В начале я обнаружил, что застрял в бесконечном цикле изменений чего-то в своем расширении, нажав на обновление и не увидев этих изменений. Затем я узнал, что мне нужно очистить кэш браузера, чтобы увидеть изменения, но кто захочет чистить кэш браузера после каждого изменения. Наконец, я обнаружил, как сделать жесткое обновление, и моя жизнь уже не была прежней.

Библиотеки JavaScript и API

С учётом того, что я читал о базовом JavaScript, HTML и CSS, я, скорее всего, никогда не создам расширение Qlik Sense, не используя внешнюю библиотеку JavaScript, такую как D3.js, или API с некоторыми сторонними инструментами, такими как API Google-карт. Я пришел к выводу, что чем больше библиотек и API, которые я буду использовать, тем богаче мои расширения. Для моего первого расширения Qlik Sense я прочитал API Google-карт и использовал все, что я изучил до этого момента, чтобы расшифровать и настроить код примера. Следующим шагом в моем процессе стать разработчиком Qlik Sense – нужно найти онлайн ресурсы, которые рассказывают о последних и самых больших изменениях в веб-разработке, и я надеюсь найти новые библиотеки JavaScript для изучения.

API Google-карт и RequireJS

В своем предыдущем посте я объяснял, что у меня было с RequireJS, когда я следил за расширением Qlik Sense. У меня возникла еще одна проблема при попытке добавить API Google-карт в свое первое расширение через RequireJS. К счастью, Miller Medeiros разработал решение и задокументировал как оно работает в своем блоге. Я скопировал async.js в папку своего расширения и затем добавил следующую строку в массив модулей. (Создайте свой собственный код API Google и используйте его для замены myAPIKey.)

1

2

3

4

5

define( [ …,

 

«./async!https://maps.googleapis.com/maps/api/js?key=myAPIKey&amp;amp;amp;callback=initMap»

 

],…

Самый простой способ добавить HTML

Изучив использование jQuery для добавления тегов HTML в виде цепочки функций, я увлекся и попытался использовать этот метод для создания макета HTML для своего первого расширения. После нескольких неудачных попыток я обнаружил, что было бы проще сохранить простые вещи, выписав HTML в переменную, а затем использовать один jQuery append(), чтобы добавить все это одним махом.

1

2

3

4

5

6

7

8

9

10

11

12

13

divs += «<div id=’left_column’>»;

divs += «<div class=’desc_wrapper’><div class=’desc’>» + originLabel +»</div></div>»;

divs += «<div id=’pano_origin’></div>»;

divs += «<div class=’desc_wrapper’><div class=’desc’>» + destinationLabel + «</div></div>»;

divs += «<div id=’pano_destination’></div>»;

divs += «</div>»;

 

divs += «<div id=’right_column’>»;

divs += «<div class=’desc_wrapper’><div class=’desc’ id=’distance_time’></div></div>»;

divs += «<div id=’map_route’></div>»;

divs += «</div>»;

 

$element.append(divs);

Разработчик Qlik Sense. Шаг №2a: Основы расширений Qlik Sense

После первого раунда изучения Web Dev Fundamentals было много вещей, связанных с JavaScript, которые все еще смущали меня. Тем не менее, я хотел наконец применить эти знания в Qlik Sense, и был уверен, что JavaScript станет менее запутанным, поскольку я продолжал изучать его. (Это оказалось правдой, когда я позже нашел отличный онлайн-курс в Udemy, который называется «JavaScript: Understanding the Weird Parts», он прояснил смысл многих особенностей JavaScript).

Веб-разработка в Qlik Sense

Мой первый шаг после прочтения общих ресурсов веб-разработчиков заключался в том, чтобы найти документацию о том, как применить это обобщенное знание к разработке Qlik Sense. Первой моей остановкой был учебник по расширениям Qlik Sense Стефана Вальтера. Однако позже я узнал, что учебное пособие Стефана является основой для того же руководства в официальной справочной документации Qlik Sense, поэтому я рекомендую вам перейти непосредственно к онлайн-справке Qlik.

AngularJS

В учебном курсе есть раздел об AngularJS, но я решил все упростить и пропустил эту часть учебника. Я послушал совета Александра Карлсона о том, что знание AngularJS не является необходимым навыком для создания расширения, и он был прав. Если вы еще не знаете AngularJS, я бы порекомендовал вам не втягиваться в его обучение, прежде чем создавать свое первое расширение.

RequireJS

В отличие от AngularJS, вам понадобится базовое понимание RequireJS для создания расширения. RequireJS позволяет включать внешние JavaScript, CSS или HTML-файлы (или модули) в код расширения. Это поможет вам включить библиотеки, такие как D3.js, и сохранить свой собственный код в порядке. Он также является эффективным способом обработки зависимостей кода.

В книгах и на занятиях для веб-разработчиков изучается следующий способ включения внешних файлов сценариев и файлов CSS.

<script type=»text/javascript» src=»script.js»>

<link rel=»stylesheet» type=»text/css» href=»css/layout.css»>

Когда мы пишем расширение, то включаем внешние файлы с использованием RequireJS, и используем следующий синтаксис определения асинхронного модуля (AMD).

define( [«./script»,

«css!./css/layout.css»

],

function( object1 ) {

}

);

Первый параметр функции define() – это массив внешних зависимостей, которые ваше расширение Qlik Sense должно выполнить правильно, а второй параметр – анонимная функция, в которой вы собираетесь писать код своего расширения. Часть этого кода, которая была неясна для меня, когда я проходил ее в учебнике, была связана с отношениями между файлами в массиве и параметрами анонимной функции.

Если внешний файл скрипта возвращает что-то, то это передается как аргумент анонимной функции. Например, в предыдущем коде, если файл script.js (обозначенный как «./script» в массиве) возвращает объект, тогда этот объект передается в анонимную функцию в качестве параметра object1. Затем мы можем использовать этот параметр для ссылки на этот объект в коде расширения.

В какой-то момент в учебном пособии по расширениям Qlik Sense нам советуют отделить определение панели свойств расширения в другом файле JavaScript, чтобы упростить чтение нашего кода. Затем нам предлагают использовать RequireJS для включения файла в основной файл сценария и передачи объекта, который он возвращает в анонимную функцию. Когда я сделал это упражнение, все в панели свойств расширения неожиданно исчезло. Можете ли вы догадаться, что я сделал неправильно? Мой код выглядел примерно так:

define( [«./script»,

«css!./css/layout.css»,

«./props»

],

function( object1, props ) {

}

);

После часа отладки я обнаружил, что упустил из виду. Проблема с предыдущим кодом заключается в том, что параметры анонимной функции должны совпадать с файлами в массиве. Первый параметр соответствует первому внешнему файлу, второй параметр – второму внешнему файлу и т. д. Я непреднамеренно передал объект CSS в параметр (props), который, как я предполагал, будет определением панели свойств.

Чтобы исправить проблему, я мог бы определить новый параметр css и поместить его между object1 и props. Однако я решил не создавать параметры, которые я не собирался использовать и изменил порядок внешних файлов в массиве. Поэтому я исправил панель исчезающих свойств, используя следующий код.

define( [«./script»,

«./props»,

«css!./css/layout.css»

],

function( object1, props ) {

}

);

Когда я вспоминаю это шесть месяцев спустя, эта ошибка кажется совершенно очевидной. Однако в то время все было новым, и только после того, как я совершил эти ошибки, я начал учиться.

Уроки выучены

Помимо этой проблемы, остальная часть учебника по расширениям Qlik Sense прошла гладко. Я не могу сказать, что уже все понял, но я получил достаточно знаний, чтобы сделать собственное расширение. Я закончил, ответив на следующие вопросы.

  • Как мне написать код чего-то, что появляется в Qlik Sense?
  • Как создать свойства расширения и затем ссылаться на значения, присвоенные этим свойствам?
  • Как интегрировать расширение с помощью модели данных приложения Qlik Sense?

В этом уроке я также подумал, что узнал, как делать интерактивное расширение и фильтровать модель данных приложения. Однако, понимание того, как это сделать, не пришло до тех пор, пока я не разработал свое первое расширение, используя D3.js.

Другие ресурсы для начинающих

Есть не так много учебников для новичков в Qlik Sense. Следующий список – это те, которые я на данный момент сумел найти.

Учебник: как построить расширение Qlik Sense с помощью D3 от Спероса Кокенеса

Этот учебник выходит за рамки «Hello World» и расширения таблиц, которые мы создаем в официальном учебном пособии по расширениям Qlik Sense, и, следовательно, это отличное продолжение.

Серия видеороликов о создании расширений в Qlik Sense от Спероса Кокенеса

Эта серия видеороликов включает в себя пару тем, которые вам не обязательно изучать, чтобы создать первое расширение (например, D3.js, функция изменения размера), но я бы не рекомендовал смотреть его на ранней стадии, а вернуться к нему после, когда ваши навыки улучшились. Также полезно прислушаться к мыслительному процессу Спероса, когда он создает свое расширение.

Начало разработки расширений для визуализации – Qlik Sense от Qlik

Это видео показывает другой способ создания расширений через Qlik Dev Hub.

Разработчик Qlik Sense. Шаг №1: основы веб-разработки

Являясь разработчиком QlikView, я наслаждаюсь свободой, которую дает мне QlikView при настройке внешнего вида одной диаграммы или макета всей панели инструментов. На первый взгляд, Qlik Sense упрощает создание визуальной аналитики за счет этой свободы. Однако, если вы углубитесь в изучение этого вопроса, и воспользуетесь преимуществами соответствующих API, то обнаружите, что Qlik Sense позволяет вам делать больше, чем вы могли бы сделать в QlikView.

Единственной загвоздкой для разработчика QlikView является то, что необходимо добавить веб-разработку в набор навыков.

Установка требований

В классе дизайнеров и разработчиков QlikView мы изучаем каждую функцию скрипта и функцию-выражение, которую должны знать большинство разработчиков. Однако, для новых разработчиков не редкостью является борьба с тем, чтобы понять, как эти функции применяются в реальных ситуациях. Они также склонны забывать ряд концепций, которые не связаны с их текущими потребностями. Несмотря на это, у них есть достаточно общих знаний, чтобы создать свои первые приложения QlikView. Только после того, как они создадут свои первые приложения QlikView, а затем прочтут обширную книгу о QlikView, такую как QlikView 11 для разработчиков, или QlikView Для Вашего Бизнеса, их мозг начинает понимать все концепции, которые они изначально узнали и забыли во время обучения на QlikView Designer and Developer.

Я думаю, что этот процесс будет таким же, как мое обучение созданию расширения визуализации Qlik Sense, а затем, мэшапов. Десять предложенных мною шагов не являются водопадным типом процесса разработки, а скорее серией итерационных шагов, которые необходимо постоянно повторять с течением времени. Другими словами, я не ожидаю, что, прочитав одну книгу о JavaScript узнаю все, что необходимо знать о предмете. Я планирую повторить шаг 1 и провести анализ основ веб-разработки на протяжении всего учебного процесса.

Основы веб-разработки

Александр Карлссон, инженер по связям с разработчиками в Qlik, сформулировал тезис, что существенные элементы, которые необходимо понять, чтобы стать разработчиком Qlik Sense, — это HTML, CSS и JavaScript.

HTML

HTML – это средство создания структуры расширения визуализации Qlik Sense. Он позволяет создавать несколько элементов, таких как текст, таблицы, разделы страниц, изображения и масштабируемые векторные графики (SVG). Синтаксис довольно прост в освоении. Например, мы используем тег <h1> для определения текстового заголовка. Мы помещаем желаемый текст в виде заголовка между открывающим тегом <h1> и закрывающим тегом </ h1>. Основной заголовок этого раздела создается с использованием следующего HTML.

<h1>Web Development Fundamentals</h1>

CSS

Визуальный стиль расширения определяется с помощью CSS. HTML и CSS настолько тесно переплетены, что часто их изучают вместе. Он позволяет определять шрифт, цвет фона, границу, положение и другие визуальные свойства HTML-элемента. Например, продолжая наш пример HTML из предыдущего абзаца – чтобы все главные заголовки отображались красным цветом мы используем следующий код CSS:

h1 {

color: red;

}

Подобно HTML, синтаксис CSS также довольно прост в изучении. Хитрость использования обоих языков заключается в том, чтобы запомнить, какие теги и свойства стиля доступны, и вспомнить, какое влияние оказывает каждое свойство стиля на каждый тег. Когда я пишу свой собственный код, я открываю руководство  w3schools.com, чтобы я мог постоянно находить и экспериментировать с наиболее распространенными элементами HTML и CSS.

JavaScript

Наконец, мы используем JavaScript для динамического определения HTML и CSS, которые составляют расширение Qlik Sense. Например, мы могли бы добавить заголовок к расширению, используя следующий код JavaScript.

$element.append( «<h1>Web Development Fundamentals</h1>» );

Это расширение было бы довольно статичным и скучным. Однако, изучив немного больше JavaScript, мы сможем изменить статические теги и текст динамических элементов, определяемых пользователем. Другими словами, мы используем JavaScript, чтобы заставить HTML и CSS реагировать как на данные, так и на пользователя.

JavaScript изучить сложнее, чем HTML или CSS. Следующая схема для обучения интерфейсу веб-разработки была создана пользователем GitHub kamranahmedse. Это дает нам общее представление обо всех средах, инструментах и библиотеках, которые связаны с частью веб-разработки JavaScript.

Хотя, приведенная выше схема предполагает, что мы начинаем выстраивать значения после изучения этих концепций, мы можем и должны начать создавать веб-расширения Qlik Sense, как только узнаем основы. Далее мы можем постепенно накапливать знания, как только начнем применять их на практике.

Изучая основы, я рекомендую вам изучить  DOM и  jQuery. Когда я впервые начал изучать JavaScript, я думал, что методы, которые взаимодействуют с документами  HTML (например, document.getElementById()), являются родными для JavaScript. Позднее я узнал, что они фактически являются частью API под названием DOM. Большинство ресурсов обучающих JavaScript включают DOM, поскольку это важная часть языка. Это также неотъемлемая часть развития расширения Qlik Sense.

jQuery не так важен при обучении DOM, но он довольно распространен и подбирается относительно легко. В общем, он предлагает нам более простой способ манипулирования DOM и управления отдельными элементами HTML , CSS. Например, append(), который я использовал выше для добавления заголовка в расширение, на самом деле является методом jQuery. В качестве доказательства его популярности я действительно узнал о нем из примера кода в разделе справки Qlik Help’s о том, как создавать свои первые расширения.

Образовательные ресурсы

Мой первый шаг к обучению HTML, CSS и JavaScript заключался в том, чтобы найти книгу для новичка с кратким изложением сути. Получив общее представление о веб-разработке, после первого круга прочитанных книг, я продолжал искать другие ресурсы, которые предлагают новые перспективы и повышают накопленные знания. Ниже приведен составленный мною рабочий список ресурсов, касательно создания расширений Qlik Sense.

Книги

A Smarter Way to Learn HTML & CSSA Smarter Way to Learn JavaScriptA Smarter Way to Learn jQuery

Автор: Марк Майерс

Формат: Книга

Платный: Да

Уровень: Новичок

Эти три книги отлично подходят для всех, кто не знает, что такое веб-разработка. Также, они являются хорошим пособием для тех, у кого мало опыта, и кто хочет убедиться, что у них есть понимание основ. Каждая глава включает 20 хорошо подготовленных интерактивных упражнений. Каждая глава, также настолько короткая и сфокусирована на определенном вопросе, что у вас никогда не будет оправдания, чтобы не изучать, по крайней мере, одну главу в день. Мое единственное предостережение – не увязните, выполняя все упражнения. Я рекомендую вам делать только первые несколько упражнений из каждой главы, чтобы «включить умственные механизмы» и стимулировать мозг. Если выполнять все упражнения каждой главы, вы рискуете, быстро утомится  и потерять интерес. Даже если вы новичок в веб-разработке, вы сможете сделать свои первые расширения после прочтения этой серии.

HTML and CSS: Design and Build Websites

Автор: Джон Даккет

Формат: книга
Оплата: да
Уровень: новичок

Я решил купить эту книгу, потому что это бестселлер №1 на Амазоне, и после его прочтения я начал задаваться вопросом, как часто бестселлером №1 становятся вследствие самоуничтожения. Книга, которая досадно доступна только в неэлектронном формате, является эстетически приятной и хорошей альтернативой A Smarter Way to Learn HTML & CSS, но нет необходимости читать и то, и другое. Я по-прежнему предпочитаю серии Smarter Way, потому что они доступны в электронном формате и включают в себя легкодоступные интерактивные упражнения. К сожалению, когда я читаю бумажные книги с сопроводительным кодом, я тоже часто попадаю в ловушку со скрытием кода.

HTML and CSS: Design and Build Websites  — не новая книга. Ее опубликовали в 2011 году, и она заставила меня подумать, предоставляют ли последние версии каждого языка HTML5 и CSS3 подходящие функции разработчикам Qlik Sense. Большинство анонсов о том, что должно было произойти, например, тег видео HTML5, не имеют большого значения. Надеюсь, я смогу ответить на этот вопрос и изучить современные методы после прочтения своей следующей книги HTML и CSS.

You Don’t Know JS: Up & Going

Автор: Кайли Симпсон

Формат: книга
Оплата: нет
Уровень: средний / профессиональный

Это – первая книга в серии, имеющей аналогичное название. Электронная книга бесплатная, а название обманчиво привлекательно для тех, кто действительно не знает JavaScript. Прочитав ее, я обнаружил, что название было на самом деле вызовом для тех, у кого есть опыт работы с JavaScript, но они, возможно, не будут использовать его в полном объеме. Я подожду, чтобы прочитать следующую часть книги, когда у меня будет немного больше опыта.

JavaScript: The Good Parts

Автор: Дуглас Крокфорд

Формат: книга
Оплата: да
Уровень: средний / профессиональный

Я начал читать эту книгу после изучения базового JavaScript, и быстро почувствовал перегрузку содержанием. Было пройдено около 25% книги, и на полпути через раздел о функциях я сдался. Содержание было слишком абстрактным, чтобы понять все, о чем повествовал автор. Опять же, это может быть читабельным, если уже есть достаточно опыта и Вам необходимо заполнить некоторые пробелы.

Пока я продолжу следующие шаги, чтобы стать разработчиком Qlik Sense, я буду читать следующие книги:

JavaScript and JQuery: Interactive Front-End Web Development Джон Дакетт (платно)

Interneting is Hard (But it doesn’t have to be) Оливер Джеймс (бесплатно)

Онлайн-курсы

После первых моих онлайн-курсов я не думаю, что когда-нибудь буду читать другую книгу по программированию. Это было лучшее, что со мной случилось, так как я впервые узнал о Qlik. Вот мои отзывы о курсах, которые я сделал до сих пор.

JavaScript: Understanding the Weird Parts

Лектор: Энтони Алиси
Формат: он-лайн курс
Оплата: да
Уровень: средний / профессиональный

После того, как я пытался понять You Don’t Know JS: Up & Going и JavaScript: The Good Parts я был обеспокоен тем, что не смог бы сделать больше, чем базовый JavaScript. Это было до тех пор, пока я не начал заниматься на этом курсе. Способность Энтони Алиси полностью объяснить сложные детали JavaScript поразительна. Вы можете посетить этот курс после изучения основ из курсов A Smarter Way to Learn JavaScriptA Smarter Way to Learn jQuery или JavaScript Road Trip.

JavaScript Learning Path by Code School
Лектор: различные
Формат: он-лайн курс
Оплата: да
Уровень: средний / профессиональный

Если у вас уже есть опыт программирования на каком-то другом языке, это – более быстрый и более разумный способ изучения JavaScript а также, более разумный способ изучения jQuery для изучения основ JavaScript. В нем хорошо выполнен переход на более сложные и продвинутые темы.

HTML/CSS Learning Path by Code School

Лектор: различные
Формат: он-лайн курс

Оплата: да
Уровень: средний / профессиональный

Как и курс обучения JavaScript Learning Path by Code School, это скорее быстрый, чем разумный способ изучения JavaScript и более разумный способ изучения jQuery для базовых HTML и CSS. Основы не сильно отличаются от того, что я узнал почти два десятилетия назад, поэтому неплохо взять курс по HTML5 и CSS3. Что касается развития Qlik Sense, то CSS3 оказывает более сильное воздействие чем HTML5.

Список текущих онлайн-ресурсов, которые мне еще предстоит использовать.

Codecademy – JavaScript

Udacity – JavaScript

Microsoft – JavaScript

Alison – JavaScript and jQuery

Обучение разработчиков Google  – HTML, CSS, and JavaScript

Рекомендации по развертыванию самообслуживания с помощью Qlik Sense

Независимо от того, будет ли использование Qlik Sense в компании успешным, это не только вопрос его возможностей и функциональности. Оценка его пригодности для заданной цели выходит за рамки простого перебора списка функций, определяющих, что возможно в Qlik Sense, а что нет.

Для хорошего внедрения инструмента ИТ необходимо подготовить среду, определить ключевых пользователей в организации и привлечь их к использованию этой технологии.

Важно, чтобы им оказывали всестороннюю поддержку, особенно в начале, и им разрешалось управлять тем, как следует использовать технологию, а не ограничивать их готовыми принципами.

Управление должно быть всегда, но опытные пользователи никогда не должны чувствовать, что они им ограничены. Потому что, как только они начнут выигрывать, дальше все пойдет как по маслу и успех будет лишь вопросом времени.

Вот несколько важных моментов, которые необходимо учитывать при развертывании самообслуживания с Qlik Sense:

  • Qlik Sense не QlikView: даже не почти. Самая большая проблема и ошибка в том, что организации, которые купили Qlik или что-то еще, не просто получили следующую версию инструмента. Совсем не помогло и то, что сам Qlik много лет работал над новым продуктом Qlik Sense который сначала назывался Qlik.Next. Однако, чтобы вам ни говорили, проданный вам Qlik Sense в лучшем случае является кузеном QlikView. Семья та же, но никакого кровного родства. Другие мысли по этому поводу порождают неверные ожидания, поэтому бизнес дает неверное посыл заинтересованным сторонам и не повышает осведомленность ИТ-специалистов о том, что самообслуживание в BI не может развертываться таким же образом, как и управляемая аналитика QlikView в этом случае. Разочарование неизбежно, когда заинтересованные стороны осознают, что Qlik Sense не может копировать панели мониторинга QlikView.
  • Не думайте, что простая установка Qlik Sense создает вам среду самообслуживания в BI: установка Qlik Sense и предоставление пользователям доступа к инструменту – это начало, но здесь нужно выполнить гораздо больше, чем просто установить ПО.

Инфраструктура требует проектирования и планирования, обработки качества данных, их сбора и определения того, кто собирается использовать эти типы данных. Если данные недоступны пользователю, аналитика данных не имеет определенной цели. Удостоверьтесь, что хранилище данных или аналогичное устройство на месте, и у бизнеса есть прецедент для анализа данных для самообслуживания. Хорошим показателем для этого является то, что бизнес или проект работают с большим количеством данных, и есть бизнес-пользователи, у которых есть большое количество таблиц Excel, которые по-разному применяют для его анализа. Это ваш лучший кандидат на Qlik Sense.

  • IT необходимо сделать шаг назад и мониторить среду Qlik Sense, а не контролировать ее: IT-специалисты должны научиться изучать новые вещи, и то же самое относится к развертыванию самообслуживания. Создайте структуру с рекомендациями и принципами и следите за тем, чтобы пользователи следовали им, вместо того, чтобы ограничивать их возможности. Эта структура должна также допускать включение вклада пользователей и быть эластичной. Кроме того, не многие IT-специалисты согласны с предоставлением пользователю слишком широких прав в процессе разработки, полагая, что это приведет к хаосу и анархии. В то время как существует определенный риск, этот страх необходимо преодолеть. Пользователи любят аналитику данных, и они стремятся получить помощь IT-специалистов, чтобы создать наиболее ценную панель мониторинга и обеспечить, чтобы ее хорошо воспринимала широкая аудитория.
  • Определите ключевых пользователей и группы пользователей. Для хорошего внедрения IT-инструмента, необходимо подготовить среду и определить ключевых пользователей в организации и привлечь их к использованию этой технологии.

Важно, чтобы их интенсивно поддерживали, особенно в начале, и чтобы им разрешалось управлять тем, как следует использовать технологию, а не иметь собственные принципы. Управление должно всегда быть, но опытные пользователи никогда не должны чувствовать, что они ограничены этим. Потому что, как только они почувствуют успех, дальше все пойдет как по маслу и адаптация других пользователей будет лёгкой.

  • Qlik Sense продает хорошо – делайте много демок: аналитика данных, убедительные визуализации и интерактивность Qlik Sense – это то, в чем заинтересованы почти все. Бизнес хочет видеть свои собственные данные, собранные, отфильтрованные и представленные на отличной глянцевой панели. Используйте момент и делайте как можно больше демо-версий, чтобы заполучить больше сторонников технологии и продвинуть идею перехода в культуру данных в организации. Даже самые простые панели для мониторинга Qlik Sense удивляют людей и повышают их творческий потенциал для использования в тех случаях, когда аналитика данных в их области может применяться и создавать ценность.

Содействие сотрудничеству: совместное использование. Это относится не только к пониманию, которое, естественно, разделяется с волнением от того, что человек узнал что-то новое и ценное, а также о том, как было получено новое понимание. Люди хранят свои секреты в отношении подхода и методологии для себя, но это контрпродуктивно. Важно, чтобы приложениями, визуализаторами и панелями мониторинга, созданными с помощью Qlik Sense, делились и демонстрировали другим пользователям Qlik Sense как можно чаще.

Это не только способствует продвижению культуры работы с данными, но и поощряет сотрудничество пользователей и команд по различным бизнес-функциям, чего бы иначе не было. Они могут либо делиться знаниями, советами и уловками, либо даже понимать, что смотрят на одни и те же фрагменты данных и могут создать дополнительную ценность, объединив их.

  • Развивайте успех Qlik Sense в организации: если проект успешно выполнен с помощью Qlik Sense, расскажите об этом другим. Создайте историю успеха и предложите провести демонстрации панели управления и ее аналитики. Исторически сложилось так, что IT очень плохо подходит для продвижения своей работы, а это – контрпродуктивно. Аналитика данных создает ценность, и нет ничего зазорного в том, чтобы похвастаться своим успехом; как говорил Мухаммед Али: «если это правда – это не хвастовство».
  • Внедрите рекомендации по дизайну и терминологии: избегайте ситуаций, когда есть несколько панелей различного вида в продвижении последовательного брендинга, просматривая все панели и приложения Qlik Sense, включая терминологию и лучшие практики. Убедитесь, что документ легко доступен всем пользователям. Кроме того, создайте предварительно настроенные шаблоны с листами образцов, чтобы пользователи дублировали их и изменяли на свой вкус, с возможностью расширения, применяя один и тот же дизайн.

  • Защитите неопытных пользователей от сложностей: не давите на пользователей, если они никогда не развивались в данном направлении. Подходите к менее технически подкованным пользователям по-другому, предоставляя им образцы данных и образцы шаблонов, включая библиотеку предопределенных визуализаций, измерений или мер (так называемые основные ключевые элементы). Имейте в виду, что то, что интуитивно понятно для профессионалов Qlik или опытных пользователей, не обязательно будет интуитивно понятно другим пользователям – будьте терпеливы и благодарны за отзывы и постарайтесь понять, как может думать типичный бизнес-пользователь.

Выводы

Qlik проложил новый путь, разработав новый продукт под названием Qlik Sense. В отличие от QlikView, новая технология фокусируется на предоставлении возможностей BI для самообслуживания бизнес-пользователей, позволяя им создавать свою собственную аналитику данных в соответствии с их требованиями в собственном темпе. Модель самообслуживания BI значительно отличается от традиционных инструментов BI тем, что она включает конечного пользователя в процесс разработки, и поэтому подходить к ней нужно по-своему.

Модель самообслуживания имеет собственные цели и динамику. Ее четырьмя основными точками являются простые и настраиваемые интерфейсы конечных пользователей, легкий доступ к исходным данным, простые в использовании инструменты BI, быстрое развертывание и простая в управлении архитектура. Она создает благоприятную для бизнеса среду, в которой сами пользователи имеют свободу развиваться по-своему. Хотя самообслуживание и предлагает множество функций, не все пользователи могут или хотят использовать все это.

Некоторые пользователи проявляют большой интерес к самообслуживанию, в то время как другие больше заинтересованы в получении ответа в усложненной и своевременной форме. Различные группы пользователей можно просуммировать и упорядочить по уровню сложности в IT, опытных пользователей, бизнес-пользователей и потребителей. Идентификация этих групп играет важную роль в разработке архитектуры среды самообслуживания с Qlik Sense. Опытные пользователи – это самые активные пользователи, нужно завоевать их в качестве сторонников технологии: они создают информационные панели и продвигают их в бизнес без значительного вклада от IT. Это может сделать Qlik Sense очень рентабельным, как решение для BI.

Ускоренное время разработки, расширение прав и возможностей пользователей, эффект IKEA и мобильные возможности – все это значимые преимущества Qlik Sense, которые позволяют организациям стать более ориентированными на данные, чтобы получить возможность принимать более эффективные, своевременные и обоснованные решения для своего бизнеса. Проблемы и риски в основном связаны с отсутствием руководства, которое сопровождается аспектом самообслуживания Qlik Sense, включая необходимые инвестиции в обучение. Qlik Sense прост в установке, для того, чтобы извлечь наибольшую ценность из Qlik Sense, должны быть доступными надежные источники данных.

Без значимых данных аналитика данных не будет значительным дополнением для бизнеса. Поэтому важно принять во внимание различные организационные соображения, прежде чем принимать решение о развертывании Qlik Sense. Рекомендации кратко изложены здесь, причем в первую тройку входят: не думайте, что Qlik Sense можно развернуть так же, как QlikView; внедряйте управление, а не диктатуру управления, поощряйте сотрудничество для создания ориентированной на данные культуры со сторонниками Qlik Sense.

QlikView против Qlik Sense – пора переключаться?

Битва между QlikView и Qlik Sense продолжается уже несколько лет, но маятник общественного мнения, похоже, недавно качнулся в сторону Sense. Хотя оба продукта имеют разные цели и ориентированы на разные аудитории, кажется, что сообщество Qlik начинает отдавать предпочтение новому, более удобному для пользователя инструменту.

В этом посте мы рассмотрим все плюсы и минусы обоих продуктов и приведём свои аргументы в пользу того, что пришло время подумать о переходе на Sense.

В чем разница между QlikView и Qlik Sense?

Говоря откровенно, разница существенная. Хотя обе программы являются продуктами Qlik и построены на одной и той же ассоциативной модели, QlikView и Qlik Sense больше отличаются, чем похожи.

QlikView. По своей сути QlikView предназначен для ориентированной аналитики. Он предлагает квалифицированным разработчикам среду для создания интерактивных приложений для аналитики. QlikView больше привлекает пользователей, которые хотят создавать пользовательские приложения и свободно играть с данными, но в то же время должны иметь существенные технические навыки, чтобы в полной мере использовать это программное обеспечение.

С другой стороны, приложение Qlik Sense задумывалось больше для самообслуживания в BI и служит как для технически продвинутых, так и для бизнес-пользователей. Его невероятно удобный интерфейс и отзывчивый дизайн часто делают Sense более привлекательным для новых пользователей, поскольку он позволяет любому создавать визуализацию данных без каких-либо технических знаний. В сочетании с возможностями расширений, приложение становится еще более мощным и может легко использоваться для управляемой аналитики.

Разный подход к проектам

Основной задачей Qlik Sense является предоставление управляемой среды, в которой бизнес-пользователи могут свободно создавать приложения и аналитические материалы, при этом не требуются специализированные ИТ-разработчики или консультанты, чтобы создать такой проект. Конечно, некоторые более сложные приложения и информационные панели будут по-прежнему требовать классического подхода к разработке программного обеспечения; однако, по сравнению с QlikView, вопрос разработки смещается, и консультанту Qlik необходимо немного изменить свое мышление.

СБОР ТРЕБОВАНИЙ

Цель каждого нового проекта Qlik Sense – сделать так, чтобы следовать интересам бизнес-пользователя.

Понимание того, в чем заключаются недостатки эффективности, является ключом к сбору требований в Qlik Sense. В QlikView это всегда было просто: вам нужна панель инструментов, давайте ее спроектируем, и готово. Если вы хотите дать возможность бизнесу делать аналитику самостоятельно, вам нужно начать понимать, как они работают. Также важно распознать потребность в аналитике данных у бизнеса: довольны ли они самой аналитикой и есть ли у них все для нее?

Другим важным аспектом является понимание уровня технической сложности. Если в проекте или у компании нет достаточных технических возможностей, для них нет необходимости в существенной настройке анализа или в интерактивном создании моделей данных в сценарии загрузки. Лучше дать им простое решение, используя управляемые ключевые элементы.

Наконец, наиболее важным аспектом сбора требований, относящихся к Qlik Sense, которого нет в QlikView, является понимание того, на каких устройствах и как будет использоваться приложение Qlik Sense. В то время как QlikView был доступен почти исключительно на десктопных устройствах, Qlik Sense можно использовать на мобильных устройствах на ходу. В зависимости от того, где и как он будет использоваться, будут рассматриваться различные аспекты дизайна пользовательского интерфейса, контекст отображаемых данных, а также интегрируемость с другими платформами и технологиями (например, вы не можете экспортировать в файлы XLS на ваш iPad).

РЕАЛИЗАЦИЯ

В QlikView фаза реализации была преимущественно ориентирована на разработчиков и ИТ-специалистов. Гибкие процессы разработки позволили поддерживать замкнутый цикл обратной связи с бизнесом. Хотя то же самое возможно и в Qlik Sense, вопрос заключается в том, станет ли бизнес частью реализации.

Если пользователь активно участвует в процессе разработки, реализация проектов Qlik Sense становится весьма интерактивной. Вместо того, чтобы тесно сотрудничать с бизнесом в своем приложении, вы можете начать активно привлекать пользователя к самой разработке. Ваше участие в таком сценарии будет зависеть от создания расширений для пользователей и написания модели данных, а также планирования архитектуры среды Qlik Sense.

ПОДДЕРЖКА

Фаза поддержки не сильно выражена в QlikView, если мы не рассматриваем обслуживание сервера Qlik и обучение пользователей. Возможно, вам придется реагировать на проблемы, связанные с некорректными данными или случайным вопросом пользователя, но помимо этого пользователь просто использует приложение, вот и всё. Если есть новые идеи и требования, которые необходимо реализовать, они обычно записываются и реализуются в новой версии того же приложения. Для статических приложений в Qlik Sense, где пользователи не могут добавлять контент в приложение, имеем то же самое.

Однако, когда пользователь имеет разрешение и ему дается право создавать свои листы и объекты визуализации в приложении, фаза поддержки приложения становится неотъемлемым аспектом развертывания Qlik Sense. Поскольку пользователи могут создавать не только свои листы, но и продвигать эти листы в тематических сообществах, где все остальные пользователи могут их увидеть, фаза поддержки быстро превращается в ресурсоемкую процедуру, которая в зрелой среде Qlik Sense может стать повседневной работой консультанта.

В заключение, отметим, что самообслуживание на месте является основной маркетинговой фишкой технологии Qlik Sense, при этом техническая поддержка является важнейшей, здесь роль консультанта Qlik Sense напоминает модель DevOp.

Почему Sense быстро набирает популярность?

Хотя у нас нет каких-либо научных доказательств, подтверждающих наши претензии, у нас есть много анекдотических доказательств, указывающих на один простой факт: Sense быстро приобретает популярность среди бизнес-пользователей. И вот почему:

Спрос на самообслуживания в BI растет, и Sense в этом плане предлагает большую независимость. У Sense есть пользовательский интерфейс, который значительно облегчает разработку менее технологически продвинутым пользователям, они могут публиковать свои собственные визуализации данных и результаты своего анализа. Особенно впечатляет его функция перетаскивания. Она позволяет пользователям просто перетаскивать новые наборы данных прямо в приложение или использовать несколько источников данных.

Qlik Sense реагирует на размер экрана и соотношение сторон устройств. Создание отзывчивых приложений в QlikView всегда означало дополнительную работу и хлопоты (а также потерю документов), но с Sense такого точно не будет. Диаграммы и навигация не только адаптируются к размеру экрана, но, когда это необходимо, слова могут стать значками для экономии места, или значки могут полностью исчезнуть. Отзывчивый дизайн в Qlik Sense выполнен на очень высоком уровне.

Qlik Sense предлагает быстрый способ получить данные. В деловой среде ценят скорость. Необходимость быстрого получения данных и удовлетворения ожиданий бизнес-пользователей является одной из ключевых причин, побуждающих пользователей QlikView экспериментировать с Sense. Многие хотят запустить его параллельно с QlikView – отчасти потому, что им интересно узнать, что же так рекламируется, а отчасти потому, что этот программный продукт действительно нужен в бизнес-организациях, управляемых данными.

В своей книге «Mastering Qlik Sense» Мартин Малер, соучредитель и исполнительный директор Vizlib, пишет:

 «Если вы имеете опыт работы с QlikView, в какой-то момент переход на Qlik Sense станет неизбежным. Хотя эта технология является новой и немного отличается, есть много навыков передачи, включая язык выражения Qlik с установленным анализом. И хотя QlikView и Qlik Sense разработаны одной компанией и у них один и тот же сервер данных, это не значит, что они на 100% идентичны. В Qlik Sense вводится новый способ предоставления аналитики данных с использованием самообслуживания. Qlik Sense полностью основан на веб-интерфейсах, и поэтому важную роль играют новые языки программирования, такие как JavaScript, CSS и HTML5. Ключевым отличием, здесь является расширяемость Qlik Sense, при использовании вышеупомянутых языков программирования. Расширение знаний, а также интеграция Qlik в другие платформы становятся оптимальным вариантом использования, а вместе с ним необходимы и новые наборы навыков для успешного внедрения Qlik Sense в проекты».

Что нужно учитывать перед переходом на Qlik Sense?

Речь идет не о «лучшем решении» или «лучшем инструменте». Речь идет о выборе лучшего инструмента для работы. Поэтому, прежде чем принимать какие-либо решения, рассмотрите следующие вопросы:

  • Кто ваши основные пользователи и как они будут использовать приложение? Какие функции необходимы?
  • Насколько грамотны ваши пользователи данных?
  • Какие возможности самообслуживания необходимы?
  • Каким будет ваш подход к управлению данными?
  • Какими полномочиями вы хотите наделить ваших пользователей, когда они будут создавать визуализацию данных и отчеты?

Кроме того, стоит иметь в виду, что переход от QlikView к Qlik Sense также потребует некоторого перестроения.

Несмотря на то, что существует много совпадений, наиболее существенным различием между этими двумя технологиями является введение нового необходимого набора навыков, JavaScript в Qlik Sense, который начинает занимать большую часть времени разработчика по сравнению с тем, что было в разработке в QlikView.

Второе самое большое изменение – сокращение компактного вывода информации, требуемого в Qlik Sense. Хотя он интуитивно понятен, потребность в нем уменьшается благодаря внедрению основных возможностей самообслуживания Qlik Sense. Основным пользователем, создающим панели и диаграммы, является сам пользователь. Это также объясняет, почему количество времени, затрачиваемое на обучение пользователя, значительно увеличилось, так как разработчику необходимо будет научить клиента использовать фундаментальный набор анализа, выражения и, возможно, поделиться некоторыми эффективными практиками в области визуализации данных.

68 queries in 0,362 seconds