On-demand data table fails with the error, "Could not calculate inputs. Got multiple values for the on-demand parameter for table but expected a single value."

On-demand data table fails with the error, "Could not calculate inputs. Got multiple values for the on-demand parameter for table but expected a single value."

book

Article ID: KB0080661

calendar_today

Updated On:

Products Versions
Spotfire Analyst All Versions

Description

A load of an on-demand data table fails with the following error message:

Could not load on-demand data for table MY_DATA_TABLE
Could not calculate inputs.
Got multiple values for the on-demand parameter '[MY_COLUMN]' for table MY_DATA_TABLE but expected a single value.

Cause:
The input to the on-demand data is defined as "Range (fixed/properties/expression)" and a list of values is provided for the Min and/or Max (like "[MY_DATA_TABLE].[MY_COLUMN]") instead of a single value (like "Min([MY_DATA_TABLE].[MY_COLUMN])") in the expression. The error message is the designed behavior when that mismatch occurs. These on-demand input parameter settings are defined at the following.

Edit Data Define Input > Input for the selected parameter: Range (fixed/properties/expression) > Min/Max > Expression > [MY_DATA_TABLE].[MY_COLUMN].

Issue/Introduction

On-demand data table fails with the error, "Could not calculate inputs. Got multiple values for the on-demand parameter for table but expected a single value."

Resolution

When you are defining the "Range (fixed/properties/expression)" as an expression for an on-demand data table's input parameters, it expects a single value for each parameter, and not a list. To resolve the error you must apply an aggregation method in the expression for each parameter, to convert each list into a single value.

1). Click on Edit > Data Table Properties.

2). Select the on-demand table.

3). Click on Settings.

4). Click on Define Input.

5). In the Expression for Min, use the Min() aggregation method around the expression.

     Example:  Min([MY_DATA_TABLE].[MY_COLUMN])

6). Similarly, in the Expression for Max, use the Max() aggregation method around the expression.

     Example:  Max([MY_DATA_TABLE].[MY_COLUMN])

Additional Information

Doc: Loading Data on Demand