Utilizing Nested Results as Numbers in Dashboard

Versions (relevant - OpenSearch/Dashboard/Server OS/Browser):

OpenSearch: v2.14.0
Dashboard: Unsure, but I think 2.14 as well
Server OS: Windows 11
Browser: Firefox v133.0.3

Describe the issue:

EDIT: I changed my aggregation in my DSL to this, and I am getting aggregate results. That’s progress! However, since the Dashboard does it’s own DQL filtering of the data for Visualization aggregations, I’m not sure how to handle that. I’ve tried both of these DQL statements, but neither enable number-based metrics:

financial.properties.spend_plan.properties.actuals
financial: { spend_plan: { actuals: * } }

Here’s my updated DSL aggregation:

"aggs": {
  "total_actuals": {
    "nested": {
      "path": "financial.spend_plan"
    },
    "aggs": {
      "sum_actuals": {
        "sum": {
          "field": "financial.spend_plan.actuals"
        }
      }
    }
  }
}

I’m trying to query a scaled_float field inside a nested hierarchy. In DevTools/DSL, if I create a non-specific query and get back all my data, the scaled_float field is not available as a number in the Dashboard. If I create a specific DSL query in DevTools and try to aggregate it, I get no results. I’ve put a partial listing of my index, query, and results to illustrate the issue. I’m unable to include the full details due to confidentiality. The issue is that I don’t seem to be able to query for that field and have it available as a number in the Dashboard for Metric Aggregations, for example. Thanks in advance for reviewing this.

Here’s my index:

“my_financial_index”: {
“aliases”: {},
“mappings”: {
“dynamic”: “strict”,
“properties”: {
“financial”: {
“properties”: {
“spend_plan”: {
“type”: “nested”,
“properties”: {
“actuals”: {
“type”: “scaled_float”,
“scaling_factor”: 1000.0
},

Here’s my query:

GET /my_financial_index/_search
{
“query”: {
“nested”: {
“path”: “financial.spend_plan”,
“inner_hits”: {},
“query”: {
“bool”: {
“must”: [
{
“range”: {
“financial.spend_plan.actuals”: {
“gte”: “1000”
}
}
}
]
}
}
}
},
“_source”: [ “financial.spend_plan.actuals” ],
“aggs”: {
“sum-actuals”: {
“sum”: {
“field”: “financial.spend_plan.actuals”
}
}
}
}

Here’s my results:

{
“took”: 7,
“timed_out”: false,
“_shards”: {
“total”: 1,
“successful”: 1,
“skipped”: 0,
“failed”: 0
},
“hits”: {
“total”: {
“value”: 16,
“relation”: “eq”
},
“max_score”: 1,
“hits”: [
{
“_index”: “my_financial_index”,
“_id”: “282ebf7b-e801-4995-a4be-c213e9c4f499”,
“_score”: 1,
“_source”: {
“financial”: {
“spend_plan”: [
{
“actuals”: 7000
},
{
“actuals”: 5000
},

“aggregations”: {
“sum-actuals”: {
“value”: 0
}
}

The Discovery results look correct, but they’re in a list form. However, the type designation is number (#).

financial.spend_plan.actuals
7000, 5000

Configuration:

I’m using OpenSearch within Docker v4.36.0

Relevant Logs or Screenshots: