diff --git a/packages/cubejs-playground/src/QueryBuilderV2/QueryBuilderResults.tsx b/packages/cubejs-playground/src/QueryBuilderV2/QueryBuilderResults.tsx index 12e751c60f790..7132118232ec2 100644 --- a/packages/cubejs-playground/src/QueryBuilderV2/QueryBuilderResults.tsx +++ b/packages/cubejs-playground/src/QueryBuilderV2/QueryBuilderResults.tsx @@ -786,7 +786,7 @@ export function QueryBuilderResults({ forceMinHeight }: { forceMinHeight?: boole ]; case 'percent': return [ - `${formatNumber(typeof value === 'string' ? parseFloat(value) : value)}%`, + `${formatNumber((typeof value === 'string' ? parseFloat(value) : value) * 100)}%`, 'percent', ]; default: diff --git a/packages/cubejs-playground/src/QueryBuilderV2/components/ChartRenderer.tsx b/packages/cubejs-playground/src/QueryBuilderV2/components/ChartRenderer.tsx index e1d60a2d1f441..0ddcc908128a5 100644 --- a/packages/cubejs-playground/src/QueryBuilderV2/components/ChartRenderer.tsx +++ b/packages/cubejs-playground/src/QueryBuilderV2/components/ChartRenderer.tsx @@ -466,6 +466,10 @@ const TypeToChartComponent = { return text && text !== '0' ? 'true' : 'false'; } + if (c.format === 'percent' && text != null) { + return `${(parseFloat(text) * 100).toFixed(2)}%`; + } + return text; } }, diff --git a/packages/cubejs-playground/src/components/DrilldownModal/TableQueryRenderer.tsx b/packages/cubejs-playground/src/components/DrilldownModal/TableQueryRenderer.tsx index 0d25849f94143..95efeb73af520 100644 --- a/packages/cubejs-playground/src/components/DrilldownModal/TableQueryRenderer.tsx +++ b/packages/cubejs-playground/src/components/DrilldownModal/TableQueryRenderer.tsx @@ -36,7 +36,7 @@ const formatTableData = (columns, data) => { } if (type === 'number' && format === 'percent') { - return [parseFloat(value).toFixed(2), '%'].join(''); + return [(parseFloat(value) * 100).toFixed(2), '%'].join(''); } return value.toString();