feat(transformations): allow groupBy aggregation

pull/107903/head
Ihor Yeromin 2 weeks ago
parent 015b2f6b0a
commit d9b4949dd6
  1. 6
      packages/grafana-data/src/transformations/transformers/groupBy.ts
  2. 10
      public/app/features/transformers/editors/GroupByTransformerEditor.tsx

@ -146,11 +146,7 @@ export const groupByTransformer: DataTransformerInfo<GroupByTransformerOptions>
const shouldCalculateField = (field: Field, options: GroupByTransformerOptions): boolean => {
const fieldName = getFieldDisplayName(field);
return (
options?.fields[fieldName]?.operation === GroupByOperationID.aggregate &&
Array.isArray(options?.fields[fieldName].aggregations) &&
options?.fields[fieldName].aggregations.length > 0
);
return Array.isArray(options?.fields[fieldName]?.aggregations) && options?.fields[fieldName].aggregations.length > 0;
};
/**

@ -26,11 +26,7 @@ interface FieldProps {
onConfigChange: (config: GroupByFieldOptions) => void;
}
export const GroupByTransformerEditor = ({
input,
options,
onChange,
}: TransformerUIProps<GroupByTransformerOptions>) => {
const GroupByTransformerEditor = ({ input, options, onChange }: TransformerUIProps<GroupByTransformerOptions>) => {
const fieldNames = useAllFieldNamesFromDataFrames(input, true);
const onConfigChange = useCallback(
@ -88,7 +84,7 @@ export const GroupByTransformerEditor = ({
);
};
export const GroupByFieldConfiguration = ({ fieldName, config, onConfigChange }: FieldProps) => {
const GroupByFieldConfiguration = ({ fieldName, config, onConfigChange }: FieldProps) => {
const theme = useTheme2();
const styles = getStyles(theme);
@ -127,7 +123,7 @@ export const GroupByFieldConfiguration = ({ fieldName, config, onConfigChange }:
/>
</div>
{config?.operation === GroupByOperationID.aggregate && (
{config?.operation && (
<StatsPicker
className={styles.aggregations}
placeholder={t('transformers.group-by-field-configuration.placeholder-select-stats', 'Select stats')}

Loading…
Cancel
Save