Business Model guide
Business Model turns tables in your data warehouse into a clean, governed model that everyone else uses: cubes (one per table, with measures and dimensions) joined together in views. When you Publish, the views become datasets in Dashboard builder and fields in Query Builder.
Who: Modelers and Admins, in workspaces where Business Model is turned on. Modelers open it from the Portal (Build → Business Model); Admins can also open it from the Portal. It opens in a new tab.
Business Model is not Apache Superset. You build charts in Dashboard builder and ask ad-hoc questions in Query Builder; Business Model defines the fields they use.
How it's organized
- One model per connection. Each warehouse connection is its own model. Pick it with the connection switcher at the top.
- Cubes, views and joins belong to that connection. Cubes from different connections can't be joined.
- To add a warehouse, use + Add connection in the switcher. You'll set it up, then come straight back here. ··· → Manage connection opens the current connection's settings.
The studio
| Part | What it does |
|---|---|
| Connection switcher | Switches models. + Add connection adds a warehouse. |
| Sidebar Overview | Where you are: Tables → Cubes → Views → Published, and the next step to take. |
| Sidebar Tables | Tables on this connection that cubes can use. + Add browses the connection. |
| Sidebar Cubes | Your cubes. + New picks any table (and adds it to Tables if needed). |
| Sidebar Views | Your views. + New opens a new view's diagram. |
| Publish | Review your unpublished changes, then make them live. |
| ··· | Import Framework Manager project… and Manage connection. |
Dots tell you the state: violet = unpublished change, green = live. An amber mark on a view means one of its cubes isn't joined yet.
Build a model in four steps
- Add tables. In Tables, select + Add and pick the warehouse tables you need.
- Create cubes. Open a table and select Create cube from this table (or Cubes → + New). A cube lists the table's measures (numbers you add up, average or count) and dimensions (things you group and filter by, such as region or date). Cube names use letters, numbers and underscores only, for example
OrderItems. - Make a view. In Views, select + New, add the cubes you want, and join them: drag a column onto the matching column in another cube, or add the join from the list. Joins are made between cubes on a view, never between tables.
- Preview and publish. Use Preview data on a cube or view to check the numbers (it runs as one tenant, so you see what a customer would). Then select Publish, review the changes and confirm.
After publishing, the views appear as datasets in Dashboard builder and as fields in Query Builder.
Add spreadsheet data (CSV or Excel)
There are two ways to bring a spreadsheet into a model. Pick by size and by what it needs to join to.
Upload a small file into a warehouse model. Use this for a small lookup or target table that must join your warehouse data, such as sales targets by region or a store list. In Tables → + Add, select Upload file, choose a .csv or .xlsx file, check the preview, and select Add to Tables. The file is added to the connection's model, and you build a cube on it and join it in views like any warehouse table.
- Works on PostgreSQL, Redshift and MySQL connections.
- Up to about 500 KB of data and 100 columns. The preview shows how much of that the file uses. For anything bigger, use a CSV or Excel connection (below).
- Customer column: pick the column that holds your customer ID if the rows differ per customer. Choose None for data that's the same for every customer; every customer then sees all of its rows.
- To change the data, use Replace file on the table. You can't delete a file while a cube uses it.
Use a CSV or Excel connection. Create the file as a connection in Connections (CSV file or Excel file). Every such file appears in Business Model under one connection called Uploaded files, with no row limit. Tables there can be joined to each other, but not to warehouse tables.
- A file that has the connection's tenant column is filtered per customer. A file without it is shared with every customer.
- Column names are tidied for the model, so Order Date becomes
order_date.
Good to know
- Edits are drafts until you publish. Nobody else sees them.
- Aggregation lives here. Whether a measure is a sum, average, count or distinct count is set on the cube. Query Builder users can't change it, so add a second measure if people need both (for example Revenue (sum) and Revenue (average)).
- Folders on fields define drill paths in Query Builder (for example Division → Region → District → Store).
- Tenant filter: each cube notes how customer rows are isolated. The tenant column itself is set on the connection.
- You can't delete the last remaining cube; create its replacement first.
Import from Cognos Framework Manager
··· → Import Framework Manager project… reads a Framework Manager project into a draft, with a list of issues to fix.
- Upload a zip of the project folder, or its model.xml. A
.cpffile on its own isn't enough. - The import never publishes. Review the draft, fix the issues, then publish as usual.
When something's blocked
| You see | What to do |
|---|---|
| Publish is greyed out | There's nothing unpublished yet, or a view still has a cube that isn't joined. Join it, then try again. |
| "Can't find join path" | A view uses two or more cubes that aren't joined on that view. Add the join. |
| No tables to pick | Add a connection first (+ Add connection). |
| "Business Model is temporarily unavailable…" | It's switched off for the whole environment, not just your workspace. Contact support. |
| You can't find Business Model | Your role isn't Modeler or Admin, or Business Model is off for this workspace. |
Related
- Query Builder guide: asking questions of the published model.
- Portal guide: where your team opens dashboards and queries.