apache/superset · error · AlertQueryMultipleColumnsError
Alert query returned more than one column. %(num_cols)s colu
Error message
Alert query returned more than one column. %(num_cols)s columns returned
What it means
Error "Alert query returned more than one column. %(num_cols)s columns returned" thrown in apache/superset.
Source
Thrown at superset/commands/report/alert.py:142
if value is None or pd.isna(value):
self._result = None
self._info_message = "Query returned NULL value"
return
self._result = value
@staticmethod
def _validate_result(rows: np.recarray[Any, Any]) -> None:
# check if query return more than one row
if len(rows) > 1:
raise AlertQueryMultipleRowsError(
message=_(
"Alert query returned more than one row. %(num_rows)s rows returned", # noqa: E501
num_rows=len(rows),
)
)
# check if query returned more than one column
if len(rows[0]) > 2:
raise AlertQueryMultipleColumnsError(
# len is subtracted by 1 to discard pandas index column
_(
"Alert query returned more than one column. "
"%(num_cols)s columns returned",
num_cols=(len(rows[0]) - 1),
)
)
def _validate_operator(self, rows: np.recarray[Any, Any]) -> None:
self._validate_result(rows)
if rows[0][1] is None or pd.isna(rows[0][1]):
self._result = None
self._info_message = "Query returned NULL value"
return
if rows[0][1] == 0:
self._result = 0.0View on GitHub (pinned to f4587218dd)
Solutions
- Rewrite the alert SQL to select a single column.
When it happens
Trigger: The alert query returns more than one column; alerts require a single scalar result.
Common situations: Executing an alert whose SQL query returns multiple columns; alert validators require a single scalar value.
AI-assisted analysis of apache/superset@f4587218dd (2026-08-14).
Data as JSON: /api/errors/479b41cba149229d.
Report an issue: GitHub.