Skip to content

What is a Functional?

The functional is the basic building block in a brewlytics workflow. A workflow is built by connecting one functional to the next until you reach your desired result. Workflows can range in size from one functional to several hundred.

  • Queries to on-premise or cloud datasets across the web
  • Calls to external services and APIs
  • Data manipulations and conversions
  • Statistical or geospatial calculations
  • Visualization outputs

A functional represents a single step in the overall workflow. Every functional has a set of inputs (or parameters) which affect how the functional runs. For example, a functional which queries a database might have parameters such as geographic area of interest, time range, and other categorical or numerical filters exposed by the database. A functional may have one or more outputs, and in some cases may have no output.

Every functional input/parameter may become a workflow variable. This signifies that the input is prone to change and should not be a hard-coded value. Workflow variables are also available through the workflow’s REST execution URL and as inputs when the workflow is used inside another workflow (sub-workflows).

While every output can be downloaded and connected to other inputs, Workflow Outputs have special meaning. Like Variables, they are exposed outside of the Build environment when your workflow is used within another or via the brewlytics REST API.

Functionals have three logic controls which can be used to control the flow of your analytic:

  • Conditional Hotspot — Attach one or more exception connector(s) and/or complete connector(s) to the conditional hotspot.
  • Exception Connector — If this functional produces a run-time error, the exception connector lets you handle it by connecting to a conditional hotspot.
  • Complete Connector — When this functional completes, the complete connector runs any functionals connected through a conditional hotspot.