Data access
Use this category when you want to bring uploaded or source data into node formulas, or send data to an external service and return the result to the model.
These functions connect your model logic to data outside the formula itself.
Start here if…
- You want to reference a measure from an uploaded table
- You want to connect data using the Function Editor UI
- You want to send cube inputs to an external service and return a result cube
Not here if…
- You want to filter, fill, pick, or rank data after loading it → see Filtering & data shaping
- You want to reshape granularity → see Dimensionality & hierarchies
Mental model
DATA(...)returns values from a specific DataTable measureAPI_CALL(...)sends one or more input cubes to an external endpoint and expects a result cube in return
Common patterns
Reference a measure from a data table
DATA("DataSourceName","TableName","MeasureName")
Use when your node should directly represent a measure from uploaded or source data.
Set the unit on a DATA result
DATA("Model Data","Gross_Sales","Price","EUR")
Optional, use when you want to explicitly supply a unit.
Use the UI to connect data
Use the Data button in the Function Editor to select DataSource → Table → Measure and let Valsight generate the DATA(...) call.
Call an external service and return a cube
API_CALL("https://externalServer.com/sumTwoNodes", ['Node A', 'Node B'], ["Year", "Country"])
Use when logic or data lives outside Valsight and the external system returns the result.
Functions in this category
| Function | Description |
|---|---|
| DATA | References a DataTable measure and returns its values. |
| API_CALL | Sends input nodes to an external URL via POST and returns the result to the model. |
Choosing between similar functions
DATA vs API_CALL
- Use
DATAwhen the values already exist in your uploaded/source tables and should be consumed directly in the model - Use
API_CALLwhen the values must be computed or retrieved externally and returned as a cube
Pitfalls & troubleshooting
- DATA returns empty: verify
DataSource,Table,Measurenames match exactly - DATA is empty for specific slices: check whether your model dimensions, levels and level values match the uploaded table values (name/case)
- Units behave unexpectedly: confirm whether you rely on measure metadata or explicitly set the optional unit parameter in
DATA - API_CALL is unavailable: it may require enablement (for example a separate subscription or configuration)
- API_CALL returns an error: ensure the response follows the expected Valsight table/cube JSON structure and includes the required result shape; otherwise Valsight can’t cast it into a node
- API_CALL fails due to restrictions: check configuration limits (for example allowed URLs, payload size/row limits, and timeouts)
Related sections
- Function catalog: full signatures, parameters, and examples
- Filtering & data shaping: select, fill, pick, rank after loading data
- Dimensionality & hierarchies: make the loaded data match required output shape