The Canvas Student Who Doesn't Exist, and the Two Rows for the One Who Does
A Canvas Data 2 enrollments row is a user in a section in a role, and one of them is Test Student. The semantic model holds the class size Canvas computes in code.
Thoughtful perspectives, practical frameworks, and expert takes on giving every team and AI assistant trusted answers from enterprise data.
A Canvas Data 2 enrollments row is a user in a section in a role, and one of them is Test Student. The semantic model holds the class size Canvas computes in code.
Every financial dimension of a posted Dynamics 365 Finance ledger line sits behind one integer, and the column that decodes it exists only in your tenant. The semantic model names the column.
Text-to-SQL scores 91.2% on the benchmark everyone quotes and 21.3% on the one built from enterprise warehouses. The gap is implicit joins, and a semantic model is where they get declared.
JD Edwards posts dollars, budget dollars, and labor hours into the same F0902 period columns, told apart by a two-letter ledger type. The semantic model names the ledger once, for every query.
Fivetran lands Workday pre-hires beside workers and relatives beside employees, told apart by one column called type. The semantic model declares which rows each question means.
A replicated Banner lands every column and 99 correct foreign keys on the student record, and still cannot say how many students are in each major. The semantic model chooses the in-force row.
Every foreign key in a replicated ServiceTitan schema is correct, and the obvious join still credits each technician the whole ticket. The semantic model is where the split weight gets applied.
Toast stamps every order with the business day its own reports use, then leaves the rule that computed it on an endpoint the connector never calls. The semantic model makes it the only day grain.
Every Shopify money field lands twice, once in your store's currency and once in whatever currency each customer paid in. The semantic model binds revenue to one and refuses to sum the other.
QuickBooks Online Advanced lets you configure twelve custom fields per form. The REST API returns three. The semantic model records which three, and fails loudly on the nine that never arrive.
A HubSpot deal has no company column. The link lives in a bridge table that repeats per association type, so pipeline by account double counts. The semantic model declares the primary association.
Every code field on the opportunity lands as an integer, and the labels live in a stringmap the connector cannot decode. The semantic model is where Won stops meaning three different things.