diff --git a/packages/grafana-data/src/transformations/transformers/groupingToMatrix.test.ts b/packages/grafana-data/src/transformations/transformers/groupingToMatrix.test.ts index 057c41c2fec..bf358b539fd 100644 --- a/packages/grafana-data/src/transformations/transformers/groupingToMatrix.test.ts +++ b/packages/grafana-data/src/transformations/transformers/groupingToMatrix.test.ts @@ -105,11 +105,18 @@ describe('Grouping to Matrix', () => { }); }); - it('generates Matrix with empty entries', async () => { + it.each([ + [undefined, ''], + [SpecialValue.Null, null], + [SpecialValue.False, false], + [SpecialValue.True, true], + [SpecialValue.Empty, ''], + [SpecialValue.Zero, 0], + ])('generates Matrix with empty entries', async (emptyValue, expectedValue) => { const cfg: DataTransformerConfig = { id: DataTransformerID.groupingToMatrix, options: { - emptyValue: SpecialValue.Null, + emptyValue: emptyValue, }, }; @@ -133,13 +140,13 @@ describe('Grouping to Matrix', () => { { name: '1000', type: FieldType.number, - values: [1, null], + values: [1, expectedValue], config: {}, }, { name: '1001', type: FieldType.number, - values: [null, 2], + values: [expectedValue, 2], config: {}, }, ]; diff --git a/packages/grafana-data/src/transformations/transformers/groupingToMatrix.ts b/packages/grafana-data/src/transformations/transformers/groupingToMatrix.ts index 62b3d4e8a74..59c6d015df5 100644 --- a/packages/grafana-data/src/transformations/transformers/groupingToMatrix.ts +++ b/packages/grafana-data/src/transformations/transformers/groupingToMatrix.ts @@ -183,6 +183,8 @@ function getSpecialValue(specialValue: SpecialValue) { return true; case SpecialValue.Null: return null; + case SpecialValue.Zero: + return 0; case SpecialValue.Empty: default: return ''; diff --git a/packages/grafana-data/src/types/transformations.ts b/packages/grafana-data/src/types/transformations.ts index 37501f7d982..f002310e6e1 100644 --- a/packages/grafana-data/src/types/transformations.ts +++ b/packages/grafana-data/src/types/transformations.ts @@ -115,4 +115,5 @@ export enum SpecialValue { False = 'false', Null = 'null', Empty = 'empty', + Zero = 'zero', } diff --git a/public/app/features/transformers/editors/GroupingToMatrixTransformerEditor.tsx b/public/app/features/transformers/editors/GroupingToMatrixTransformerEditor.tsx index a129ddd1ef4..878b9b879d8 100644 --- a/public/app/features/transformers/editors/GroupingToMatrixTransformerEditor.tsx +++ b/public/app/features/transformers/editors/GroupingToMatrixTransformerEditor.tsx @@ -62,6 +62,7 @@ export const GroupingToMatrixTransformerEditor = ({ { label: 'Null', value: SpecialValue.Null, description: 'Null value' }, { label: 'True', value: SpecialValue.True, description: 'Boolean true value' }, { label: 'False', value: SpecialValue.False, description: 'Boolean false value' }, + { label: 'Zero', value: SpecialValue.Zero, description: 'Number 0 value' }, { label: 'Empty', value: SpecialValue.Empty, description: 'Empty string' }, ];