<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Qlik Sense Developers - Qlik Sense - Обучение, учебник, онлайн курс</title>
	<atom:link href="https://qliksense.ivan-shamaev.ru/tag/qlik-sense-developers/feed/" rel="self" type="application/rss+xml" />
	<link>https://qliksense.ivan-shamaev.ru/tag/qlik-sense-developers/</link>
	<description>Qlik Sense на русском языке. Пошаговые уроки для изучения Клик Сенс</description>
	<lastBuildDate>Mon, 26 Aug 2019 03:04:40 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>

<image>
	<url>https://qliksense.ivan-shamaev.ru/wp-content/uploads/2018/07/QlikSense_ICON2-150x150.png</url>
	<title>Qlik Sense Developers - Qlik Sense - Обучение, учебник, онлайн курс</title>
	<link>https://qliksense.ivan-shamaev.ru/tag/qlik-sense-developers/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Концепт Hypercube для Qlik Sense Developers</title>
		<link>https://qliksense.ivan-shamaev.ru/hypercube-concept-for-qlik-sense-developers/</link>
					<comments>https://qliksense.ivan-shamaev.ru/hypercube-concept-for-qlik-sense-developers/#respond</comments>
		
		<dc:creator><![CDATA[qliksense-expert]]></dc:creator>
		<pubDate>Mon, 19 Aug 2019 15:02:36 +0000</pubDate>
				<category><![CDATA[Уровень 2]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[initialProperties]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[qDimensions]]></category>
		<category><![CDATA[qHyperCubeDef]]></category>
		<category><![CDATA[qInitialDataFetch]]></category>
		<category><![CDATA[Qlik Data Engine]]></category>
		<category><![CDATA[Qlik Engine]]></category>
		<category><![CDATA[Qlik Sense Developers]]></category>
		<category><![CDATA[qMeasures]]></category>
		<category><![CDATA[Концепт Hypercube]]></category>
		<guid isPermaLink="false">https://qliksense.ivan-shamaev.ru/?p=1470</guid>

					<description><![CDATA[<p>HyperCube HyperCube можно считать сердцем большинства визуализаций. Это определение cube, предоставляемое Qlik Data Engine, которое содержит всю информацию о том, какие данные запрашиваются и как они рассчитываются. Если выборка (selections) применяется к HyperCube, отображаются только выбранные значения. HyperCube можно визуально представить как обычную прямую таблицу в Qlik с набором измерений<a class="moretag" href="https://qliksense.ivan-shamaev.ru/hypercube-concept-for-qlik-sense-developers/"> Читать дальше&#8230;</a></p>
<p>Сообщение <a href="https://qliksense.ivan-shamaev.ru/hypercube-concept-for-qlik-sense-developers/">Концепт Hypercube для Qlik Sense Developers</a> появились сначала на <a href="https://qliksense.ivan-shamaev.ru">Qlik Sense - Обучение, учебник, онлайн курс</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">HyperCube</h2>



<p>HyperCube можно считать сердцем большинства визуализаций. Это определение cube, предоставляемое <strong>Qlik Data Engine</strong>, которое содержит всю информацию о том, какие данные запрашиваются и как они рассчитываются. Если выборка (selections) применяется к HyperCube, отображаются только выбранные значения.</p>
<p>HyperCube можно визуально представить как обычную прямую таблицу в Qlik с набором измерений и метрик, а также с дополнительными атрибутами.</p>
<p>Объект <code class="literal">qHyperCubeDef</code> играет значительную роль в создании визуализаций и других компонентов, которые в значительной степени зависят от механизма Qlik engine для расчетов.</p>



<h3 class="wp-block-heading">qHyperCubeDef</h3>



<p><code class="literal"></code><span style="font-size: inherit;"><code class="literal">qHyperCubeDef</code>&#8211; это описание объекта, который передается в API Qlik Engine для создания запроса для обработки. Большинство визуализаций, встроенных в Qlik Sense, основаны на определении HyperCube на корневом уровне (root level), то есть код расширения (extension) построен на этой технологии.</span></p>
<p>Фундаментальное определение <span style="font-size: inherit;"><strong>HyperCube</strong> (</span>гиперкуба) выглядит следующим образом:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="null">initialProperties:{
    version:1.0,
    qHyperCubeDef:{
    qDimensions:[],
    qMeasures:[],
    qInitialDataFetch:[{
        qWidth:2,
        qHeight:50
}]
  }
}</pre>
<p><strong>По-умолчанию</strong>, большинство расширений (extensions) не будут иметь никаких измерений или мер, определенных в их первоначальных свойствах (<code class="literal">initialProperties</code>), чтобы позволить пользователю достичь того же самого путем добавления измерений и метрики через панель свойств.</p>
<blockquote>
<p>Всегда добавляйте <code class="literal">initialProperties</code>, чтобы определить, сколько строк / столбцов доступно в вашем объекте JavaScript. При изменении начальных свойств <code class="literal">initialProperties</code> удалите и повторно добавьте расширение визуализации (<span>visualization extension)</span>; простого обновления страницы (F5) будет недостаточно.</p>
</blockquote>
<p>Размер фактического HyperCube в Qlik Engine определяется числом результирующих строк после его вычисления. Иногда HyperCube может быть огромным, и поэтому <strong>qInitialDataFetch</strong> позволяет вам определить, сколько из этих ячеек данных будет возвращено в код расширения. Это задается через параметры с <code class="literal">qWidth</code> и <code class="literal">qHeight</code>.</p>
<blockquote>
<p>Произведение параметров <span class="emphasis"><em>qWidth*qHeight</em></span> никогда не может превышать 10000 ячеек данных. Если вам необходимо вернуть более 10 000 ячеек данных для конкретного варианта использования или визуализации, вам потребуется реализовать последующую нумерацию (subsequent pagination) страниц в своем коде.</p>
</blockquote>



<h3 class="wp-block-heading">qHyperCubeDef properties &#8211; свойства</h3>



<p>Существует несколько высокоуровневых свойств, которые могут помочь изменить и установить базовый HyperCube, даже за пределами измерений и мер.</p>



<h4 class="wp-block-heading">qDimensions</h4>



<p><strong>qDimensions </strong>определяет массив измерений, которые будут использоваться в HyperCube. Обычно qDimensions определяется с помощью панели свойств, но это также может быть сделано вручную непосредственно в файле JSON. Последнее рекомендуется только для использования в мэшапах (mashup), когда вы определяете визуализацию на лету.</p>
<p>В дополнение к имени измерения (dimension name), Вы также можете определить параметры, такие как:</p>
<blockquote>
<ul type="bullet">
<li><code class="literal">qNullSuppression</code> &#8211; подавляет нулевые значения в измерении</li>
<li><code class="literal">qShowAll</code> &#8211; если задано значение true, отображает все значения измерений, независимо от того, выбраны ли они</li>
<li><code class="literal">qCalcCond</code> &#8211; устанавливает условие вычисления, которое должно быть выполнено для вычисления измерения</li>
<li><code class="literal">qTotalLabel</code> и <code class="literal">qOtherLabel</code> перемаркировка (переименовывание) меток Other и Total в возвращенном HyperCube</li>
</ul>
</blockquote>
<p>Если вы используете панель свойств (property panel) для определения измерений, простое использование этих свойств в качестве ссылочных значений позволяет вам определять их напрямую, например:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="null">suppressNulls:{
    type:"boolean",
    ref:"qNullSuppression",
    label:"Suppress Nulls",
    defaultValue: false
},</pre>



<h4 class="wp-block-heading">qMeasures</h4>



<p><code>qMeasures</code>&nbsp;очень похож на qDimensions, но помогает вам определить меры. Как и в случае с измерениями, они обычно задаются через панель свойств (property panel). </p>



<h4 class="wp-block-heading">qInitialDataFetch</h4>



<p><code>qInitialDataFetch</code>&nbsp;помогает определить, сколько ячеек данных первоначально извлекается из вычисленного HyperCube. </p>



<h4 class="wp-block-heading">qStateName</h4>



<p><code>qStateName</code>&nbsp;помогает определить имя альтернативного состояния, при этом $ (текущий выбор) является значением по умолчанию. Альтернативные состояния помогают создать виртуальный образ выборок, основанных на том же наборе данных, но не затронутых выборками, сделанными в других состояниях. В основном используется для сравнительного анализа. </p>



<h4 class="wp-block-heading">qInterColumnSortOrder</h4>



<p>Свойство <code>qInterColumnSortOrder</code>&nbsp;помогает определить порядок сортировки по столбцам в HyperCube. Он определяется с помощью массива целых чисел, например, [1,3,2,0], который указывает, в каком порядке будут сортироваться столбцы. </p>



<h4 class="wp-block-heading">qSuppressZero</h4>



<p><code>qSuppressZero</code>&nbsp;удаляет строки с нулевыми значениями во всей строке HyperCube, если установлено значение true. </p>



<h4 class="wp-block-heading">qSuppressMissing</h4>



<p><code>qSuppressMissing</code>&nbsp;удаляет строки, в которых отсутствуют значения по всей строке HyperCube, если установлено значение true. </p>



<h4 class="wp-block-heading">qMode</h4>



<p><code>qMode</code>&nbsp;определяет, в какой структуре будет возвращен HyperCube. По умолчанию и для большинства соответствующих случаев использования режим данных возвращается в виде таблицы. Дополнительные расширенные режимы доступны следующим образом:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Pivot Table&nbsp;representation &#8211; Представление сводной таблицы (<code>qMode P</code>)</p><p>Stacked Table representation &#8211; Представление Стековая таблица (<code>qMode K</code>)</p><p>Tree representation &#8211; Представление дерева (<code>qMode T</code>)</p></blockquote>



<p>Эти различные типы представлений являются расширенными и возвращают Вам предварительно агрегированный формат базовых измерений и мер, включая промежуточные итоги. </p>



<h4 class="wp-block-heading">qNoOfLeftDims</h4>



<p>Это свойство применяется к сводным таблицам и сложенным сводным таблицам.</p>



<p>В структуре сводной таблицы этот параметр используется, чтобы помочь определить, сколько и какие измерения заданы в виде строк, а какие повернуты по горизонтали (отображаются в столбцах). Это относительно продвинутый вариант, и дополнительную документацию по этому вопросу можно найти на странице справки Qlik Sense.</p>



<h4 class="wp-block-heading">qAlwaysFullyExpanded</h4>



<p>Это свойство применяется к сводным таблицам и сложенным сводным таблицам.</p>



<p>Это свойство гарантирует, что ячейки всегда раскрыты (Fully Expanded), если установлено значение true.</p>



<h4 class="wp-block-heading">qMaxStackedCells</h4>



<p>В сложенном режиме/в режиме с накоплением (qMode = K), этот параметр определяет максимальное количество ячеек для начальной выборки данных (по умолчанию 5000).</p>



<h4 class="wp-block-heading">qPopulateMissing</h4>



<p>Пропущенные значения или нули возвращаются как дефисы (-) в модели данных.&nbsp;<code>qPopulateMissing</code>&nbsp;заменяет числовые нули на 0, а строковые нули &#8211; пустыми строками.&nbsp; </p>



<h4 class="wp-block-heading">qShowTotalsAbove</h4>



<p>Если true, он возвращает итоговую строку в первой строке гиперкуба. Их также можно получить from&nbsp;<code>qHyperCube.qGrandTotalRow[i].qNum</code>. </p>



<h4 class="wp-block-heading">qIndentMode</h4>



<p>Это свойство применяется к сводным таблицам и сложенным сводным таблицам.</p>



<p>Это свойство применяет отступ для сводных таблиц и позволяет изменять макет таблицы (<code>layout</code>), добавляя отступ в начало каждой строки.</p>



<h4 class="wp-block-heading">qCalcCond</h4>



<p><code>qCalcCond</code>&nbsp;определяет условие вычисления для всего гиперкуба для вычисления. Это особенно полезно, когда у вас широкие таблицы с очень сложными вычислениями, и вы хотите убедиться, что пользователь отфильтровал подмножество данных перед запуском вычисления в движок Qlik. Тяжелые вычисления не только увеличивают время расчета, но и увеличивают использование RAM на вашем сервере Qlik Sense. </p>



<h4 class="wp-block-heading">qSortbyYValue</h4>



<p>Это свойство применяется к сводным таблицам и сложенным сводным таблицам.</p>



<p><code>qSortbyYValue</code>&nbsp;включает сортировку по возрастанию или убыванию в значениях меры.</p>



<h3 class="wp-block-heading">Возращаемая структура qHyperCube structure</h3>



<p><span>Как только </span><code class="literal">qHyperCubeDef</code><span> определен с помощью набора свойств или с помощью панели свойств</span>, Qlik Engine рассчитывает HyperCube при каждой выборке и взаимодействии с Qlik engine. После расчета он возвращает структуру<span>&nbsp;</span><code class="literal">qHyperCube</code><span>&nbsp;</span>в<span>&nbsp;</span><code class="literal">layout</code>&nbsp;вместе с результатами.</p>
<p>В расширении (extension) <strong>MasteringQS</strong>&nbsp;следующий пример иллюстрирует возвращенный вычисленный<span>&nbsp;</span><code class="literal">qHyperCube</code> для образца измерения и метрики:</p>
<p><img fetchpriority="high" decoding="async" src="https://qliksense.ivan-shamaev.ru/wp-content/uploads/2019/08/propertyjs_panel_values_extensionMeta_qHyperCube.png" alt="" width="665" height="708" class="aligncenter size-full wp-image-1475" srcset="https://qliksense.ivan-shamaev.ru/wp-content/uploads/2019/08/propertyjs_panel_values_extensionMeta_qHyperCube.png 665w, https://qliksense.ivan-shamaev.ru/wp-content/uploads/2019/08/propertyjs_panel_values_extensionMeta_qHyperCube-282x300.png 282w" sizes="(max-width: 665px) 100vw, 665px" /></p>
<p><span>Теперь Вы, наверное, можете интуитивно распознать большинство&nbsp; объектов и переменных. Любое свойство, начинающееся с буквы q, является свойством определения Qlik; однако есть некоторые дополнительные, которые не имеют префикса (например, заголовок и подзаголовок).</span></p>
<blockquote>
<p><span>Кроме того, вместе с </span><code class="literal">qHyperCube</code><span>, </span><code class="literal">layout</code><span>&nbsp;также возвращает информацию, хранящуюся в файле</span><code class="literal">.qext</code><span> которую можно получить через свойство объекта </span><code class="literal">extensionMeta</code><span>. То же самое относится к пользовательским свойствам, определенным в файле <strong>properties.js</strong>, которые также возвращаются в </span><code class="literal">layout</code><span> ,вместе с </span><code class="literal">qHyperCube</code><span>, например </span><code class="literal">fontSize</code><span>,</span><code class="literal">fontFamily</code><span>, и так далее.</span></p>
</blockquote>
<p>Для начала обратите внимание на следующие объекты:</p>
<div class="itemizedlist">
<ul type="bullet">
<li><code class="literal">layout.qHyperCube.qDimensionInfo</code>: Used dimensions (Используемые измерения)</li>
<li><code class="literal">layout.qHyperCube.qMeasureInfo</code>: Used measures (Используемые меры)</li>
<li><code class="literal">layout.qHyperCube.qDataPages</code>: Результат</li>
<li><code class="literal">layout.qHyperCube.qSize</code>: The page size (Размер страницы/Размер гиперкуба)</li>
</ul>
</div>
<p>Из этих трех наиболее актуальным является, конечно,<span>&nbsp;</span><code class="literal">qDataPages</code>, который содержит рассчитанные данные:</p>
<p><img decoding="async" src="https://qliksense.ivan-shamaev.ru/wp-content/uploads/2019/08/return_size_of_data_qDataPages.png" alt="" width="509" height="428" class="aligncenter size-full wp-image-1476" srcset="https://qliksense.ivan-shamaev.ru/wp-content/uploads/2019/08/return_size_of_data_qDataPages.png 509w, https://qliksense.ivan-shamaev.ru/wp-content/uploads/2019/08/return_size_of_data_qDataPages-300x252.png 300w" sizes="(max-width: 509px) 100vw, 509px" /></p>
<p><span>Если вы развернете узел </span><code class="literal">qDataPages</code>, то вы увидите следующее you:</p>
<div class="itemizedlist">
<ul type="bullet">
<li><code class="literal">qDataPages</code><span> это массив</span></li>
<li><span>данные хранятся в </span><code class="literal">qDataPages[0].qMatrix</code>, который снова является массивом объектов, представляющих строки, каждый из которых снова содержит массив некоторых других объектов, представляющих отдельные ячейки (столбцы для каждой строки)</li>
</ul>
</div>
<p>В свою очередь каждая ячейка содержит следующую информацию:</p>
<div class="itemizedlist">
<ul type="bullet">
<li><code class="literal">qText</code>, текстовое представление результирующего значения ячейки</li>
<li><code class="literal">qNum</code>, если число, то вернет Вам числовое значение</li>
<li>Если ячейка является измерением,<span>&nbsp;</span><code class="literal">qElemNumber</code><span> предоставит вам внутренний идентификатор значения измерения, который можно использовать для выбора с помощью</span>&nbsp;<code class="literal">qState</code>, состояния выборки объекта</li>
</ul>
</div>
<p><span>Одной из типичных задач является преобразование данных </span><code class="literal">qDataPages.qMatrix</code><span> в массив объектов другого формата для лучшей обработки в коде расширения</span>.</p>
<p><span>Например, если вы знаете, что у вас всегда будет только одно значение измерения и одна метрика, преобразование структуры данных в нечто более удобное для вашего кода может быть выполнено с помощью функции </span><code class="literal">.map()</code><span>, которая выглядит следующим образом</span>:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="null">var data = [];
 data = scope.layout.qHyperCube.qDataPages[0].qMatrix.map(function(d) {
 return {
     dimensionvalue: d[0].qText,
     measurevalue: d[1].qNum
 };
 })</pre>
<p><span>Результат выглядит намного дружелюбнее:</span></p>
<p><img decoding="async" src="https://qliksense.ivan-shamaev.ru/wp-content/uploads/2019/08/result_hypercube_dimensionvalue_measurevalue.png" alt="" width="471" height="372" class="aligncenter size-full wp-image-1479" srcset="https://qliksense.ivan-shamaev.ru/wp-content/uploads/2019/08/result_hypercube_dimensionvalue_measurevalue.png 471w, https://qliksense.ivan-shamaev.ru/wp-content/uploads/2019/08/result_hypercube_dimensionvalue_measurevalue-300x237.png 300w" sizes="(max-width: 471px) 100vw, 471px" /></p>



<h3 class="wp-block-heading">qListObjectDef</h3>



<p>The family of generic objects<span>&nbsp;</span><span>has</span><span>&nbsp;</span>provided<span>&nbsp;</span><code class="literal">qHyperCube</code><span>&nbsp;</span>with a sister called the<span>&nbsp;</span><code class="literal">qListObject</code>. Unlike a HyperCube, a list object better serves the<span>&nbsp;</span><span>purposes</span><a id="id288633443" class="indexterm"></a><span>&nbsp;</span>of displaying one single dimension<span>&nbsp;</span><span class="emphasis"><em>without</em></span><span>&nbsp;</span>any required calculation, meaning no metrics are required to be defined. As such, it is fairly straightforward to work the list objects, and their definition is very similar to the<span>&nbsp;</span><code class="literal">qHyperCube</code><span>&nbsp;</span>object, with some added extra properties but without measures.&nbsp;</p>
<p>The following code is an example of creating a<span>&nbsp;</span><code class="literal">qListObjectDef</code><span>&nbsp;</span>and writing the resulting list object into the console:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="null">//DefineListObject
var obj = {
    "qDef": {
    "qFieldDefs": ["Case Owner"]
    },
    "qShowAlternatives" : true,
    "qInitialDataFetch": [{
        qTop : 0,
        qLeft : 0,
        qHeight : 10000,
        qWidth : 1
    }]
    };

var app = qlik.currApp(this);

//Create the listbox as a session object which will persist over the //session and then be deleted.
app.createList(obj,function(listobject) {
  console.log(listobject)
})</pre>



<p><span>Код возвращает следующий результат:</span></p>
<p><img loading="lazy" decoding="async" src="https://qliksense.ivan-shamaev.ru/wp-content/uploads/2019/08/qListObjectDef_result.png" alt="" width="398" height="609" class="aligncenter size-full wp-image-1480" srcset="https://qliksense.ivan-shamaev.ru/wp-content/uploads/2019/08/qListObjectDef_result.png 398w, https://qliksense.ivan-shamaev.ru/wp-content/uploads/2019/08/qListObjectDef_result-196x300.png 196w" sizes="(max-width: 398px) 100vw, 398px" /></p>
<p><span>Это структура, очень похожая на </span><code class="literal">qHyperCube</code>, с ее<span>&nbsp;</span><code class="literal">qDataPages</code>, но с дополнительной информацией о найденном объекте измерения и списка.</p>
<p><span>Помимо классических свойств, уже описанных для </span><code class="literal">qHyperCube</code>, для объекта<span>&nbsp;</span><code class="literal">qListObject</code> вы можете определить следующие параметры:</p>
<div class="itemizedlist">
<ul type="bullet">
<li><code class="literal">qAutoSortByState</code>: определяет сортировку по состоянию.</li>
<li><code class="literal">qFrequencyMode</code>: Определяет frequency mode используемый для расчета частоты значения в объекте списка. Этот параметр является необязательным, и по умолчанию частота не возвращается (<code class="literal">NX_FREQUENCY_NONE</code>). Альтернативные значения:<span>&nbsp;</span><code class="literal">NX_FREQUENCY_VALUE</code>,<span>&nbsp;</span><code class="literal">NX_FREQUENCY_PERCENT</code>, и<span>&nbsp;</span><code class="literal">NQ_FREQUENCY_RELATIVE</code>.</li>
<li><code class="literal">qShowAlternatives</code>: если для этого параметра установлено значение <strong>true</strong>, это позволит включить альтернативные значения в возвращаемые данные <strong>qData</strong>. Если установлено значение <strong>false</strong>, альтернативные значения не отображаются в <code class="literal"><span>qData</span></code>&nbsp;(Вместо этого значения исключены). <code class="literal">qStateCounts</code><span> считает исключенные значения в качестве альтернативных значений</span>.</li>
</ul>
<blockquote>
<p><span>Важно отметить, что с помощью </span><code class="literal">qListObject</code><span>, все значения отображаются независимо от того, были они исключены или нет. Если выбор применяется к объекту списка, выбранные значения отображаются вместе с исключенными и дополнительными значениями.</span></p>
</blockquote>
</div>



<h3 class="wp-block-heading">qStringExpression и qValueExpression</h3>



<p><span>Для простоты одноразовых вычислений, в которых вы просто хотите использовать всю мощь механизма <strong>Qlik Sense Engine</strong>, </span><code class="literal">qStringExpression</code><span> и&nbsp;</span><code class="literal">qValueExpression</code><span> являются младшими сестрами</span><span>&nbsp;</span><code class="literal">qHyperCube</code><span> и&nbsp;</span><code class="literal">qListObject</code><span>. Они работают, используя ту же концепцию, что и остальные, но на более простом уровне: все, что вам нужно сделать, это определить выражение Qlik, и механизм вернет вам свой результат</span><span>:</span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="null">var app = qlik.currApp(this);
app.createGenericObject({
    user: {
qStringExpression:"=OSUser()"
    }, 
    version: {
qStringExpression:"=EngineVersion()"
    }, 
    fields: { 
qValueExpression:"=Count (DISTINCT $Field)"
    } 
}, function ( reply ) { 
    var str = "Version:" + reply.version + 
        str+= " Number of Fields:"+reply.fields; 
    if(reply.user) { 
        str += " User:" + reply.user; 
    }
    console.log(str)
}</pre>
<p><span>Использование этих определений объектов очень удобно в сочетании с другими объектами, такими как </span><code class="literal">qHyperCube</code><span>.</span></p>
<blockquote>
<p><span>Знак </span><code class="literal">=</code><span> в строковом выражении не является обязательным. Даже если знак </span><code class="literal">=</code><span> не указан, выражение вычисляется. Строковое выражение не оценивается, если выражение окружено чистыми кавычками.</span></p>
</blockquote>



<h2 class="wp-block-heading">Kill the hypercubes</h2>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Kill the hypercubes" width="750" height="563" src="https://www.youtube.com/embed/-w-d1Am2cjY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div><figcaption> See how to manage and clean up  hypercubes in a Qlik Sense Mashup. </figcaption></figure>



<p>Find the code shown in this video for both the Visualization API and the Capabilities API: <a href="https://github.com/ChristofSchwarz/qs-mash-KillHypercube" target="_blank" rel="noreferrer noopener" aria-label="https://github.com/ChristofSchwarz/qs-mash-KillHypercube (opens in a new tab)">https://github.com/ChristofSchwarz/qs-mash-KillHypercube</a></p>



<h2 class="wp-block-heading">Mash-Up APIs Part 4: Creating Hypercubes</h2>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Mash-Up APIs Part 4: Creating Hypercubes" width="750" height="422" src="https://www.youtube.com/embed/pDbDbkc22Ds?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div><figcaption> In Part 4, we’ll explain the power of HyperCubes and how to use them in your web applications.</figcaption></figure>



<h2 class="wp-block-heading">Qlik Sense Tutorial | Creating Qlik Sense Mashup by using Hypercube</h2>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Qlik Sense Tutorial | Creating Qlik Sense Mashup by using Hypercube" width="750" height="422" src="https://www.youtube.com/embed/D_cDvUTps80?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div><figcaption> We provide industry standard online training on Qlik Sense Development , Administration and live project development with hand-holding support of expert trainer. For Instructor lead live Qlik Sense online training, please feel free to get back to us on below contact details.</figcaption></figure>



<h2 class="wp-block-heading">Mash-Up APIs Part 3: Connecting to Fields</h2>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Mash-Up APIs Part 3: Connecting to Fields" width="750" height="422" src="https://www.youtube.com/embed/fqGwrGhlW-I?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div><figcaption> Learn how to connect and hook into fields in the Qlik Sense data model and use them on your web site. </figcaption></figure>



<h2 class="wp-block-heading">Getting started building mashup &#8211; Qlik Sense</h2>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Getting started building mashup - Qlik Sense" width="750" height="422" src="https://www.youtube.com/embed/dyTAXzcgR5E?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div><figcaption> The Mashup editor assists you in creating your mashups displaying Qlik Sense data on your website. This video shows you how to create your first mashup in Qlik Sense Developer Hub, how to add objects from multiple Qlik Sense apps, how to create a list and a hypercube, and how to import asset files.</figcaption></figure>
<p>Сообщение <a href="https://qliksense.ivan-shamaev.ru/hypercube-concept-for-qlik-sense-developers/">Концепт Hypercube для Qlik Sense Developers</a> появились сначала на <a href="https://qliksense.ivan-shamaev.ru">Qlik Sense - Обучение, учебник, онлайн курс</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://qliksense.ivan-shamaev.ru/hypercube-concept-for-qlik-sense-developers/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
