Introducing the Analytic Model in SAP Datasphere
Last week we launched SAP Datasphere as the next generation of SAP Data Warehouse Cloud, but with new capabilities for enhanced data discovery, modeling & distribution.
The new Analytic Model is one of the cornerstones of SAP Datasphere in that it allows multi-dimensional and semantically rich analytical modelling to answer business questions easier, faster and more efficiently.
Today, we are starting an own blog series to bring you all the details about the rich feature set of the Analytic Model. Guided by concrete examples, we’ll be looking in detail on features like measure modelling, variable modelling, data preview, exception aggregation and time-dependency. We will also focus on the benefits over the Analytical Dataset, touch on the positioning with regards to Business Layer, inspect the usage in SAP Analytics Cloud and much more.
We plan to release a new blog every Monday for the coming weeks. These blogs have been released so far:
- Introducing the Analytic Model (this blog)
- Example Data Model used along the entire blog series
Stay tuned for more blogs around the Analytic Model in the coming weeks
Introducing the Analytic Model & its benefits
The Analytic Model elevates the rich data & semantics of SAP Datasphere for immediate consumption in SAP Analytics Cloud and other channels. It provides
- Rich measure modelling: With calculation after aggregation, restricted measures & exception aggregation as well as the possibility to stack all of these, users can build very complex calculation models and even refine them in SAC stories
- Careful design how analytics users see the data: modelers can curate which measures, attributes and associated dimensions to expose to users. This helps analytics users to see exactly the data that is relevant to them, reduces likelihood for errors & boosts performance
- Collection of user input via prompts in SAP Analytics Cloud: these can be used for subsequent calculations, filters & time-dependency. Value helps are provided too, of course.
- Rich previewing possibility: modelers can inspect the result of their modelling efforts in-place because the Data Analyzer of SAP Analytics Cloud is tightly embedded into the Analytic Model editor. So slice & dice, pivoting, filtering, hierarchy usage and many more features are available to help users understand the data how it’ll be presented for consumption
- Time-dependency support: Analytic Models support this critical feature to let users travel back & forth in time while Lines of Business, structures & organizations are constantly evolving.
- Dependency Management & Transport: Complex analytic projects require careful planning and a sophisticated toolset for managing the dependency and lifecycle of all modelling artefacts. The Analytic Model is fully integrated into the SAP Datasphere repository and thus benefits from impact & lineage analysis, change management & transport management
The Analytic Model will ultimately be THE go-to analytical consumption artefact of SAP Datasphere for all channels. While Analytical Datasets in the Data Layer and Business Layer Perspectives will not go away any time soon, the Analytic Model already today offers a superior feature set for almost all modelling situations.
As a quick overview, let’s see the Analytic Model in action:
I’m in – how do I start?
The Analytic Model is automatically available the the Data Builder of your SAP Datasphere tenant.
Let’s use this 8-step process to get you started:
- To start, just launch the Data Builder and hit New Analytic Model. You can add any Analytical Dataset as fact source and the wizard will prompt you on which attributes, measures & associated dimensions to include.
- From here, just add additional reachable dimensions and their attributes. The system will automatically create the necessary database joins to let users drill-down by even the farthest of dimensions. This way, modelers can very carefully design what parts of the data model to expose for a given analytics use case.
- Via the measures section of the properties panel you can add custom measures to your model:
- With calculated measures, complex calculations can be expressed on top of the current drill-down & filter state. This calculation will be performed after aggregation. Calculated measures allow pulling together existing measures and combine them via standard operators and complex functions.
- Restricted measures, by contrast, are all about filtering data in complex ways across one or many dimensions & values. User input can be collected for full flexibility & dynamics. Especially when taken together with calculated measures, for example, complex ratios and value distributions can be expressed. Restricted measures also allow to redefine the standard aggregation of source measures to e.g. replace a SUM by a MAX, MIN or Average.
- Count distinct measures allow to count dimension members of the current drill-down and are super-helpful to e.g. count distinct customers in a sales region, or distinct products in a store.
Exception aggregation can be added in order to express complex subquery relationships. Typical examples include counting customers w special properties, reporting warehouse stock levels that cannot be aggregated along the time axis or reporting on the total sales of best-performing products.
As indicated above, all of these measures can be stacked as well as enriched by additional calculated measures in SAP Analytics Cloud.
- The variables section allows users to define what information to collect from reporting users:
- Source variables are originating from the fact source’s input parameters
- Restricted measure variables can be used to dynamically restrict measures based on user input.
- Filter variables represent dimension member filters that are applied before data is queried from SAP Datasphere. This helps reduce transferred data volume for improved performance and often increases model reuse across scenarios, if for example the same data source is used by two different organizations and users are thus prompted to enter their organization before starting the analysis.
- Reference data variables collect the point in time used to evaluate time-dependent dimensions or texts. Its value is automatically pushed down as a time filter such that only members whose from-date & to-date contain the reference date are retrieved at reporting time
Depending on measure type, additional settings are offered to enforce single-valued or multi-valued user input or define a variable as optional or mandatory. Default values can be defined too, of course.
- Global filters allow setting static filters on one or several dimensions. This helps reduce transferred data and boost performance. To create dynamic filters, revert back to above-mentioned filter variables.
- You can preview your Analytic Model at all times using the built-in data preview. It’s a rich analysis environment that allows you to constantly check the modelling outcome and see exactly how SAP Analytics Cloud users will see your model.
- If you are happy, deploy the Analytic Model to create the necessary runtime artefacts.
- Finally, go to SAP Analytics Cloud and start building your story. Users should go for the Optimized Design Experience to be sure they benefit from all future feature evolutions. As mentioned, users can add custom calculated measures or attributes within SAP Analytics Cloud.
And that’s it. With your data prepared in SAP Datasphere, building an Analytic Model on top is a seamless and enjoyable experience that helps analytics users get the most of your treasure trove of data in SAP Datasphere.
As a final note, rest assured that Analytical Datasets will not go away any time soon, so stories will continue to work without any migration effort. In case you want to leverage the benefits of the Analytic Model though, you’ll need to adapt the respective story via a well-defined process that we’ll describe in a subsequent blog. We suggest that all new story developments should embrace the Analytic Model, because it is the most feature-rich and future-proof path to proceed.
Analytic Model – Wrap Up
As mentioned, the Analytic Model is THE go-to analytical consumption artefact for all channels. It’s multi-dimensional by design and allows for rich modelling via rich semantics, thus making consumption of analytical data very simple for tools like SAP Analytics Cloud.
It does so by combining a rich expressiveness for measure modelling, flexibility in designing how users will consume the data and how to collect input from them with a powerful data preview environment, time-dependency support and professional management of artefacts along their lifecycle.
I hope that you are eager to jump to the keyboard and start creating your first Analytic Models. With the follow-up blogs of the coming weeks, we’ll give you all the details required to extract the best possible value out of this new feature. Stay tuned & happy modelling.
Great overview Jan!
Great resume Jan.
So having in mind that analytic model has superior capabilities than Analytical dataset, Could we say that business users should use Analytic model in data builder instead of Business builder objects? Or is planned to leverage Analytic model in Business builder?
Is it possible to consume the Analytical dataset via Power BI? If not is this planned?
nice blog... but the unevitable question that comes to my mind is: Why, why now, why not earlier?
SAP invents new artifacts faster than customers can keep step with existing functionality... and we constantly have to adjust objects ... like SAC old model vs. new model. Regular Story design vs. Optimized view mode ... now Analytical dataset vs. Analytical Model. Same with the name... first DWC now Datasphere.
It looks like SAP is not aware what they are doing? I mean you don't re-invent the world! SAP BW has been existing for more than 20 years now. Is it so difficult to get the best out of it and develop this cloud-ready?
I agree with you, we did estimates and projecs on customers. And at delivery time the practice we used are obsolete.
I would add some points:
1) language dependent text functionality wants 2 character string as language (only for SAC). If you use another BI tool that read from hana database you need to put a 5 character locale as language ( en_en, en_us, it_it, it_ch, fr_fr and so on..).
And all these rule works for perspective in business builder, who knows for analytical dataset?
2) same story for row level securities. With sac the user name needs to be the email login. For Business objects (bobj/webi) it needs to be the database login that you specify in the space(so you will find yourself lost in adding database users and re-deploy spaces only to add a user).
3) associations works only with sac. (they are useless for other BI tools).
4) story filters and so on works only with sac.
5) multi value input parameters are not supported.
6) "date" type input parameters do not work in sql script view.
7) graphical view are converted in SQL view in the database(not calculation view).
=> so it is very difficult to have multiple BI tools with the same data structure.
Now the new rule is to use analytical models.
But analytical models do not support multiple fact source (that are instead supported by fact models and consumption models in business builder).
=> so at the moment they do not give any advantage over business builder objects.
But business builder objects can not be transported between tenant (quality to production for example).
But business builder objects can be organized into folder.
And analytical models and other data builder objects can not be organized into folders.
Thanks a lot for your insights... I still don't have it yet.
Jan Fetzer what is your personal point of view on that?
Hi Jan Fetzer ,
thanks for the great overview. It seems that currently the analytic model cannot be consumed by third party tools (e.g. via OData). Will the analytic model be consumable for third-party tools in future? Is anything planned in this direction? I am referring to this page:
Thanks and Regards,
Does anyone know when hierarchies will be supported for the variables.
At the moment it's only possible to choose the values in a variable, even though there is a hierarchy on the dimension.