# Ошибка парсинга в Timelion-запросе

**URL:** <https://discuss.elastic.co/t/timelion/205698>\
**Category:** Вопросы на русском языке\
**Created:** [October 29, 2019, 3:03pm UTC](https://discuss.elastic.co/t/timelion/205698 "2019-10-29T15:03:28Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Anne\_Kim](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/anne_kim/32/47196_2.png) [@Anne\_Kim](https://discuss.elastic.co/u/Anne_Kim)\
**Post date:** [October 29, 2019, 3:03pm UTC](https://discuss.elastic.co/t/timelion/205698/1 "2019-10-29T15:03:28Z")

</div>

Задача: визуализировать и сравнить дневное количество уникальных игроков из двух разных индексов (_session\_data_ and _gameplay\_stat_) при помощи timelion.  
Запрос по первому индексу выглядит так:  
`.es(interval=1d, index=session_data, metric=cardinality:player_id).label('Unique Players Logged')`

> **Результатов он не приносит, лишь меняется название пункта в легенде**
>
> ![](https://us1.discourse-cdn.com/elastic/original/3X/a/8/a881ba1cee6dae6ac71c154567054bec18722c2c.png)

Затем приписывается запрос для второго индекса:  
`.es(index=gameplay_stat, metric=cardinality:game.player).label('Unique Players Played')`

> **и выскакивают 2 ошибки: запроса и визуализации**
>
> ![](https://us1.discourse-cdn.com/elastic/original/3X/a/f/afa4617bc329e8d86a2a9720eac59280a9d46a48.png)

В чём тут может быть ошибка?

---

<div class="post-metadata">

**Author:** ![alexh\_elastic](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/alexh_elastic/32/53745_2.png) [@alexh\_elastic](https://discuss.elastic.co/u/alexh_elastic)\
**Post date:** [October 30, 2019, 3:26pm UTC](https://discuss.elastic.co/t/timelion/205698/2 "2019-10-30T15:26:23Z")

</div>

Можно попробовать добавить ковычки к параметру `metric`, например:  
`.es(interval=1d, index=session_data, metric='cardinality:player_id').label('Unique Players Logged')`

Какой версией вы пользуетесь?

---

<div class="post-metadata">

**Author:** ![Anne\_Kim](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/anne_kim/32/47196_2.png) [@Anne\_Kim](https://discuss.elastic.co/u/Anne_Kim)\
**Post date:** [October 30, 2019, 3:30pm UTC](https://discuss.elastic.co/t/timelion/205698/3 "2019-10-30T15:30:34Z")

</div>

Кавычки не помогли.  
Версия 7.3.1

---

<div class="post-metadata">

**Author:** ![timroes](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/timroes/32/19712_2.png) [@timroes](https://discuss.elastic.co/u/timroes)\
**Post date:** [October 31, 2019, 2:17pm UTC](https://discuss.elastic.co/t/timelion/205698/4 "2019-10-31T14:17:57Z")

</div>

Не могли бы вы вставить скриншот нового выражения и ошибки? спасибо

---

<div class="post-metadata">

**Author:** ![Anne\_Kim](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/anne_kim/32/47196_2.png) [@Anne\_Kim](https://discuss.elastic.co/u/Anne_Kim)\
**Post date:** [October 31, 2019, 2:31pm UTC](https://discuss.elastic.co/t/timelion/205698/5 "2019-10-31T14:31:31Z")

</div>

Вот выражение (@flash1293 посоветовал вставить запятую между выражениями, вот ссылка на такую же дискуссию на английском: [https://discuss.elastic.co/t/timelion-request-error-parsing-exception/205695/4](https://discuss.elastic.co/t/timelion-request-error-parsing-exception/205695/4)):  
`.es(index=session_data, metric=cardinality:player_id).label('Unique Players Logged'), .es(index=gameplay_stat, metric=cardinality:game.player).label('Unique Players Played')`  
Ошибки теперь нет, есть просто нулевой результат даже за последние 15 недель:

 ![](https://us1.discourse-cdn.com/elastic/original/3X/9/0/9009be73c7c8a04b9fafd35398ca2005911a6b1f.png)  
Если выводить данные по уникальным игрокам из двух разных индексов при помощи обычных метрик, то там всё ок (данные тоже за последние 15 недель):  
 ![](https://us1.discourse-cdn.com/elastic/original/3X/d/e/dead609c641f89d4808f2dbaba8b7fb1d69bb584.png)

---

<div class="post-metadata">

**Author:** ![Anne\_Kim](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/anne_kim/32/47196_2.png) [@Anne\_Kim](https://discuss.elastic.co/u/Anne_Kim)\
**Post date:** [November 1, 2019, 9:54am UTC](https://discuss.elastic.co/t/timelion/205698/6 "2019-11-01T09:54:21Z")

</div>

Thanks to @flash1293

> So your mapping is looking fine but it seems like there is no `@timefield` field - this is used by default to aggregate over time in Timelion. If you want to use a different field for the time axis (as in this example), you have to specify it as the `timefield` parameter in the `.es()` function:
> 
> ```auto
> .es(interval=1d, timefield='start_at', index=session_data, metric='cardinality:player_id').label('Unique Players Logged')
> 
> ```
> 
> Another detail: It's recommended to put the metric into quotes (as in the example above) to avoid conflicts with reserved characters in the field name.
> 
> See also [Timelion | Kibana Guide [8.11] | Elastic](https://www.elastic.co/guide/en/kibana/current/timelion.html) about more details.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [November 29, 2019, 9:54am UTC](https://discuss.elastic.co/t/timelion/205698/7 "2019-11-29T09:54:21Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
