# 【ダッシュボード】重複行を1行にまとめて表示する方法

**URL:** <https://discuss.elastic.co/t/topic/236829>\
**Category:** 日本語による質問・議論はこちら\
**Created:** [June 12, 2020, 6:25am UTC](https://discuss.elastic.co/t/topic/236829 "2020-06-12T06:25:39Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![harue](https://avatars.discourse-cdn.com/v4/letter/h/82dd89/32.png) [@harue](https://discuss.elastic.co/u/harue)\
**Post date:** [June 12, 2020, 6:25am UTC](https://discuss.elastic.co/t/topic/236829/1 "2020-06-12T06:25:39Z")

</div>

お世話になります。

以下のように"id"と"time"が存在するindexがあります。

| id | time |
| --- | --- |
| **1** | **2020/6/1 10:00** |
| 1 | 2020/6/1 11:00 |
| 1 | 2020/7/1 11:00 |
| **2** | **2020/6/1 12:00** |
| 2 | 2020/6/1 12:00 |
| **3** | **2020/7/1 12:00** |

上記indexに関して、同じidの中でtimeが最も過去の日付のデータのみ、  
ダッシュボードに一覧で表示させたい(下記例)のですが、実現可能でしょうか？  
Discoverにて実現方法が分からず質問させて頂きました。

| id | time |
| --- | --- |
| **1** | **2020/6/1 10:00** |
| **2** | **2020/6/1 12:00** |
| **3** | **2020/7/1 12:00** |

お手数ですが、回答頂けますと幸いです。  
以上、宜しくお願い致します。

---

<div class="post-metadata">

**Author:** ![kaiba](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kaiba/32/69753_2.png) [@kaiba](https://discuss.elastic.co/u/kaiba)\
**Post date:** [June 13, 2020, 2:43am UTC](https://discuss.elastic.co/t/topic/236829/2 "2020-06-13T02:43:41Z")

</div>

Aggregationを使うのはいかがでしょうか？  
[https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-top-hits-aggregation.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-top-hits-aggregation.html)

SQLでいうところのgroup byしてsumする、みたいなことができます。

---

<div class="post-metadata">

**Author:** ![harue](https://avatars.discourse-cdn.com/v4/letter/h/82dd89/32.png) [@harue](https://discuss.elastic.co/u/harue)\
**Post date:** [June 15, 2020, 6:55am UTC](https://discuss.elastic.co/t/topic/236829/3 "2020-06-15T06:55:37Z")

</div>

回答頂きありがとうございます。

Top hits Aggregationを試したところ、同じidの中でtimeが最も過去の日付のデータを取得することが出来ました。(下記コマンド)

```
GET /<index名>/_search
{
  "size": 0,
  "aggs": {
    "bucket": {
      "terms": {
        "field": "id"
      },
      "aggs": {
        "update": {
          "top_hits": {
            "size": 1,
            "sort": [
              {
                "time": {
                  "order": "asc"
                }
              }
            ],
            "_source": {
              "includes": [
                "name",
                "time"
              ]
            }
          }
        }
      }
    }
  }
}

```

上記に関して、再度質問させて頂きます。

▼登録データ(idとtime以外に、"name"も追加)

 ![discover](https://us1.discourse-cdn.com/elastic/original/3X/5/4/546c0eb68a2a0719a70245d000ebd438769d7215.png)

①Kibana visualizeのData TableにてTop hits Aggregationを試したところ(下記設定値参照)  
idとtimeの一覧は表示できますが、idに紐づく"name"を表示する方法が分かっておりません。

同じidの中でtimeが最も過去の日付のデータを表示＋ **idに紐づく"name"を表示をする方法** はありますでしょうか？

②一覧がidの降順となっていますが、デフォルトで **timeの昇順** に設定する方法はありますでしょうか？

▼dataTable設定値

 ![datatable-1](https://us1.discourse-cdn.com/elastic/original/3X/c/d/cdb79377bd902a8623aa2b2a68e4b96ee8622d19.png)  
 ![datatable-2](https://us1.discourse-cdn.com/elastic/original/3X/f/5/f52c2fbf1c61c4d545d7a70e87aea64683abf143.png)

▼dataTable表示結果

 ![datatable-3](https://us1.discourse-cdn.com/elastic/original/3X/c/1/c1106cab499f5cd98f15b0f5c1f930676cfd434d.png)

お手数ですが、回答頂けますと幸いです。  
宜しくお願い致します。

---

<div class="post-metadata">

**Author:** ![miki](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/miki/32/53228_2.png) [@miki](https://discuss.elastic.co/u/miki)\
**Post date:** [June 16, 2020, 4:19am UTC](https://discuss.elastic.co/t/topic/236829/5 "2020-06-16T04:19:36Z")

</div>

> [@harue](#):
>
> ①Kibana visualizeのData TableにてTop hits Aggregationを試したところ(下記設定値参照)  
> idとtimeの一覧は表示できますが、idに紐づく"name"を表示する方法が分かっておりません。
> 
> 同じidの中でtimeが最も過去の日付のデータを表示＋ **idに紐づく"name"を表示をする方法** はありますでしょうか？

メトリックの追加をクリックして、top-hitsを選択して、対象のフィールドにnameを選択すれば、timeの隣に表示されると思いますよ。

> [@harue](#):
>
> ②一覧がidの降順となっていますが、デフォルトで **timeの昇順** に設定する方法はありますでしょうか？

tableをtimeの昇順で表示するように▲をクリックした状態で保存すれば、その情報も保存されます。そのため、dashboardに表示した時などもその状態がキープされます。

---

<div class="post-metadata">

**Author:** ![harue](https://avatars.discourse-cdn.com/v4/letter/h/82dd89/32.png) [@harue](https://discuss.elastic.co/u/harue)\
**Post date:** [June 16, 2020, 7:33am UTC](https://discuss.elastic.co/t/topic/236829/6 "2020-06-16T07:33:04Z")

</div>

返信頂きありがとうございます。

上記で実現できました。大変助かりました。

---

<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:** [July 14, 2020, 7:33am UTC](https://discuss.elastic.co/t/topic/236829/7 "2020-07-14T07:33:09Z")

</div>

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