dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #50688
Re: [Dhis2-users] Using program rule expressions in Program indicator expressions
Hi again Bernard,
it seems that the problem you experience might be caused by the presence of parenthesis in the expression inside your d2:condition. This is a bug, and can be followed up here: https://jira.dhis2.org/browse/DHIS2-2813 <https://jira.dhis2.org/browse/DHIS2-2813>
If you are able to write your expression without parenthesis, this is a workaround that you can use.
The general implementation of new functions in program indicators is followed up in jira issues, but there was none covering the mathematical functions you need here, so I created one that you can look at: https://jira.dhis2.org/browse/DHIS2-2814 <https://jira.dhis2.org/browse/DHIS2-2814>
Please complement or comment, and consider voting for it :)
Best regards,
Markus
P.S. won't X*100%100 always be 0?
> 7. feb. 2018 kl. 09:21 skrev Bernard Sadaka (IM Advisor) <lib.ima@xxxxxxxxxx>:
>
> Hello Markus,
> Thank you for the list and explanation; is there any expected timeline for that? (JIRA issue, I can track?)
>
> With regards to the number of decimals, even if set to zero at the program indicator and after running the analytics, the “pivot table” still shows the digits.
>
> Regarding the expression, yes it is true, I’m rounding the constants, because I am actually creating a budget report and applying a discount rate on the individual cost of a specific PHCC activity and aggregating them using sum (so I am using one constant per cost of a PHCC activity and another for discount rate of all activities). I ended up using exact values in the constant instead of a discounted factor; after all, changing a discount factor is easier than changing 200 values individually when the discount rate changes. The reason for all this, is that with a discounted factor there is a need to round the values and disallow them to be cumulated in the sum of the aggregation in order to keep the report error free.
> Hope the above explains my usecase: aggregating the data elements of a TEI and multiplying them by a cost constant and a discount factor. And yes the round functions in this case would be very beneficial.
>
> Thank you again for your support.
>
> All the best,
> Bernard
>
> <image001.png>
> Bernard Sadaka
> Information Management Advisor
> Première Urgence - Aide Médicale Internationale
> Nehmeh Building, Sanine Street, Chiyah, 3rd Floor
> Ain el Remmaneh, Beirut, Lebanon
> E-mail: lib.ima@xxxxxxxxxx <mailto:lib.ima@xxxxxxxxxx>
> Cell: +961 71 004 881 (208)
> Skype: imapuami
> Website: https://www.pu-ami.org <https://www.pu-ami.org/>
>
>
> From: Markus Bekken [mailto:markus@xxxxxxxxx]
> Sent: Wednesday, February 7, 2018 9:52 AM
> To: Bernard Sadaka (IM Advisor) <lib.ima@xxxxxxxxxx>
> Cc: dhis2-users@xxxxxxxxxxxxxxxxxxx; DHIS 2 developers <dhis2-devs@xxxxxxxxxxxxxxxxxxx>
> Subject: Re: [Dhis2-devs] [Dhis2-users] Using program rule expressions in Program indicator expressions
>
> Hi there Bernard,
> We aim to support more and hopefully all the program rule functions in program indicators.
> Unfortunately we are not there yet, and the list of supported functions in program indicators can be found here:
> 19.4.5. Reference information: Functions, variables and operators to use in program indicator expressions and filters <https://docs.dhis2.org/master/en/user/html/dhis2_user_manual_en_full.html#program_indicator_functions_variables_operators>
>
> Where did you get the wrong number of decimals? In the Pivot or in the Tracker/Event capture?
>
> One question on your expression below, it seems you are trying to round off a constant from your defined constant values? Your use case I would have guessed is to round off a data element or tracked entity attribute value?
>
> Best regards
> Markus
>
>
>> 6. feb. 2018 kl. 15:31 skrev Bernard Sadaka (IM Advisor) <lib.ima@xxxxxxxxxx <mailto:lib.ima@xxxxxxxxxx>>:
>>
>> I found a similar issue on JIRA (https://jira.dhis2.org/browse/DHIS2-2734 <https://jira.dhis2.org/browse/DHIS2-2734>)
>>
>> But still doesn’t explain why I can’t use different expressions in program indicators L
>>
>> All the best,
>> Bernard
>>
>> <image001.png>
>> Bernard Sadaka
>> Information Management Advisor
>> Première Urgence - Aide Médicale Internationale
>> Nehmeh Building, Sanine Street, Chiyah, 3rd Floor
>> Ain el Remmaneh, Beirut, Lebanon
>> E-mail: lib.ima@xxxxxxxxxx <mailto:lib.ima@xxxxxxxxxx>
>> Cell: +961 71 004 881 (208)
>> Skype: imapuami
>> Website: https://www.pu-ami.org <https://www.pu-ami.org/>
>>
>>
>> From: Dhis2-users [mailto:dhis2-users-bounces+lib.ima=pu-ami.org@xxxxxxxxxxxxxxxxxxx <mailto:dhis2-users-bounces+lib.ima=pu-ami.org@xxxxxxxxxxxxxxxxxxx>] On Behalf Of Bernard Sadaka (IM Advisor)
>> Sent: Tuesday, February 6, 2018 3:53 PM
>> To: dhis2-users@xxxxxxxxxxxxxxxxxxx <mailto:dhis2-users@xxxxxxxxxxxxxxxxxxx>; 'DHIS 2 developers' <dhis2-devs@xxxxxxxxxxxxxxxxxxx <mailto:dhis2-devs@xxxxxxxxxxxxxxxxxxx>>
>> Subject: [Dhis2-users] Using program rule expressions in Program indicator expressions
>>
>> Can anyone tell me why I can’t use program rule expressions in Program indicator expressions?
>> Functions like ceil, floor, round and others are very useful.
>>
>> Also I tried to use the “Decimals in data output” in the program indicator details, it didn’t work.
>> Also I tried to simulate the round function using conditional modulo subtraction/addition (the pivot table keeps trying to load) :
>> C{eB6eQXKY8HA}*C{xGZ2I9aTeXX} -(C{eB6eQXKY8HA}*C{xGZ2I9aTeXX}*100) % 100 + d2:condition('(C{eB6eQXKY8HA}*C{xGZ2I9aTeXX}*100) % 100 >=50',1,0)
>>
>> Thank you in advance.
>> Please advise.
>>
>> All the best,
>> Bernard
>>
>> <image001.png>
>> Bernard Sadaka
>> Information Management Advisor
>> Première Urgence - Aide Médicale Internationale
>> Nehmeh Building, Sanine Street, Chiyah, 3rd Floor
>> Ain el Remmaneh, Beirut, Lebanon
>> E-mail: lib.ima@xxxxxxxxxx <mailto:lib.ima@xxxxxxxxxx>
>> Cell: +961 71 004 881 (208)
>> Skype: imapuami
>> Website: https://www.pu-ami.org <https://www.pu-ami.org/>
>>
>>
>>
>> <image003.jpg> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=icon>
>> Virus-free. www.avast.com <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=link>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dhis2-devs <https://launchpad.net/~dhis2-devs>
>> Post to : dhis2-devs@xxxxxxxxxxxxxxxxxxx <mailto:dhis2-devs@xxxxxxxxxxxxxxxxxxx>
>> Unsubscribe : https://launchpad.net/~dhis2-devs <https://launchpad.net/~dhis2-devs>
>> More help : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
Follow ups
References