Step 2: Define the Semantic Model in Datasphere
The semantic model is the foundation of your data product. This is where you define what the data is, how it's structured, and what it means. In Datasphere terms, you're working with tables, views, associations, and analytic models—and, for a BDC data product, local tables in a file space that become your data product interface.
Start by documenting the consumer interface. Create a simple spreadsheet that lists exactly what columns you're exposing and why. For Revenue Recognition, this might be: Invoice ID, Invoice Date, Customer ID, Revenue Amount, GL Account, Business Unit, Region. For each column, document what it means, where it comes from, and any calculation logic. This documentation is lightweight, but it forces you to think through what you're actually exposing. It's your contract in draft form.
Next, map the source systems. Where does each column come from? If Invoice ID comes from SAP's VBRK table, document that. If Revenue Amount requires joining billing documents with accounting line items and applying GL account logic, document that. If Business Unit comes from a separate master data system, document that. The goal is understanding data lineage before you build the model. This prevents surprises later when you discover that Revenue Amount doesn't exist in SAP and requires custom calculation.
Then, build the model in Datasphere. For SAC consumption, that means fact views with associated dimensions and an analytic model on top (the older Analytical Dataset semantic usage has been deprecated since release 2023.13). For a custom data product in BDC there is one more constraint: its artifacts must be local tables in a file space—SAP HANA Data Lake Files, Datasphere's object store. In practice you land the source data there with replication flows, the BW Data Product Generator, or Spark-based transformation flows, apply the business logic in that layer, and keep your analytic model for SAC on top. Your semantic model is not a copy-paste of SAP tables. It's a thoughtful curation that applies business logic. "Revenue Amount" might require summing invoiced amounts, applying deductions, and excluding specific transaction types. This logic lives in the data product's transformation layer and semantic model, not in consumer reports. This is what makes data products powerful—the logic is defined once, in one place, and reused everywhere.
As you build, focus on getting the dimensions right. Dimensions (Customer, Region, GL Account, Business Unit) determine how consumers can slice and analyze the data. If you're missing a dimension that consumers need, they'll ask for it, and you'll have to rebuild. Spending time getting dimensions right prevents rework. Talk to your consumers—what dimensions do they actually analyze? Revenue by Customer, by Region, by GL Account, and by Month? Include those. Revenue by Salesperson? Only if that's actually a dimension they need. In early discussions, you'll surface dimensions you hadn't considered. That's valuable. The semantic model build is where you incorporate that feedback.