Business Model guide

Business Model guide

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

PartWhat it does
Connection switcherSwitches models. + Add connection adds a warehouse.
Sidebar OverviewWhere you are: Tables → Cubes → Views → Published, and the next step to take.
Sidebar TablesTables on this connection that cubes can use. + Add browses the connection.
Sidebar CubesYour cubes. + New picks any table (and adds it to Tables if needed).
Sidebar ViewsYour views. + New opens a new view's diagram.
PublishReview 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

  1. Add tables. In Tables, select + Add and pick the warehouse tables you need.
  2. 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.
  3. 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.
  4. 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 .cpf file 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 seeWhat to do
Publish is greyed outThere'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 pickAdd 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 ModelYour role isn't Modeler or Admin, or Business Model is off for this workspace.

Related