mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Transformations: Fix bug with calculate field when using reduce and the all values calculation (#75684)
* fix reduce all fields * Add test for issue
This commit is contained in:
parent
27aa1c466a
commit
523cb97aff
@ -254,7 +254,7 @@ export const fieldReducers = new Registry<FieldReducerInfo>(() => [
|
|||||||
name: 'All values',
|
name: 'All values',
|
||||||
description: 'Returns an array with all values',
|
description: 'Returns an array with all values',
|
||||||
standard: false,
|
standard: false,
|
||||||
reduce: (field: Field) => ({ allValues: field.values }),
|
reduce: (field: Field) => ({ allValues: [...field.values] }),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: ReducerID.uniqueValues,
|
id: ReducerID.uniqueValues,
|
||||||
|
@ -222,6 +222,33 @@ describe('calculateField transformer w/ timeseries', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('reduces all field', async () => {
|
||||||
|
const cfg = {
|
||||||
|
id: DataTransformerID.calculateField,
|
||||||
|
options: {
|
||||||
|
mode: CalculateFieldMode.ReduceRow,
|
||||||
|
reduce: { include: ['B', 'C'], reducer: ReducerID.allValues },
|
||||||
|
replaceFields: true,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
await expect(transformDataFrame([cfg], [seriesBC])).toEmitValuesWith((received) => {
|
||||||
|
const data = received[0];
|
||||||
|
const filtered = data[0];
|
||||||
|
const rows = new DataFrameView(filtered).toArray();
|
||||||
|
expect(rows).toEqual([
|
||||||
|
{
|
||||||
|
'All values': [2, 3],
|
||||||
|
TheTime: 1000,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'All values': [200, 300],
|
||||||
|
TheTime: 2000,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
it('can add index field', async () => {
|
it('can add index field', async () => {
|
||||||
const cfg = {
|
const cfg = {
|
||||||
id: DataTransformerID.calculateField,
|
id: DataTransformerID.calculateField,
|
||||||
|
Loading…
Reference in New Issue
Block a user