BiBlend has a "Create Star Schema" option that can be leveraged for this. The procedure would roughly be:
- Create a Data Source Connector that will retrieve the data you need. This will require a bit of coding, but if you know FDX already it should be pretty straightforward.
- Set up a "blank" set of Transformation rules that will just pass members as they are (see the note on parents further down).
- create a Workflow Profile of type Import, set the Workflow Name to something containing Blend, connect it to DataSource and Transformation rules defined earlier, then configure BiBlend properties setting the Create Star Schema option to True; and execute it.
- query the resulting database View (name starts with vBIB) in the external database, or do your custom SQL joins of the resulting tables.
This could be then executed periodically with a DM job that runs a bit of very simple coding.
The only drawback of this approach is that parent values might look different than in the cube (no business rules, no aggregation weight or %Cons, simpler translation -> different numbers), and that BiBlend can only accept base data. This can be solved by mapping parents to "dummy" base members, but then you will need to do some postprocessing of results - i.e. run some SQL that pulls parent values from the dummy records and saves them back where they belong. (mhh, this is actually shaping up to be an idea for a blog post...)
As for the pull/push thing: the OneStream REST Api has methods to kickstart DM jobs and to execute Dashboard Data Adapters; what you choose depends on your needs. You will have to be familiar with coding outside of OneStream to invoke it. The main obstacle is having a proper SSO-enabled environment - not a problem if you're on the OneStream Cloud, but potentially challenging if you're on-prem. One thing to keep in mind is that HTTP calls can be flaky; if you plan to export hundreds of megabytes with each call, it would be probably better to do the export with a DM job, rather than forcing everything to go through a web call. You can trigger the job with a web call anyway. The REST guide has all the available endpoints, is there anything in particular that you're not clear about...?
There is also the Smart Integration Connector (SIC), which could be an option if you're on a recent release; but I'm not entirely familiar with it yet, and I'm not 100% sure it applies here. SIC is mostly meant to pull data in OneStream rather than extracting it, as far as I know.