The CUBES rowset has a column called CUBE_TYPE for which there are two possible values: CUBE and VIRTUAL_CUBE.
A CUBE value denotes an ordinary cube composed of dimensions and data points. A VIRTUAL_CUBE value is obtained through a query on one or more cubes or virtual cubes whose result resembles a cube. That is, a cube is to a virtual cube as a table is to a view.