Often you want to manipulate the data you are using to get a report just the way the user wants.

And often this requires you to do sub queries on the data you are using (for me it was creating columns for my measures based on offset periods, so I could calculate movement)

With a lot of products you have to do something tricky with the data before you bring it into the tool, or hack something in the semantic layer.

But with Yellowfin subqueries are just a core part of the report building capability.

You can build sub queries to:

Append The append sub query takes the results of one query and appends them to another set of results as additional columns. The purpose of this query is to allow the result of one query to be compared to that of another.
Union The union sub query combines the results of two queries into a single table of matching columns. Unions can be useful in a data warehouse application when tables aren’t perfectly normalised.
Minus The minus sub query takes distinct rows of one query and returns the rows that don’t appear in the second query.
Intersect The intersect query takes the results of two queries and returns only the rows that appear in both sets.

So powerful so cool!

And of course how to use the subquery is documented in the Yellowfin wiki here:

Nice, Love it!