- Home
- S/4HANA
- Custom Analytical Queries
Custom Analytical Queries: SAP S/4HANA reports without code
Pick a cube, put fields on rows and columns, add a few formulas and publish. The report runs on live SAP S/4HANA data, follows the authorizations of its data source and needs no developer. Here is how it works, how to build one step by step, and the details that usually only turn up in SAP knowledge base articles.
- F1572 · F1572A
- SAP S/4HANA 2023 and 2025
- SAP S/4HANA Cloud 2602
- Key user extensibility
- Profit CenterRows
- G/L AccountFree
- Actual 2025Restricted
- Actual 2026Restricted
- Variance %Calculated
NDIV0( ( ActualCY - ActualPY ) / ActualPY ) * 100
Ctrl+Spacelists every function
Twelve things almost nobody knows
Each card is one small discovery, all of them written down somewhere in SAP Help, SAP Learning or a knowledge base article. Pick one and follow the link to the details.
- 012602 change
F1572AThe classic app no longer creates queriesIn SAP S/4HANA Cloud Public Edition 2602, Create sends you to Custom Analytical Queries and Services. Existing queries can be migrated there. - 02Hidden name
2C + SQL view nameEvery query has a second nameRSRT, Analysis for Office and SAP Analytics Cloud know a query by 2C plus its SQL view name. The app shows it on the Query Information tab. - 03Formulas
Ctrl+SpaceA helper hides in the formula editorIt lists every function with its syntax, plus your measures and user input filters, and inserts the one you pick. - 04Formulas
NDIV0( )Zero instead of a division errorWrap every percentage in NDIV0 and a prior year with no postings shows 0, not an error. - 05Counters
Add CounterCount distinct without a formulaA counter returns the distinct count of any combination of dimensions, such as suppliers per company code. - 06Production
Runtime ExtensibilityUsers add fields without a transportSwitch it on in the General tab and choose the fields. Business users then add them to the multidimensional report, in production. - 07Labels
Dynamic LabelColumn headers that follow the promptA measure label can take a parameter value at runtime, so the header shows the year or plan category the user chose. - 08Display
Hide if allTwo kinds of zero suppressionHide drops a row whose result is zero. Hide if all keeps it when the values behind it are not all zero, such as +5 and -5. - 09Structures
Structure elementOne structure element, no more ODataOnce a query has a characteristic structure element, it can no longer be exposed as an OData service. - 10Sharing
Save as TileYour tile is yours aloneA tile saved from the preview is visible only to you. A team needs an application in a business catalog. - 11Cleanup
"is being used by"Delete in the right orderRemove the catalog assignment, then the application in View Browser, then the query. Otherwise the app refuses. - 12Languages
Maintain TranslationsHeaders in Portuguese or SpanishThe Maintain Translations app translates the texts of custom analytical queries into other languages.
How it works
Six layers between a journal entry and your report
A custom analytical query is the top layer of SAP’s virtual data model. You only build that layer; everything below it is delivered by SAP and already checks authorizations. Pick a layer to see what lives there.
Layer 1
Database tables
The Universal Journal table ACDOCA holds actual line items; ACDOCP holds plan data. Queries never read the tables directly: everything goes through CDS views.
Examples
ACDOCAACDOCP
Tip. Because actuals sit in one journal, profit center, cost center and Margin Analysis reports can all start from the same cube.
Layer 2
Interface views
SAP CDS views give the tables business names, texts and associations, and carry the access controls (DCL) for each business object.
Examples
I_GLAccountLineItemI_ActualPlanJournalEntryItem
Tip. Released interface views are the building blocks for your own views in the Custom CDS Views app.
Layer 3
Cube
A cube combines measures with dimensions. The app offers released SAP cubes, under the stability contract Use System-Internally, and the views you build in Custom CDS Views with the scenario Analytical Cube.
Examples
I_GLAccountLineItemCubeI_ActualPlanJrnlEntryItemCube
Tip. A C_ query is not a data source. View Browser shows the cube underneath it on the Cross Reference tab.
Layer 4
Your query
The app writes a CDS view on top of the cube with your fields, axes, formulas and prompts. Classic queries carry the annotation @Analytics.query; the new app generates an analytical projection view with the provider contract analytical_query.
Examples
YY1_CC_ACTUAL_PLAN2C + SQL view name@Analytics.query: true
Tip. The fix for queries missing in SAP Analytics Cloud on-premise grants the connection user both YY1_* and YY9_* names (KBA 2686844).
Layer 5
Analytic Engine
The same engine that runs BW queries evaluates totals, hierarchies, formulas, exception aggregation and currency conversion on the fly. Nothing is copied: embedded analytics works on current data.
Examples
RSRTInAOData
Tip. On-premise, RSRT runs any query by its 2C name. It is the quickest way to see whether a slow report is slow in the engine or in the browser.
Layer 6
Where users see it
Multidimensional reports (the Web Dynpro grid, or Multidimensional Analysis in newer releases), Query Browser, KPI tiles and reports from Manage KPIs and Reports, review booklets, SAP Analytics Cloud and Analysis for Office.
Examples
Query Browser F1068Manage KPIs and Reports F2814View Browser F2170
Tip. Publishing creates and activates an OData service: that is what Report Design and KPI Design consume.
Step by step
Build a cost center report: actual vs plan
A classic controlling report in eight steps, in the Custom Analytical Queries app. The data source is I_ActualPlanJrnlEntryItemCube, which holds both actuals from the Universal Journal and plan data, the same cube SAP’s own plan/actual queries use.
New query
- Name
YY1_CC_ACTUAL_PLANprefix added - Label
Cost centers: actual vs plan - Data source
I_ActualPlanJrnlEntryItemCubeCube
1. Create the query and pick the data source
Choose Create, give the query a name and a label, and choose the data source. In SAP S/4HANA Cloud the system adds the prefix YY1_ to the name; on-premise it adds ZZ1_. Only cubes are offered: released SAP cubes, or Analytical Cube views from the Custom CDS Views app.
Tip. Not sure which cube to use? In View Browser, open an SAP report you like and check its Cross Reference tab. Choose carefully: the fields, the prompts and the authorizations all come from this choice.
General
- Max. Processing Effort
Default - Zero Suppression
Hide if all · Rows - Runtime Extensibility
Off
2. Set the general options
The General tab holds the label, the maximum processing effort, zero suppression and runtime extensibility. Advanced User Settings shows the name of the SQL runtime view the system generates for the query.
Tip. Max. Processing Effort caps how much work one run may take. Raise it only for a report that genuinely needs it; a report that fails with an effort message usually needs a filter instead.
Selected fields
- Controlling Area
ControllingAreaDimension - Cost Center
CostCenterDimension - G/L Account
GLAccountDimension - Fiscal Year
FiscalYearDimension - Amount in Company Code Currency
AmountInCompanyCodeCurrencyMeasure
3. Choose the fields
Move fields from Available Fields to Selected Fields. Only selected fields can go on the axes or into filters. Parameters that belong to the data source appear here automatically and cannot be removed.
Tip. Fewer fields make a faster, cleaner query. If users will want more later, Runtime Extensibility lets them add extra fields in production without a new version of the query.
Display
- Cost Center
Rows · Hierarchy · Expand Level 3Rows - G/L Account
FreeFree - Measures
ColumnsColumns - Display Result
OnTotals - Dimension Format
Key and Text
4. Lay out rows and columns
Put Cost Center on the rows with its hierarchy switched on, leave G/L Account free so users can drag it in, and keep the measures on the columns. Switch on Display Result for totals and choose Key and Text so users see both the number and the name.
Tip. Axis can be set for dimensions and structures, not for one measure on its own: the measures move together. Totals and zero suppression set here are only defaults; users can change them when they run the report.
Restricted measures
- Actual
Amount · Plan Category = ACT01Restricted - Plan
Amount · Plan Category = :PlanCategoryRestricted
5. Split actual and plan with restricted measures
Choose Add Restricted Measure twice. Actual is the amount where Plan Category = ACT01, the category for actual data. Plan is the same amount restricted by a user input filter on Plan Category, so the user picks the plan version when the report opens.
Tip. Give Plan a Dynamic Label: the column header then shows the plan category the user chose instead of a generic “Plan”.
Calculated measures
- Variance
Actual - PlanCalculated - Variance %
NDIV0((Actual - Plan) / Plan) * 100Calculated - Decimals (Variance %)
1
6. Add variance and variance %
Choose Add Calculated Measure and write the formulas. Variance subtracts plan from actual. Variance % divides by plan inside NDIV0, so a cost center without a plan shows 0 instead of an error. Set one decimal on the percentage.
Tip. Press Ctrl+Space in the formula editor: it lists the functions with their syntax, your measures and your user input filters.
Filters
- Fiscal Year
User input · Single · Mandatory · Default 2026Prompt - Controlling Area
User input · Single · MandatoryPrompt - Company Code
User input · Multiple selectionPrompt - Plan Category
Default: your plan categoryPrompt
7. Define the prompts
Make Fiscal Year and Controlling Area mandatory user input filters with defaults, offer Company Code with multiple selection, and give the plan category prompt a default value. Variable Sequence decides the order of your prompts.
Tip. Without a mandatory fiscal year, the first preview reads every year in the journal. A default value saves users a step every time.
Status
- Status
Not Published → PublishedPublished - OData service
Created and activatedActive - Next
Share it with usersSee below
8. Save, preview and publish
Save Draft keeps your work without changing what users see. Preview opens the query in a multidimensional grid. Publish creates and activates an OData service and makes the query available to Report Design and KPI Design. The list then shows the status Published.
Tip. In the new app the order is Check, which generates the query source and writes the Logs tab, then Preview and Publish.
In SAP S/4HANA Cloud Public Edition from release 2602, new queries are built in Custom Analytical Queries and Services instead. The ideas are the same; the screens differ. See the new app.
Try it
Query lab: change a setting, watch the grid
A revenue query by profit center, with the settings of the Display and General tabs. Revenue is a credit, so it is stored with a minus sign in the Universal Journal: switch Reverse Sign off to see what the database holds. The numbers are sample data.
| Profit Center | Actual 2025 | Actual 2026 | Variance | Variance % |
|---|---|---|---|---|
| North | 4,820 | 5,310 | 490 | 10.2 |
| South | 3,150 | 2,980 | -170 | -5.4 |
| Export | 1,940 | 2,620 | 680 | 35.1 |
| Services | 760 | 910 | 150 | 19.7 |
| Legacy | 0 | 0 | 0 | 0.0 |
| Overall Result | 10,670 | 11,820 | 1,150 | 10.8 |
Try Zero Suppression: Legacy has a zero result but two postings behind it, and the two Hide options treat it differently.
The query behind the grid
ActualPYRestrictedAmount in Company Code Currency · Fiscal Year = 2025 · Reverse SignDisplay onActualCYRestrictedAmount in Company Code Currency · Fiscal Year = 2026 · Reverse SignDisplay onVarianceCalculatedActualCY - ActualPY · Reverse SignDisplay onVariancePctCalculatedNDIV0((ActualCY - ActualPY) / ActualPY) * 100 · Decimals 1Display onSharePctCalculatedNDIV0(ActualCY / SUMGT(ActualCY)) * 100 · Decimals 1Display off
Data source I_GLAccountLineItemCube, fixed filter on revenue accounts. A measure with Display off still feeds every formula that uses it.
Measures and formulas
Restricted, calculated, counter: a formula cookbook
A restricted measure is a measure with include or exclude conditions on dimensions, such as Amount where Fiscal Year = 2026. A calculated measure is a formula over other measures. A counter returns the distinct count of a combination of dimensions. The recipes below use the classic app’s syntax; ActualCY and ActualPY stand for two restricted measures you created.
| You want | Formula | Why it works |
|---|---|---|
| Variance | ActualCY - ActualPY | Plain arithmetic on two restricted measures. The operators are +, -, * and /. |
| Variance % | NDIV0((ActualCY - ActualPY) / ActualPY) * 100 | NDIV0 returns 0 when the divisor is 0, so a new cost center shows 0 instead of an error. |
| Share of total | NDIV0(ActualCY / SUMGT(ActualCY)) * 100 | SUMGT gives the overall result. Use SUMCT for the result of the current row or column, and SUMRT for the query result regardless of the user’s filters. |
| Flag big values | CASE WHEN ActualCY > 1000000 THEN 1 ELSE 0 END | CASE WHEN … THEN … ELSE … END is the conditional. Combine it with a sum to count the flagged rows. |
| Price per unit | NDIV0(NODIM(Amount) / NODIM(Quantity)) | NODIM drops the currency and the unit, so amounts and quantities can be combined in one formula. |
| Size of the gap | ABS(ActualCY - ActualPY) | ABS ignores the direction of the variance, useful for ranking the largest deviations. |
| Safe on any error | NOERR(SQRT(Variance)) | NOERR returns 0 for any arithmetic error, not only division by zero: here the square root of a negative number. |
| Sign by hierarchy node | Amount * HRY_NODE_SIGN_VALUE(GLAccount) | Reads the sign set on each node of the display hierarchy, so revenue nodes can show positive. The hierarchy needs a field that marks which nodes reverse. |
| Whole and remainder | DIV(Days, 7) MOD(Days, 7) | DIV returns the integer part of a division, MOD the remainder. CEIL and FLOOR round up and down. |
| Distinct suppliers | Add Counter: Supplier | No formula needed. A counter returns the distinct count of the dimensions you choose. |
The function shelf
The two apps offer different functions. The classic list comes from BW formulas; the new app takes its names from ABAP CDS view entities. Press Ctrl + Space in the classic editor to see each one with its syntax.
Eleven entries plus the four operators. Every recipe above uses them.
Fifteen functions, listed in SAP Help for the new app. NDIV0, NOERR and the SUM functions are not among them: date arithmetic, totals and ratios now have their own CDS functions, so recheck formulas after a migration.
NDIV0(x)0 when x divides by zero, otherwise the result.NOERR(expr)0 when the expression raises any arithmetic error.NODIM(x)The number without its unit or currency.SUMGT(x)Overall result of the operand.SUMCT(x)Result of the operand for the row or column.SUMRT(x)Query result, ignoring dynamic filters.HRY_NODE_SIGN_VALUESign of the node in the display hierarchy.CASE WHENCASE WHEN … THEN … ELSE … END.ABS · SQRTAbsolute value and square root.CEIL · FLOORRound up or down to an integer.DIV · MODInteger part and remainder of a division.
ABSCASECEILFLOORSQRTCOLUMN_TOTALROW_TOTALCURRENT_TOTALGRAND_TOTALRATIO_OFHRY_NODE_SIGN_VALUECURR_TO_DECFLOAT_AMOUNTGET_NUMERIC_VALUEDATS_ADD_DAYSDATS_DAYS_BETWEEN
Exception aggregation
When a simple sum is the wrong answer
On a calculated measure, choose a function such as MAX and the dimensions it works over. SAP’s own example takes the highest amount per cost center and fiscal year; the year result is then the top cost center, not the sum of all of them.
Structures
A fixed row layout, like a P&L
A characteristic structure holds restricted and calculated elements, such as Revenue, Cost of sales and Gross margin as rows. Collision settings decide which formula, decimals and scaling win where a row and a column formula meet. One catch: after the first structure element, the query can no longer be exposed as OData.
Prompts inside formulas
Let the user type the factor
A calculated measure can use a numeric user input filter, such as Actual multiplied by a factor that defaults to 0.1. In the formula editor, user input filters can be numeric or date values.
Filters and prompts
Decide what the user may change
Filters work on dimensions and user input filters only. Each one is either fixed by you or offered to the user as a prompt when the report opens.
| Filter | What the user sees | Typical use |
|---|---|---|
| Fixed values | Nothing. The filter always applies and cannot be changed. Include and exclude conditions can be combined. | Ledger, a company code, revenue accounts only |
| User input | A prompt: single value, range or hierarchy node, with optional multiple selection, Mandatory and a Default Value. Variable Sequence sets the order. | Fiscal year, cost center group, plan category |
| Relative date and date function | A date that moves with today. A Date Function parameter defaults to the current date; one date parameter per query can be the Key Date. | Last 30 days, key date for open items |
| CDS function | A value derived from context. With Hide set to True it restricts the data silently; with False it only fills the default and the user can change it. The new app calls these derivation functions. | Context-dependent defaults offered per field |
| Data source parameters | Prompts that come with the cube. They appear in Selected Fields and cannot be removed from the query. | Display currency, exchange rate type, key date |
Make fiscal year mandatory
A mandatory prompt with a default keeps a preview from reading every year in the journal.
Prompt order has a rule
Parameters of the data source come first; the query’s own prompts follow. SAP describes this in KBA 2805825. Use Variable Sequence for the prompts you control.
Relative dates follow the calendar
Date functions work on calendar dates. If your fiscal year is not the calendar year, filter on posting date with a date function rather than on fiscal period. Your own relative dates are maintained in the Manage Date Functions app.
Hierarchy node in a restricted measure
A hierarchy node can’t go straight into a restricted measure. Create a parameter, set its selection type to hierarchy node on the Filters tab, and restrict the measure with that parameter.
For finance and controlling
Which cube for which finance report
The data source decides everything: which fields exist, which prompts come with it and which authorizations apply. These are the cubes finance teams reach for first. Release status changes by release, so confirm each one in View Browser.
General ledger
I_GLAccountLineItemCubeActual G/L line items from the Universal Journal, with amounts in each currency, debit and credit, and quantities.
Use it for: Line item analysis, cost by cost center, account details.
SAP queries on it:
C_GLLineItemsQ0001The Journal Entry Analyzer app reads this cube through its query.
General ledger
I_JournalEntryItemCubeActual journal entry items with more than 400 fields, including market segment fields.
Use it for: P&L, profit center and cost center actuals.
SAP queries on it:
C_ProfitAndLossQ2901C_ProfitCenterQ2701C_CostCenterQ2001Plan and actual
I_ActualPlanJrnlEntryItemCubeActuals from ACDOCA together with plan data from ACDOCP. Plan Category tells them apart; ACT01 marks actual data.
Use it for: Actual vs plan by cost center, profit center, order, project or functional area.
SAP queries on it:
C_CostCenterPlanActQ2001C_ProfitCenterPlanActQ2701C_ProfitAndLossPlanActQ2903Some blogs spell it I_ActualPlanJournalEntryItemCube. That name is too long for a CDS view; the real one abbreviates Journal.
Margin Analysis
I_JournalEntryItemCubeMargin Analysis has no cube of its own: it lives in the Universal Journal, so market segment reporting runs on the journal cubes.
Use it for: Revenue and margin by customer, product, sales organization or your own market segment fields.
SAP queries on it:
C_MarketSegmentQ2501C_MarketSegmentPlanActQ2501The plan/actual market segment query sits on I_ActualPlanJrnlEntryItemCube.
Payables
I_APFlexibleAgingThe aging analysis cube for accounts payable, behind SAP’s Aging Analysis query.
Use it for: Payables aging by supplier, company code and due interval.
SAP Help gives the Aging Analysis query on top of it the name 2CCAPFLXBLAGING for SAP Analytics Cloud and other analytical clients: the 2C naming at work.
Sales
I_SlsPerformancePlanActualCubeSales performance with plan and actual values.
Use it for: Sales plan vs actual. SAP Learning starts from a copy of the delivered query.
SAP queries on it:
C_SlsPerfPlanActualQueryTax
Your own Analytical CubeNo ready-made tax cube turned up. Released tax views such as I_OperationalAcctgDocTaxItem are not cubes.
Use it for: Tax reports: build a view in Custom CDS Views with the scenario Analytical Cube on a released tax view, then a query on it.
Find the cube under any SAP report. Open the SAP query you like in View Browser and look at its Cross Reference tab: it names the cube underneath. Filter View Browser by data category Cube to browse candidates. The C_ query itself cannot be a data source, but its cube can.
What changed in 2025 and 2026
Meet Custom Analytical Queries and Services
SAP is moving key user queries onto the same technology developers use: CDS analytical projection views. The successor app, Custom Analytical Queries and Services (F1572A), builds them for you.
Migrating a query, step by step
- 1Publish or drop open draftsOnly Published queries migrate. A query in status Changed, published with an open draft, must have the draft published or deleted first.
- 2Choose Migrate in the new appIn Custom Analytical Queries and Services, Migrate lists the queries of the classic app with their status.
- 3Read the rework listAfter the draft is created, the app lists rework tasks and errors. KBA 3603149 explains the features that need manual work.
- 4Check and previewCheck generates the draft of the migrated query; Preview shows whether it meets your expectations.
- 5ConfirmConfirm cannot be undone: the query leaves the classic app and is published in the new one, under the same name. Before that, Delete Draft cancels the migration.
What is different in the new app
- A Model tab. Dimensions and measures sit together, with Duplicate and a mass selection mode; parameters get their own tab.
- Converted measures. Currency conversion and unit conversion are measure types of their own.
- OData or InA service. A query can be exposed as either, which is what review booklets need.
- Derivation functions. Filters derive context-specific values, hidden or as editable defaults.
- Check and Logs. Check generates the query source; the Logs tab shows whether it succeeded.
- New function names. GRAND_TOTAL, RATIO_OF, DATS_DAYS_BETWEEN and friends replace the classic list.
- Developer technology underneath. The query is a CDS analytical projection view, the same kind developers write in ABAP Development Tools.
A short history
- 2016SAP S/4HANA 1610Query design for key users is already part of SAP S/4HANA on-premise.
- 2017SAP S/4HANA Cloud 1702Custom Analytical Queries is in the cloud edition.
- 2019SAP S/4HANA 1909Manage KPIs and Reports becomes one central app for KPIs and reports on queries.
- 2023SAP S/4HANA 2023Custom CDS Views version 2 (F1866A) arrives, the usual place to model your own cubes.
- 2025SAP S/4HANA Cloud 2508Custom Analytical Queries and Services can migrate published queries into analytical projection views.
- 2026SAP S/4HANA Cloud 2602The classic app stops creating queries. Query Browser opens queries in Multidimensional Analysis.
Troubleshooting
What the message means, and what fixes it
The problems key users and consultants report most, each with the cause SAP documents and the knowledge base article to open. Pick a symptom.
Symptom
My cube is not in the data source list
Why it happens
The app offers only cubes. In SAP S/4HANA Cloud they must be released for customer use; a custom view must use the scenario Analytical Cube. Some views can never be a primary source.
What to do
Check the view in View Browser: data category Cube and its release status. For your own data, build a Custom CDS View with the scenario Analytical Cube. When you add an associated source, set the filter Recommended Data Source to No to see more.
Read
KBA 2595552KBA 2692764
Symptom
A field of my custom view is missing
Why it happens
A field with the Text semantic or a text element shows only as the description of its key. String fields and fields longer than 250 characters are not supported in analytical views.
What to do
In the Custom CDS View, clear the semantic and text element of that field, or cast long fields, then publish the view again.
Read
KBA 2544478
Symptom
Preview shows no data
Why it happens
Usually authorization: the user lacks the business role for the data of the primary source, and the access controls filter every row away. Empty parameters such as Display Currency can also be the reason.
What to do
Check the user’s roles for the data source and fill in the cube’s parameters. Try the same filters in the standard SAP app for that data.
Read
KBA 2769193KBA 3001834
Symptom
Could not instantiate data source DS_1
Why it happens
The query or its data source is inactive, unknown to the engine or has errors, often after a custom view was changed.
What to do
Publish the Custom CDS View first, then the query, and open the KBAs for the exact case.
Read
KBA 2592697KBA 2736174KBA 2611666
Symptom
Users get Failed to resolve navigation target
Why it happens
The report opens through the analytical query intent, and the user’s role lacks the catalog behind it.
What to do
Add the catalog SAP_CA_BC_ANA_AQD_PC to a role of the user.
Read
KBA 3069449
Symptom
You do not have authorization to edit this query
Why it happens
SAP-delivered queries (C_) can’t be edited in the app, and queries created in ABAP Development Tools are read-only there.
What to do
Copy a query that SAP offers as a template, or build a new query on the same cube; the cube is shown on the query’s properties.
Read
KBA 2662389KBA 2651201
Symptom
You cannot delete this query as it is being used
Why it happens
An application, catalog assignment or KPI still points to the query.
What to do
Remove the catalog assignment in Custom Catalog Extensions, delete the application in View Browser, delete any KPI on it, then delete the query.
Read
SAP blog: how to delete a custom analytical query
Symptom
The query is not found in SAP Analytics Cloud
Why it happens
Queries are found through an application in a catalog, and only with report type Multidimensional Analysis. On-premise, the query search checks the CDS authorizations of the connection user.
What to do
Create the Multi-Dimensional Report application in View Browser and publish its catalog. On-premise, give the connection user the authorization object SDDLVIEW for the names YY1_* and YY9_*, as the KBA describes.
Read
KBA 3760174KBA 2686844
Symptom
OLAP effort too large, or too much data requested
Why it happens
The run exceeds the processing effort allowed for the query.
What to do
Add a mandatory filter, such as fiscal year, or raise Max. Processing Effort on the General tab for this query only.
Read
KBA 2572550
Symptom
Create is greyed out
Why it happens
In SAP S/4HANA Cloud 2602 and later, the classic app no longer creates queries. In a starter system, key user extensibility is off by default.
What to do
Use Custom Analytical Queries and Services. In a starter system, switch on key user extensibility in the Extensibility Settings app.
Read
KBA 3718160KBA 2878694
Symptom
Not able to load the query name prefix or the package
Why it happens
On-premise, the Adaptation Transport Organizer is not set up, so the app has no prefix and package to use.
What to do
Set up ATO in transaction S_ATO_SETUP and activate the app’s SAP Gateway services, as the KBAs list.
Read
KBA 2919095KBA 2910337
Symptom
Show Totals is greyed out on a measure column
Why it happens
In the multidimensional report, totals are switched per dimension, not per measure. This is by design.
What to do
Open the context menu on a dimension column and switch totals on there.
Read
KBA 3787495
Symptom
Register Extensions for Transport says Transportable = No
Why it happens
The query was saved in the package for temporary objects, which is never transported.
What to do
Recreate or reassign the item to a transportable package set up in Configure Software Packages.
Read
KBA 2631044
Choosing and running
Which tool, and how a query lives on
| You need | Use | Who builds it |
|---|---|---|
| Fields, formulas and prompts on one cube | Custom Analytical Queries (F1572, or F1572A) | Key user, no code |
| Data from two sources, a new association or your own fields in a cube | Custom CDS Views (F1866A), scenario Analytical Cube, then a query on it | Key user, no code |
| Every analytical feature, versioned with the rest of your code | Analytical projection view in ABAP Development Tools | Developer |
| Explore SAP’s delivered queries as they are | Query Browser (F1068) | Any authorized user |
| Charts, dashboards and stories | SAP Analytics Cloud, or stories and KPIs in Manage KPIs and Reports (F2814) | Analytics specialist |
| Pivot tables and formulas in Excel | SAP Analysis for Microsoft Office | Finance user |
Transport · cloud
Export and import a software collection
Build in the development or test system, add the query to a software collection, export it, and import it in production.
Transport · on-premise
Adaptation Transport Organizer
Set up ATO, configure software packages, and assign the query to a package and request in Register Extensions for Transport.
Drafts
Users keep the published version
Editing a published query creates a draft. Users run the published version until you publish again; the list shows the status Changed meanwhile.
Copies
Start from SAP, not from scratch
Copy creates a query from an SAP query offered as a template. Not every C_ query can be copied, and copies of SAP-released queries can’t yet be migrated to the new app.
Delete
Clean up from the outside in
Catalog assignment first, then the application in View Browser and any KPI, and the query last.
Upgrades
Test queries after each release
After an upgrade, open your key queries once. SAP documents cases where a query can’t be edited until a correction is applied, such as KBA 3754395.
Frequently asked questions
Do I need a developer to build a custom analytical query?
No. The app is a key user tool: you pick a data source, fields, filters and formulas in the browser, and the system generates the CDS view for you. A developer is needed only when the data you need is not in any cube, and even then the Custom CDS Views app often covers it without code.
Can one query read two data sources?
No. A query has exactly one data source. To combine data, build a view in the Custom CDS Views app with the scenario Analytical Cube, add the associations there, and base the query on that view.
Does the query copy data into a separate store?
No. Embedded analytics works on current data. The query is a CDS view, and the Analytic Engine evaluates it at runtime over the same tables your transactions write to.
Who sees which data?
Two checks apply. A business catalog decides who may start the report, and the access controls (DCL) of the CDS views underneath decide which rows each user gets. A user without authorization for the data source often sees an empty result rather than an error.
Can I open my query in Excel?
Yes, with SAP Analysis for Microsoft Office. Search for the query by its 2C name. In SAP S/4HANA Cloud the user also needs the Analysis for Office catalog in one of their roles.
How do I translate the column headers?
Use the Maintain Translations app, which translates the texts of custom analytical queries into other languages.
Which app should I use in my system?
In SAP S/4HANA Cloud Public Edition 2602 and later, create new queries in Custom Analytical Queries and Services. On SAP S/4HANA 2023 and earlier, use Custom Analytical Queries. On SAP S/4HANA 2025, check which of the two your business roles include.
Related pages
References
Checked in October 2026 against SAP Help for SAP S/4HANA Cloud Public Edition 2608 and SAP S/4HANA 2025 FPS02. Knowledge base articles need an SAP for Me login for the full text.
- Custom Analytical QueriesSAP Help Portal
- Configuring Fields of the QuerySAP Help Portal
- Defining FiltersSAP Help Portal
- Managing Custom QueriesSAP Help Portal
- Runtime Extensibility for QueriesSAP Help Portal
- Custom Analytical Queries and ServicesSAP Help Portal
- Adding Measures (new app)SAP Help Portal
- Migrating Custom QueriesSAP Help Portal
- Access Custom Queries in SAP Analytics CloudSAP Help Portal
- Adding Custom Queries Using an InA ServiceSAP Help Portal · SAP S/4HANA 2025
- Setting Up Basic FeaturesSAP Learning
- Creating Analytical QueriesSAP Learning
- The role of a CDS analytical projection viewSAP Learning
- Knowledge base article 3718160Query creation no longer supported in F1572 · SAP for Me
- Knowledge base article 3603185Migrating queries to F1572A · SAP for Me
- Knowledge base article 2686844Queries missing in SAP Analytics Cloud · SAP for Me
- Analytics on the Universal JournalSAP Community
- Creating KPI reports using custom queriesSAP Community, 2020
- View Browser: find views that match a business requirementSAP Community
- How to delete a custom analytical querySAP Community, 2022