{"ref":"capability:statistical-analysis","page":"/capabilities/statistical-analysis","json":"/capabilities/statistical-analysis.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"statistical-analysis","name":"Statistical analysis","domain":"data-and-persistence","ecosystems":["abap"],"universal":false,"description":"Describing a set of values with numbers: spread, quantiles, correlation, the shape of the distribution they came from, and drawing a sample from a named one. Computed in the application over data it already holds, which is what separates it from [analytical queries](capability:analytical-queries), where a service answers the grouped read a chart sends, and from [predictive models](capability:predictive-models), which train and serve something that predicts a value.","short":"Describing a set of values with statistics","core_coverage":{"state":"core-and-community","assessed_at":"2026-09-29","what_core_does":"ABAP SQL reduces the rows of a result set to one value with an aggregate expression written into the `SELECT` list beside a `GROUP BY`; SAP's cheat sheet shows `AVG`, `MAX`, `MIN`, `SUM`, `COUNT` and `STRING_AGG` as a selection of the available functions. Among the released classes, `CL_ABAP_PROB_DISTRIBUTION` generates random numbers from probability distributions and calculates probabilities, beside the `CL_ABAP_RANDOM*` family for arbitrary numbers of a given numeric type.","where_it_stops":"At the read, and at one number. An aggregate is evaluated while the database answers the query, so an internal table already in memory is outside it, and each function returns a value rather than a description of the sample it came from. `CL_ABAP_PROB_DISTRIBUTION` runs the other way, from a named distribution to numbers and probabilities; reading a distribution back out of data that exists is not what it offers.","relationship":"unassessed","note":"The community side here is a single library, so what it adds is that library's method list rather than a survey of a field.","community_adds":"One class computes over an internal table what the aggregates leave out: quartiles and the outliers outside them, the harmonic, geometric and quadratic means, variance, skewness, kurtosis, and the covariance and correlation of two columns, each of them also per group. It adds min-max and z-score scaling, a Freedman-Diaconis histogram with the empirical density and distribution functions derived from the data, and a Jarque-Bera test of whether the values are normal.","sources":[{"url":"https://github.com/SAP-samples/abap-cheat-sheets/blob/main/03_ABAP_SQL.md","title":"ABAP cheat sheets — ABAP SQL, Aggregate Expressions","checked":"2026-09-29","quote":"The example shows a selection of available functions"},{"url":"https://github.com/SAP-samples/abap-cheat-sheets/blob/main/22_Released_ABAP_Classes.md","title":"ABAP cheat sheets — Released ABAP Classes, CL_ABAP_PROB_DISTRIBUTION","checked":"2026-09-29","quote":"For generating random numbers from various probability distributions and performing probability calculations."},{"url":"https://github.com/SAP-samples/abap-cheat-sheets/blob/main/22_Released_ABAP_Classes.md","title":"ABAP cheat sheets — Released ABAP Classes, CL_ABAP_RANDOM*","checked":"2026-09-29","quote":"For generating arbitrary numbers for different numeric types"}]},"drafted_with_ai":true},"sap_delivery":{"door":"abap","all":null,"by_flavor":{"standard-abap":null,"abap-cloud":null}},"edges":{"use_cases":[],"shared_tasks":[],"related_tasks":[],"options":[{"ref":"artifact:zenrosadira-abap-tbox-stats","name":"ABAP Statistical Tools","json":"/artifacts/zenrosadira-abap-tbox-stats.json","ecosystem":"abap","origin_ring":"independent"}],"samples":[],"explained_by":[],"normative_context":[]}}