Like what you see? Have a play with our trial version.


A virtual table allows you to insert an SQL statement into the view which brings back a set of derived fields and used as a logical table in the view builder.

Virtual tables have the following advantages:

  • Reducing the amount of data returned in a query.
    You can include complex calculations and functions in a virtual table. These operations are performed before the result set is returned to a report, which saves time and reduces report complexity.
  • Reducing maintenance of database summary tables.
    Virtual tables can, in some cases, replace aggregate tables stored on a database. These aggregate tables are costly to maintain. Derived tables can return the same data and provide real time data analysis.

Create Virtual Table

  1. To create a new virtual table drag the virtual table icon from your table list onto the canvas.
  2. The virtual table has an additional SQL link, click this to open the SQL popup.

    You can update the name of the table and insert the SQL to create your derived fields.

    Note: Your SQL cannot contain order by statements as this will cause the reports to fail. For aggregate columns ensure that you define the column name (as statement). This is required by Yellowfin to generate column names.
  3. Click the ‘Validate SQL’ Link to test your SQL against your target database.
  4. Click Save to save you SQL. This will show you a list of columns returned from your SQL statement.

Edit Virtual Table SQL

To edit the SQL of your virtual table click the edit link on the virtual table summary page. This will open the SQL editor.

If you have already attached columns from your Virtual table to your view you will have to be aware of the impact that any changes you make will have. For example you may drop columns or rename ones that are already in use.