mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-12 04:27:39 +00:00
(feature)(chat-sdk) modify recommend metric rule
This commit is contained in:
@@ -117,7 +117,6 @@ const ParseTip: React.FC<Props> = ({
|
|||||||
|
|
||||||
const getTipNode = () => {
|
const getTipNode = () => {
|
||||||
const dimensionItems = dimensions?.filter(item => item.type === 'DIMENSION');
|
const dimensionItems = dimensions?.filter(item => item.type === 'DIMENSION');
|
||||||
const metric = metrics?.[0];
|
|
||||||
|
|
||||||
const itemValueClass = `${prefixCls}-tip-item-value`;
|
const itemValueClass = `${prefixCls}-tip-item-value`;
|
||||||
const entityId = dimensionFilters?.length > 0 ? dimensionFilters[0].value : undefined;
|
const entityId = dimensionFilters?.length > 0 ? dimensionFilters[0].value : undefined;
|
||||||
@@ -153,11 +152,14 @@ const ParseTip: React.FC<Props> = ({
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{!queryMode?.includes('ENTITY') &&
|
{!queryMode?.includes('ENTITY') &&
|
||||||
metric &&
|
metrics &&
|
||||||
|
metrics.length > 0 &&
|
||||||
!dimensions?.some(item => item.bizName?.includes('_id')) && (
|
!dimensions?.some(item => item.bizName?.includes('_id')) && (
|
||||||
<div className={`${prefixCls}-tip-item`}>
|
<div className={`${prefixCls}-tip-item`}>
|
||||||
<div className={`${prefixCls}-tip-item-name`}>指标:</div>
|
<div className={`${prefixCls}-tip-item-name`}>指标:</div>
|
||||||
<div className={itemValueClass}>{metric.name}</div>
|
<div className={itemValueClass}>
|
||||||
|
{metrics.map(metric => metric.name).join('、')}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{['METRIC_GROUPBY', 'METRIC_ORDERBY', 'ENTITY_DETAIL', 'LLM_S2QL'].includes(
|
{['METRIC_GROUPBY', 'METRIC_ORDERBY', 'ENTITY_DETAIL', 'LLM_S2QL'].includes(
|
||||||
|
|||||||
@@ -205,7 +205,14 @@ const ChatMsg: React.FC<Props> = ({ queryId, data, chartIndex, triggerResize })
|
|||||||
|
|
||||||
const existDrillDownDimension = queryMode.includes('METRIC') && !isText && !isEntityMode;
|
const existDrillDownDimension = queryMode.includes('METRIC') && !isText && !isEntityMode;
|
||||||
|
|
||||||
const isMultipleMetric = queryMode.includes('METRIC') && chatContext?.metrics?.length > 1;
|
const recommendMetrics = chatContext?.metrics?.filter(metric =>
|
||||||
|
queryColumns.every(queryColumn => queryColumn.nameEn !== metric.bizName)
|
||||||
|
);
|
||||||
|
|
||||||
|
const isMultipleMetric =
|
||||||
|
(queryMode.includes('METRIC') || queryMode === 'LLM_S2QL') &&
|
||||||
|
recommendMetrics?.length > 0 &&
|
||||||
|
queryColumns?.filter(column => column.showType === 'NUMBER').length === 1;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={chartMsgClass}>
|
<div className={chartMsgClass}>
|
||||||
@@ -222,7 +229,8 @@ const ChatMsg: React.FC<Props> = ({ queryId, data, chartIndex, triggerResize })
|
|||||||
>
|
>
|
||||||
{isMultipleMetric && (
|
{isMultipleMetric && (
|
||||||
<MetricOptions
|
<MetricOptions
|
||||||
metrics={chatContext.metrics}
|
// metrics={chatContext.metrics}
|
||||||
|
metrics={recommendMetrics}
|
||||||
defaultMetric={defaultMetricField}
|
defaultMetric={defaultMetricField}
|
||||||
currentMetric={activeMetricField}
|
currentMetric={activeMetricField}
|
||||||
onSelectMetric={onSwitchMetric}
|
onSelectMetric={onSwitchMetric}
|
||||||
|
|||||||
Reference in New Issue
Block a user