# Kibana Visualization Field Formatting and Ordering

**URL:** https://discuss.elastic.co/t/kibana-visualization-field-formatting-and-ordering/91783
**Category:** Kibana
**Created:** [July 4, 2017, 1:49pm UTC](https://discuss.elastic.co/t/kibana-visualization-field-formatting-and-ordering/91783 "2017-07-04T13:49:35Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![varundbest](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/varundbest/32/48066_2.png) [@varundbest](https://discuss.elastic.co/u/varundbest)
#### Post date: [July 4, 2017, 1:49pm UTC](https://discuss.elastic.co/t/kibana-visualization-field-formatting-and-ordering/91783/1 "2017-07-04T13:49:35Z")

</div>

So i have 2 Requirements:-

1. There is a date histogram with monthly interval and on X-Axis, i am getting intervals like :- 2017-02-01, 2017-03-01 but i want them to be February 2017, March 2017. Any idea? If i am to develop that functionality myself, what methodology would you suggest?

2. There is a visualization (Vertical Bar/Histogram) where i am having a Terms aggregation on a weekday.keyword field and i wish to Order it by actual Day of week sequence (Eg. :- Sunday, Monday, Tuesday....). I cannot order be date as a single weekday would comprise data from multiple dates.

---

<div class="post-metadata">

### Author: ![weltenwort](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/weltenwort/32/53885_2.png) [@weltenwort](https://discuss.elastic.co/u/weltenwort)
#### Post date: [July 4, 2017, 2:18pm UTC](https://discuss.elastic.co/t/kibana-visualization-field-formatting-and-ordering/91783/2 "2017-07-04T14:18:32Z")

</div>

Hi @varundbest,

here would be the solutions I propose:

1. Add `["P1MT", "MMMM YYYY"]` between the entries for `P1DT` and `P1YT` to the list in the advanced setting `dateFormat:scaled` to define a custom formatting of monthly intervals.
2. Instead of doing a `Terms` aggregation you could define a `Filters` aggregation and define the categories yourself, e.g. `weekday.keyword:Sunday` for the first Filter, `weekday.keyword:Monday` for the second and so on. That way you have full control over the ordering.

---

<div class="post-metadata">

### Author: ![varundbest](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/varundbest/32/48066_2.png) [@varundbest](https://discuss.elastic.co/u/varundbest)
#### Post date: [July 4, 2017, 3:18pm UTC](https://discuss.elastic.co/t/kibana-visualization-field-formatting-and-ordering/91783/3 "2017-07-04T15:18:18Z")

</div>

@weltenwort  
In 2, the filters are getting ordered in alphabetical order of the Label. How shall i change that?  
They are supposed to be returned in the order i request the filters but it's not happening this way.  
**Request :-**

```
"2": {
  "filters": {
    "filters": {
      "Sunday": {
        "query_string": {
          "query": "weekday.keyword:Sunday",
          "analyze_wildcard": true
        }
      },
      "Monday": {
        "query_string": {
          "query": "weekday.keyword:Monday",
          "analyze_wildcard": true
        }
      },
      "Tuesday": {
        "query_string": {
          "query": "weekday.keyword:Tuesday",
          "analyze_wildcard": true
        }
      },
      "Wednesday": {
        "query_string": {
          "query": "weekday.keyword:Wednesday",
          "analyze_wildcard": true
        }
      },
      "Thursday": {
        "query_string": {
          "query": "weekday.keyword:Thursday",
          "analyze_wildcard": true
        }
      },
      "Friday": {
        "query_string": {
          "query": "weekday.keyword:Friday",
          "analyze_wildcard": true
        }
      },
      "Saturday": {
        "query_string": {
          "query": "weekday.keyword:Saturday",
          "analyze_wildcard": true
        }
      }
    }
  },

```

**Response :-**

```
  "aggregations": {
    "2": {
      "buckets": {
        "Friday": {
          "doc_count": 1848
        },
        "Monday": {
          "doc_count": 2432
        },
        "Saturday": {
          "doc_count": 2537
        },
        "Sunday": {
          "doc_count": 1802
        },
        "Thursday": {
          "doc_count": 1667
        },
        "Tuesday": {
          "doc_count": 2398
        },
        "Wednesday": {
          "doc_count": 1539
        }
      }
    }
```

---

<div class="post-metadata">

### Author: ![weltenwort](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/weltenwort/32/53885_2.png) [@weltenwort](https://discuss.elastic.co/u/weltenwort)
#### Post date: [July 4, 2017, 3:41pm UTC](https://discuss.elastic.co/t/kibana-visualization-field-formatting-and-ordering/91783/4 "2017-07-04T15:41:20Z")

</div>

You are correct, this is a known issue: [https://github.com/elastic/kibana/issues/10543](https://github.com/elastic/kibana/issues/10543) Since 5.0 the Elasticsearch api does not preserve the order. I am sorry I missed that. Please feel free to add your voice to the issue linked above to give it more weight.

---

<div class="post-metadata">

### Author: ![weltenwort](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/weltenwort/32/53885_2.png) [@weltenwort](https://discuss.elastic.co/u/weltenwort)
#### Post date: [July 4, 2017, 3:43pm UTC](https://discuss.elastic.co/t/kibana-visualization-field-formatting-and-ordering/91783/5 "2017-07-04T15:43:50Z")

</div>

For now adding a prefix (e.g. `1 Monday`, `2 Tuesday`, ...) to the custom label is the only workaround I can think of.

---

<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: [August 1, 2017, 3:44pm UTC](https://discuss.elastic.co/t/kibana-visualization-field-formatting-and-ordering/91783/6 "2017-08-01T15:44:03Z")

</div>

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