Using Case in code doesnt works for me

Hello team
This is my code used in Field prévisonement restant:

`CASE
WHEN [Measures].[Montant engagé (TTC) created] > [Measures].[Montant prévisionnel (TTC) created] THEN 0
WHEN [Measures].[Montant du règlement (TTC) created] > [Measures].[Montant prévisionnel (TTC) created] THEN 0
ELSE [Measures].[Montant prévisionnel (TTC) created] - [Measures].[Montant engagé (TTC) created] - [Measures].[Montant du règlement (TTC) created]
END

The problem is that always execute the last line although conditions in case 1 and case 2 are true in few issues .
The prefered value is 14500 not 5500

Could someone help me
`

Hi Karim,

Welcome to the eazyBI community.

Your code works correctly on the issue-level, but it fails on the aggregate levels, because some conditions do not apply for “total” level.

Try this code instead:

NonZero(
SUM(
Filter(
Descendants([Issue].CurrentHierarchyMember,[Issue].[Issue]),
[Measures].[Montant prévisionnel (TTC) created]>0
),
CASE
WHEN [Measures].[Montant engagé (TTC) created] > [Measures].[Montant prévisionnel (TTC) created] THEN 0
WHEN [Measures].[Montant du règlement (TTC) created] > [Measures].[Montant prévisionnel (TTC) created] THEN 0
ELSE [Measures].[Montant prévisionnel (TTC) created] - [Measures].[Montant engagé (TTC) created] - [Measures].[Montant du règlement (TTC) created]
END
)

)

It should calculate the total level correctly from all issues in the set.

Martins / eazyBI support