Hi all,
Wondering if anyone could help with an indicator and a program rule.
Hi all,
Wondering if anyone could help with an indicator and a program rule.
Hi there Natalie!
Your program indicator looks all good. Can it be that the aggregation type is not "Count"? If your expression is a count, then the aggregation type needs to be "Count" or "Custom" for advanced cases.
Tip: There is also a d2:yearsBetween function.
For the program rule, I wonder if your A{Agree to be contacted} field might be of datatype "Yes/No"? If so, the correct syntax would be:
A{Agree to be contacted} == false
What version of DHIS2 are you on?
Best regards,
Markus
15. mar. 2018 kl. 18:33 skrev Natalie Tibbels <ntibbel1@jhu.edu>:
Hi all,
Wondering if anyone could help with an indicator and a program rule.What is wrong with this indicator (to calculate age from date of birth):
Want to count total enrollments where age is 35-39Expression:
V{enrollment_count}Filter:
(d2:daysBetween(A{Date of birth},V{enrollment_date}) / 365) >= 35 and (d2:daysBetween(A{Date of birth},V{enrollment_date}) / 365) <= 39[In the actual expression, the date of birth is the UID for date of birth]
It’s producing no data but there should be some – think I’m making a simple mistake.
What is wrong with this program rule:
If the person says "no" for agreement to be contacted, hide the phone number fieldName: Hide phone number field
Expression: A{Agree to be contacted} == 'No'
BUT, when I test it, if I click “Yes, agree to be contacted” the phone number disappears and if I click “No” the phone number remains. So the opposite of what I want….
Thanks for any suggestions!
_______________________________________________
Mailing list: DHIS 2 Users in Launchpad
Post to : dhis2-users@lists.launchpad.net <mailto:dhis2-users@lists.launchpad.net>
Unsubscribe : DHIS 2 Users in Launchpad
More help : ListHelp - Launchpad Help
Hi Natalie,
In addition to Markus advice above, also check the you use of brackets, they are not balanced
(d2:daysBetween(A{Date of birth},V{enrollment_date}) / 365) in this expression, you are dividing before executing and calcultating the entire days between, should be
(d2:daysBetween(A{Date of birth},V{enrollment_date})) / 365
But better to use years between as Markus advises
Regards
On Thu, Mar 15, 2018 at 9:19 PM, Markus Bekken markus@dhis2.org wrote:
Hi there Natalie!
Your program indicator looks all good. Can it be that the aggregation type is not “Count”? If your expression is a count, then the aggregation type needs to be “Count” or “Custom” for advanced cases.
Tip: There is also a d2:yearsBetween function.
For the program rule, I wonder if your A{Agree to be contacted} field might be of datatype “Yes/No”? If so, the correct syntax would be:
A{Agree to be contacted} == false
What version of DHIS2 are you on?
Best regards,
Markus
- mar. 2018 kl. 18:33 skrev Natalie Tibbels ntibbel1@jhu.edu:
Hi all,
Wondering if anyone could help with an indicator and a program rule.
What is wrong with this indicator (to calculate age from date of birth):
Want to count total enrollments where age is 35-39
Expression:
V{enrollment_count}
Filter:
(d2:daysBetween(A{Date of birth},V{enrollment_date}) / 365) >= 35 and (d2:daysBetween(A{Date of birth},V{enrollment_date}) / 365) <= 39
[In the actual expression, the date of birth is the UID for date of birth]
It’s producing no data but there should be some – think I’m making a simple mistake.
What is wrong with this program rule:
If the person says “no” for agreement to be contacted, hide the phone number field
Name: Hide phone number field
Expression: A{Agree to be contacted} == ‘No’
BUT, when I test it, if I click “Yes, agree to be contacted” the phone number disappears and if I click “No” the phone number remains. So the opposite of what I want….
Thanks for any suggestions!
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp
Prosper Behumbiize, MPH
DHIS2 Implementation Adviser| HISP Uganda
prosper@hispuganda.org | prosper@dhis2.org | Skype: prospertb
Natalie,
In addition to what Markus and Prosper have suggested, do you have access to the logs of your server? That can be a very useful source of information especially when trying to debug program indicators. I will usually set up a terminal tailing the log and then try to view my program indicator in one of the analytics apps. You’ll see a lot of angry error messages if it isn’t properly formulated and can give some better clues as to why.
One time I had an expression that was considered valid by the edit screen but was failing when trying to view in analytics. Turned out it was because my spacing was off in between multiple d2:condition statements. The only way I figured it out was by watching the logs and saw a malformed sql query error.
Good luck!
Aaron
On Fri, Mar 16, 2018 at 7:39 AM, Prosper BT ptb3000@gmail.com wrote:
Hi Natalie,
In addition to Markus advice above, also check the you use of brackets, they are not balanced
(d2:daysBetween(A{Date of birth},V{enrollment_date}) / 365) in this expression, you are dividing before executing and calcultating the entire days between, should be
(d2:daysBetween(A{Date of birth},V{enrollment_date})) / 365
But better to use years between as Markus advises
Regards
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp
–
Aaron C. White
919.522.5585
Prosper Behumbiize, MPH
DHIS2 Implementation Adviser| HISP Uganda
prosper@hispuganda.org | prosper@dhis2.org | Skype: prospertb
On Thu, Mar 15, 2018 at 9:19 PM, Markus Bekken markus@dhis2.org wrote:
Hi there Natalie!
Your program indicator looks all good. Can it be that the aggregation type is not “Count”? If your expression is a count, then the aggregation type needs to be “Count” or “Custom” for advanced cases.
Tip: There is also a d2:yearsBetween function.
For the program rule, I wonder if your A{Agree to be contacted} field might be of datatype “Yes/No”? If so, the correct syntax would be:
A{Agree to be contacted} == false
What version of DHIS2 are you on?
Best regards,
Markus
- mar. 2018 kl. 18:33 skrev Natalie Tibbels ntibbel1@jhu.edu:
Hi all,
Wondering if anyone could help with an indicator and a program rule.
What is wrong with this indicator (to calculate age from date of birth):
Want to count total enrollments where age is 35-39
Expression:
V{enrollment_count}
Filter:
(d2:daysBetween(A{Date of birth},V{enrollment_date}) / 365) >= 35 and (d2:daysBetween(A{Date of birth},V{enrollment_date}) / 365) <= 39
[In the actual expression, the date of birth is the UID for date of birth]
It’s producing no data but there should be some – think I’m making a simple mistake.
What is wrong with this program rule:
If the person says “no” for agreement to be contacted, hide the phone number field
Name: Hide phone number field
Expression: A{Agree to be contacted} == ‘No’
BUT, when I test it, if I click “Yes, agree to be contacted” the phone number disappears and if I click “No” the phone number remains. So the opposite of what I want….
Thanks for any suggestions!
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp