Data Cube - Python Data Generator

This applies to: Managed Dashboards, Managed Reports

A data cube is a multidimensional model of your data that consists of measures, hierarchies, and metadata such as formatting. The Python Data Generator transform lets you generate data by writing scripts using the Python programming language. This is similar to the Python Analysis transform except that it does not accept input from a preceding transform and generates its own output directly from Python.

You need to be a user with a Developer seat  to create or edit a data cube.

You can use the Python Data Generator transform to provide data to be used or visualized in Symphony. For example, Python can connect to and manipulate REST API data into a usable format, or generate data for prototyping or developing proof-of-concept dashboards.

To learn more about the Python language, see python.org.

 Depending on your software configuration, Python transforms may not be available in your environment.

The Python programming environment must be installed in your Symphony environment for you to use the Python Data Generator transform. See Install Python.

Create a data cube with a python data generator transform

  1. When creating a new data cube, you can add the Python Data Generator transform to an empty canvas from the toolbar.

    • You can also create a new data cube from the main menu, and choose Python Data Generator in the dialog of options that appears. The Python Data Generation transform is added to the data cube and connected to a Process Result transform automatically.

    • You can also add the Python Data Generator transform from the toolbar to an existing data cube process, and use a Union transform or another transform that combines data from multiple inputs.

  2. Configure your transform by selecting Configure from the right-click menu of the transform. Enter a Python Script that returns a result. Optionally select Edit script to use the Script Editor window for more space and to access other helpful features.

    The result must be in a format that can be represented as a table, and data cubes will be unable to use Python outputs such as Print or Draw.

    Use the Print command to print variables to the application logs for debugging. To view these entries, ensure that the Log Filter configuration setting for Data Cubes is set to Information.

  3. Set up Placeholders to insert into the script that pass in parameter values similar to when using a manual select. Insert the placeholder's Identifier (beginning and ending with the $ symbol) into your script to access the current parameter value. Type the $ symbol or right-click for a popup list of the current placeholders, then use the keyboard or mouse to select and insert it.

  4. Select the Use Pooling option to reuse Python processes between execution of Python scripts to improve performance compared to starting a new process each time. There are corresponding configuration settings for Symphony administrators in the Python Pool category to manage the number of processes and their memory consumption.

  5. The output of the Python Data Generator depends on the script it is configured with. It can be a single value, a column of values, or multiple columns.

You can also add a Python Data Generator input transform to an existing data cube as needed when structuring the ETL process in that data cube. For more information, see Python Data Generator.