Transform: Display correct field name when using reduce transformation (#25068)

* fix field names

* add dataframes argument and fix tests
This commit is contained in:
Peter Holmberg 2020-05-25 14:26:03 +02:00 committed by GitHub
parent 923faf78f1
commit 880a11773b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 7 deletions

View File

@ -58,7 +58,7 @@ describe('Reducer Transformer', () => {
{
name: 'Field',
type: FieldType.string,
values: new ArrayVector(['temperature {A}', 'humidity {A}', 'temperature {B}', 'humidity {B}']),
values: new ArrayVector(['A temperature', 'A humidity', 'B temperature', 'B humidity']),
config: {},
},
{
@ -104,7 +104,7 @@ describe('Reducer Transformer', () => {
{
name: 'Field',
type: FieldType.string,
values: new ArrayVector(['temperature {A}', 'temperature {B}']),
values: new ArrayVector(['A temperature', 'B temperature']),
config: {},
},
{
@ -150,7 +150,7 @@ describe('Reducer Transformer', () => {
{
name: 'Field',
type: FieldType.string,
values: new ArrayVector(['temperature', 'humidity']),
values: new ArrayVector(['A temperature', 'A humidity']),
config: {},
},
{
@ -196,7 +196,7 @@ describe('Reducer Transformer', () => {
{
name: 'Field',
type: FieldType.string,
values: new ArrayVector(['temperature']),
values: new ArrayVector(['A temperature']),
config: {},
},
{

View File

@ -9,6 +9,7 @@ import { guessFieldTypeForField } from '../../dataframe/processDataFrame';
import { getFieldMatcher } from '../matchers';
import { FieldMatcherID } from '../matchers/ids';
import { filterFieldsTransformer } from './filter';
import { getFieldDisplayName } from '../../field';
export interface ReduceTransformerOptions {
reducers: ReducerID[];
@ -79,9 +80,7 @@ export const reduceTransformer: DataTransformerInfo<ReduceTransformerOptions> =
});
// Update the name list
const seriesName = series.name ?? series.refId ?? seriesIndex;
const fieldName =
field.name === seriesName || data.length === 1 ? field.name : `${field.name} {${seriesName}}`;
const fieldName = getFieldDisplayName(field, series, data);
values[0].buffer.push(fieldName);