Message type: E = Error
Message class: BRAIN_DEV - BRAIN messages (for use by development)
Message number: 655
Message text: FIRST/LAST with non-convex time filters can produce unexpected results
The query contains a potentially non-convex time filter on a
non-cumulative key figure that is aggregated with exception aggregation
FIRST or LAST, and parts of this time filter might be outside the time
interval where values exist for all validity characteristic value
combinations (also called 'homogeneous area' ).
A non-convex time filter is a time filter with gaps, for example
<EX>CALMONTH = 01.2014 OR CALMONTH = 03.2014</>.
The effects that this kind of filter can have are shown in the following
example. We show the values of key figure "quantity" for the time period
01.2014 - 03.2014 for plants A and B. Plant is a validity
characteristic:
Plant/Calendar Month,,01.2014,,02.2014,,03.2014
<ZH>A</>,,20,,50
<ZH>B</>,,10,,30,,40
For the above mentioned non-convex time filter <EX>CALMONTH = 01.2014 OR
CALMONTH = 03.2014</>, a query with <EX>LAST</> exception aggregation
over time on key figure "quantity" would return:
Plant/Calendar Month,,01.2014,,03.2014,,Total
<ZH>A</>,,20,,[50],,50
<ZH>B</>,,10,,40,,40
<ZH>Total</>,,30,,90,,90
The problem here is that the total 50 for A is different to the last
valid value 20. The last stock change of A happened at a time that was
excluded by the time filter. According to the rules of virtual
indicators, the total 50 must not have a virtual indicator, as it is an
aggregate that includes valid (non-virtual) values.
This can produce a number of strange effects:
The total number for A (50) can change by navigation to 20, for example
if a filter on <EX>PLANT = 'A'</> is added.
The "strange" total number for A can be cached in the OLAP cache and
used in situations without non-convex time filters. As the total is not
a virtual value, this cannot be detected.
Unfortunately, it would be extremely costly for the analytic engine in
terms of query performance and memory consumption to detect and flag the
total on A as a virtual value here, and the performance of all
non-cumulative queries would be impaired.
The query is executed as defined.
Consider changing the query definition or switching off the cache for
this query in order to avoid unexpected numbers in other navigation
steps.
The system issues an error message and will not allow you to continue with this transaction until the error is resolved.
Error message extract from SAP system. Copyright SAP SE.
The SAP error message BRAIN_DEV655 indicates that there is a potential issue with the use of non-convex time filters in your query or report. This error typically arises in the context of SAP BW (Business Warehouse) or SAP HANA when working with time-based data.
Cause:
The error occurs when you apply time filters that are not convex. A convex time filter is one where the time intervals are continuous and do not have gaps. For example, if you filter for data from January to March and then from May to June, this would be a non-convex filter because there is a gap (April) in the time range. Non-convex filters can lead to unexpected results because the system may not handle the gaps correctly when aggregating or processing the data.
Solution:
To resolve this error, you should ensure that your time filters are convex. Here are some steps you can take:
Review Your Filters: Check the time filters you have applied in your query or report. Ensure that they form a continuous range without any gaps.
Adjust the Time Range: If you need to include multiple non-contiguous time periods, consider creating separate queries or reports for each period instead of combining them into one.
Use Union Queries: If you need to analyze data from non-contiguous time periods, you can create separate queries for each period and then combine the results using a union operation.
Consult Documentation: Refer to SAP documentation or help resources for best practices on using time filters in your specific version of SAP BW or HANA.
Testing: After making adjustments, test your query or report to ensure that it produces the expected results without triggering the error.
Related Information:
By ensuring that your time filters are convex, you can avoid the BRAIN_DEV655 error and achieve more accurate results in your SAP reports and queries.
Sign up takes 1 minute. 7-day free trial.
BRAIN_DEV654 Total number of structure element combinations exceeds allowed limit
What causes this issue? The query is too complex to be processed. The allowed l...
BRAIN_DEV653 Number of helper elements in structure &2 exceeds limit &1
What causes this issue? Due to nesting of calculated key figures with formula e...
BRAIN_DEV656 Virtual key figure &1 depends on non-matching key figure &2
What causes this issue? The query contains a virtual key figure, which depends ...
BRAIN_DEV657 InfoProvider fill states have been auto-refreshed
What causes this issue? Data was deleted in an underlying provider of the query...
SAP messages fall into 3 different categories: Error messages
(message type = E), Warnings (W) or Informational (I) messages.
An error message will prevent you from continuing your work - it is a hard stop and you need to fix the error before you can proceed. A warning message will stop your work, however, you can then bypass the warning by pressing the Enter key on your keyboard. That said, it is still good practice to investigate the cause of the warning message and address it. An information message will not stop your work and is truly just for informational purposes.
Click on this link to search all SAP messages.