<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=GET_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE</id>
	<title>GET дерево - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=GET_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=GET_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE&amp;action=history"/>
	<updated>2026-05-11T15:05:21Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=GET_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE&amp;diff=1812&amp;oldid=prev</id>
		<title>ENetrebin: Новая страница: «Выполняет запрос USQL и возвращает результаты в виде древовидной структуры запрошенных с...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=GET_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE&amp;diff=1812&amp;oldid=prev"/>
		<updated>2022-10-19T10:26:06Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «Выполняет запрос USQL и возвращает результаты в виде древовидной структуры запрошенных с...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Выполняет запрос USQL и возвращает результаты в виде древовидной структуры запрошенных столбцов — плоский список, содержащий запрошенные столбцы.&lt;br /&gt;
&lt;br /&gt;
Чтобы получить правильную древовидную структуру, вам нужно указать группировку в запросе. Поля, используемые в &amp;lt;code&amp;gt;GROUP BY&amp;lt;/code&amp;gt;предложении, образуют «ветви» дерева, каждая из которых содержит «листья» — выбранные поля, которые не использовались для группировки.&lt;br /&gt;
&lt;br /&gt;
Запрос создает в качестве полезной нагрузки&amp;lt;code&amp;gt;application/json&amp;lt;/code&amp;gt; формат.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |GET&lt;br /&gt;
|Managed&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{your-domain}/e/{your-environment-id}/api/v1/userSessionQueryLanguage/tree&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Среда АктивногоШлюза&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{your-activegate-domain}/e/{your-environment-id}/api/v1/userSessionQueryLanguage/tree&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Аутентификация ==&lt;br /&gt;
Чтобы выполнить этот запрос, вам нужен токен доступа с областью сеансов пользователей ( &amp;lt;code&amp;gt;DTAQLAccess&amp;lt;/code&amp;gt;) . Чтобы узнать, как его получить и использовать, см. раздел [[Токены и аутентификация (API)|Токены и аутентификация]] .&lt;br /&gt;
&lt;br /&gt;
== Параметры ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
!In&lt;br /&gt;
!Необходимость&lt;br /&gt;
|-&lt;br /&gt;
|query&lt;br /&gt;
|string&lt;br /&gt;
|Выполняемый запрос сеанса пользователя. Подробнее о синтаксисе см. на странице документации USQL .&lt;br /&gt;
&lt;br /&gt;
Вы можете найти доступные столбцы таблицы usersession в &amp;lt;code&amp;gt;UserSession&amp;lt;/code&amp;gt;объекте.&lt;br /&gt;
&lt;br /&gt;
Вот пример запроса: &amp;lt;code&amp;gt;SELECT country, city, COUNT(*) FROM usersession GROUP BY country, city&amp;lt;/code&amp;gt;.&lt;br /&gt;
|query&lt;br /&gt;
|требуется&lt;br /&gt;
|-&lt;br /&gt;
|startTimestamp&lt;br /&gt;
|integer&lt;br /&gt;
|Отметка времени начала запроса в миллисекундах UTC.&lt;br /&gt;
&lt;br /&gt;
Если не установлено или установлено как &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, используется отставание от текущего времени на 2 часа.&lt;br /&gt;
&lt;br /&gt;
Если важны точные времена, задайте таймфрейм в самом запросе ( параметр запроса ).&lt;br /&gt;
|query&lt;br /&gt;
|по желанию&lt;br /&gt;
|-&lt;br /&gt;
|endTimestamp&lt;br /&gt;
|integer&lt;br /&gt;
|Отметка времени окончания запроса в миллисекундах UTC.&lt;br /&gt;
&lt;br /&gt;
Если не установлено или установлено как &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, используется текущая метка времени.&lt;br /&gt;
&lt;br /&gt;
Если важны точные времена, задайте таймфрейм в самом запросе ( параметр запроса ).&lt;br /&gt;
|query&lt;br /&gt;
|по желанию&lt;br /&gt;
|-&lt;br /&gt;
|offsetUTC&lt;br /&gt;
|integer&lt;br /&gt;
|Дополнительное смещение местного времени относительно времени UTC в минутах. Смещение будет применено к полям даты, встречающимся в запросе.&lt;br /&gt;
&lt;br /&gt;
Может быть положительным или отрицательным. Например, если местное время UTC+02:00, timeOffset равно 120. Если это UTC-05:00, timeOffset равно -300.&lt;br /&gt;
|query&lt;br /&gt;
|по желанию&lt;br /&gt;
|-&lt;br /&gt;
|addDeepLinkFields&lt;br /&gt;
|boolean&lt;br /&gt;
|Добавьте ( &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;), чтобы включить прямые ссылки на дополнительные поля в запросе.&lt;br /&gt;
&lt;br /&gt;
Если не установлено, то &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;используется&lt;br /&gt;
|query&lt;br /&gt;
|по желанию&lt;br /&gt;
|-&lt;br /&gt;
|explain&lt;br /&gt;
|boolean&lt;br /&gt;
|Добавьте ( &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;) или не добавляйте ( &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;) дополнительную информацию о результате в ответ.&lt;br /&gt;
&lt;br /&gt;
Это помогает понять запрос и то, как был рассчитан результат.&lt;br /&gt;
&lt;br /&gt;
Если не установлено, то &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;используется&lt;br /&gt;
|query&lt;br /&gt;
|по желанию&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ответ ==&lt;br /&gt;
&lt;br /&gt;
=== Коды ответов ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Код&lt;br /&gt;
|Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|199&lt;br /&gt;
|UserSession&lt;br /&gt;
|Структура данных сеанса пользователя. Этот код ответа никогда не возвращается.&lt;br /&gt;
|-&lt;br /&gt;
|200&lt;br /&gt;
|DtaqlResultAsTree&lt;br /&gt;
|Успех. Ответ содержит результат запроса.&lt;br /&gt;
|-&lt;br /&gt;
|400&lt;br /&gt;
|&lt;br /&gt;
|Не удалось. Запрос отсутствует.&lt;br /&gt;
|-&lt;br /&gt;
|404&lt;br /&gt;
|&lt;br /&gt;
|Не удалось. Запрос недействителен. Дополнительную информацию см. в теле ответа.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Объекты тела ответа ===&lt;br /&gt;
&lt;br /&gt;
==== Объект &amp;lt;code&amp;gt;DtaqlResultAsTree&amp;lt;/code&amp;gt; ====&lt;br /&gt;
Результат запроса сеанса пользователя в виде дерева.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Элемент&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|extrapolationLevel&lt;br /&gt;
|integer&lt;br /&gt;
|Уровень экстраполяции результата.&lt;br /&gt;
&lt;br /&gt;
Для повышения производительности некоторые результаты могут быть рассчитаны на основе подмножества фактических данных. Уровень экстраполяции указывает на долю фактических данных в результате.&lt;br /&gt;
&lt;br /&gt;
Число является знаменателем дроби и указывает количество фактических данных. Значение &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;означает, что результат содержит только фактические данные. Значение &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;означает, что результат рассчитывается с использованием 1/4 фактических данных.&lt;br /&gt;
&lt;br /&gt;
Если вам нужно, чтобы анализ основывался на реальных данных, уменьшите временные рамки вашего запроса. Например, в случае уровня экстраполяции &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;попробуйте использовать 1/4 исходного таймфрейма.&lt;br /&gt;
|-&lt;br /&gt;
|additionalColumnNames&lt;br /&gt;
|string[]&lt;br /&gt;
|Список столбцов в таблице AdditionalValues.&lt;br /&gt;
&lt;br /&gt;
Присутствует только в том случае, если конечная точка была вызвана с &amp;lt;code&amp;gt;deepLinkFields=true&amp;lt;/code&amp;gt;параметром.&lt;br /&gt;
|-&lt;br /&gt;
|additionalValues&lt;br /&gt;
|array[]&lt;br /&gt;
|Список строк данных.&lt;br /&gt;
&lt;br /&gt;
Каждый элемент массива представляет строку в таблице дополнительно связанных полей.&lt;br /&gt;
&lt;br /&gt;
Размер каждой строки данных и порядок элементов соответствуют содержимому AdditionalColumnNames .&lt;br /&gt;
&lt;br /&gt;
Присутствует только в том случае, если конечная точка была вызвана с &amp;lt;code&amp;gt;deepLinkFields=true&amp;lt;/code&amp;gt;параметром.&lt;br /&gt;
|-&lt;br /&gt;
|explanations&lt;br /&gt;
|string[]&lt;br /&gt;
|Дополнительная информация о запросе и результате, помогающая понять запрос и способ расчета результата.&lt;br /&gt;
&lt;br /&gt;
Появляется только тогда, когда для параметра объяснения установлено значение &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пример. Количество результатов по умолчанию ограничено 50. Используйте &amp;lt;code&amp;gt;LIMIT&amp;lt;/code&amp;gt;пункт, чтобы увеличить или уменьшить это ограничение.&lt;br /&gt;
|-&lt;br /&gt;
|branchNames&lt;br /&gt;
|string[]&lt;br /&gt;
|Список ветвей дерева.&lt;br /&gt;
&lt;br /&gt;
Как правило, это поля из &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt;предложения, которые использовались в &amp;lt;code&amp;gt;GROUP BY&amp;lt;/code&amp;gt;предложении.&lt;br /&gt;
|-&lt;br /&gt;
|leafNames&lt;br /&gt;
|string[]&lt;br /&gt;
|Список листьев на каждой ветке дерева.&lt;br /&gt;
&lt;br /&gt;
Как правило, это поля из &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt;предложения, которые не использовались в &amp;lt;code&amp;gt;GROUP BY&amp;lt;/code&amp;gt;предложении.&lt;br /&gt;
|-&lt;br /&gt;
|values&lt;br /&gt;
|object&lt;br /&gt;
|Результат запроса сеанса пользователя в виде дерева.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== JSON-модель тела ответа ===&lt;br /&gt;
 &amp;lt;code&amp;gt;{&lt;br /&gt;
   &amp;quot;extrapolationLevel&amp;quot;: 1,&lt;br /&gt;
   &amp;quot;branchNames&amp;quot;: [&lt;br /&gt;
     &amp;quot;country&amp;quot;,&lt;br /&gt;
     &amp;quot;city&amp;quot;&lt;br /&gt;
   ],&lt;br /&gt;
   &amp;quot;leafNames&amp;quot;: [&lt;br /&gt;
     &amp;quot;avg(duration)&amp;quot;,&lt;br /&gt;
     &amp;quot;max(duration)&amp;quot;&lt;br /&gt;
   ],&lt;br /&gt;
   &amp;quot;values&amp;quot;: {&lt;br /&gt;
     &amp;quot;Austria&amp;quot;: {&lt;br /&gt;
       &amp;quot;Klagenfurt&amp;quot;: [&lt;br /&gt;
         &amp;quot;65996.75&amp;quot;,&lt;br /&gt;
         &amp;quot;129940&amp;quot;&lt;br /&gt;
       ],&lt;br /&gt;
       &amp;quot;Linz&amp;quot;: [&lt;br /&gt;
         &amp;quot;57360.86&amp;quot;,&lt;br /&gt;
         &amp;quot;222912&amp;quot;&lt;br /&gt;
       ]&lt;br /&gt;
     },&lt;br /&gt;
     &amp;quot;Poland&amp;quot;: {&lt;br /&gt;
       &amp;quot;Gdansk&amp;quot;: [&lt;br /&gt;
         &amp;quot;22482.2&amp;quot;,&lt;br /&gt;
         &amp;quot;351263&amp;quot;&lt;br /&gt;
       ]&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
В этом примере запрос выполняет &amp;lt;code&amp;gt;SELECT country, city, avg(duration), max(duration) FROM usersession GROUP BY country, city&amp;lt;/code&amp;gt;запрос.&lt;br /&gt;
&lt;br /&gt;
Маркер API передается в заголовке авторизации .&lt;br /&gt;
&lt;br /&gt;
Результат усекается до 4 записей.&lt;br /&gt;
&lt;br /&gt;
Поскольку временной интервал не указан, запрос использует временной интервал по умолчанию, равный 2 часам назад от текущего времени.&lt;br /&gt;
&lt;br /&gt;
В полученной структуре все значения изначально сгруппированы по странам , причем каждый объект массива значений представляет страну. Каждый из этих объектов содержит массивы средней и максимальной продолжительности пользовательских сеансов для каждого города .&lt;br /&gt;
&lt;br /&gt;
Значение extrapolationLevel , равное 4, указывает, что значения экстраполируются на основе 1/4 фактических данных.&lt;br /&gt;
&lt;br /&gt;
==== Завиток ====&lt;br /&gt;
 &amp;lt;code&amp;gt;curl -X GET \&lt;br /&gt;
   '&amp;lt;nowiki&amp;gt;https://mySampleEnv.live.ruscomtech.ru/api/v1/userSessionQueryLanguage/api/v1/userSessionQueryLanguage/tree?query=select%20country,%20city,%20avg%28duration%29,%20max%28duration%29%20from%20usersession%20group%20by%20country,%20city'&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
   -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== URL-адрес запроса ====&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://mySampleEnv.live.ruscomtech.ru/api/v1/userSessionQueryLanguage/api/v1/userSessionQueryLanguage/tree?query=select%20country,%20city,%20avg%28duration%29,%20max%28duration%29%20from%20usersession%20group%20by%20country,%20city&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Тело ответа ====&lt;br /&gt;
 &amp;lt;code&amp;gt;{&lt;br /&gt;
   &amp;quot;extrapolationLevel&amp;quot;: 4,&lt;br /&gt;
   &amp;quot;branchNames&amp;quot;: [&lt;br /&gt;
     &amp;quot;country&amp;quot;,&lt;br /&gt;
     &amp;quot;city&amp;quot;&lt;br /&gt;
   ],&lt;br /&gt;
   &amp;quot;leafNames&amp;quot;: [&lt;br /&gt;
     &amp;quot;avg(duration)&amp;quot;,&lt;br /&gt;
     &amp;quot;max(duration)&amp;quot;&lt;br /&gt;
   ],&lt;br /&gt;
   &amp;quot;values&amp;quot;: {&lt;br /&gt;
     &amp;quot;Austria&amp;quot;: {&lt;br /&gt;
       &amp;quot;Vienna&amp;quot;: [&lt;br /&gt;
         64423.908602150535,&lt;br /&gt;
         557649&lt;br /&gt;
       ]&lt;br /&gt;
     },&lt;br /&gt;
     &amp;quot;United States&amp;quot;: {&lt;br /&gt;
       &amp;quot;Detroit&amp;quot;: [&lt;br /&gt;
         58984.49809402796,&lt;br /&gt;
         504369&lt;br /&gt;
       ],&lt;br /&gt;
       &amp;quot;Boston&amp;quot;: [&lt;br /&gt;
         53865.68464730291,&lt;br /&gt;
         434636&lt;br /&gt;
       ]&lt;br /&gt;
     },&lt;br /&gt;
     &amp;quot;Poland&amp;quot;: {&lt;br /&gt;
       &amp;quot;Gdańsk&amp;quot;: [&lt;br /&gt;
         31177.50773993808,&lt;br /&gt;
         445353&lt;br /&gt;
       ]&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Код ответа ====&lt;br /&gt;
200&lt;/div&gt;</summary>
		<author><name>ENetrebin</name></author>
	</entry>
</feed>