Analytics API: Dimensions cannot be specified more than once

Hi Devs

We’re working on a report that accepts multiple (indicator) dx parameter values. From this list we’re trying to build an API call that includes numerator + denominator formula UIDs so that we also display numerator and denominator totals in the report. Example parameter for 3 indicator UIDs:

dx=A9s6E9l4W8z;Bt5H0q5L3h7;eo2N8j1S9k4

For each of these indicators we look up the associated data elements UIDs that make up the num + denom formulas. The *new API call looks like this:

dx:Cl4D9i5T6j2;N2m4W6w3N4r;cx6F4m5U5v2.JO2HBbjqU3c;Cb3X7x9P7b2.JO2HBbjqU3c;Cb3X7x9P7b2;cx6F4m5U5v2;K2j3J8b4H6c;J1a6I8c1G2k;A9s6E9l4W8z;Bt5H0q5L3h7;eo2N8j1S9k4;cq3K6v5R5e3;Dv1K3w4Z3u0;cl2E3i6X5z9

Executing the API calls result in the following error: Dimensions cannot be specified more than once.

From this list it’s obvious to tell which UIDs are repeated but how do we work around it? Do we run multiple/separate analyic API calls for those numerators/denominator that reference category combinations from those that don’t?

Regards,

Greg

···

Health Information Systems Program - South Africa

**- - - - - - - ****- - - - - - - ****- - - - - - - ****- - - - - - - ****- - - - - **

Mobile : 073 246 2992
Landline: 021 554 3130
Fax: 086 733 8432
Skype: gregory_rowles

Hi Greg,

can you post the entire request analytics URL ?

Which version are you on?

If 2.20 the api response should tell you which dimensions are duplicated.

regards,

Lars

···

On Fri, Sep 4, 2015 at 3:25 PM, Greg Rowles greg.rowles@gmail.com wrote:

Hi Devs

We’re working on a report that accepts multiple (indicator) dx parameter values. From this list we’re trying to build an API call that includes numerator + denominator formula UIDs so that we also display numerator and denominator totals in the report. Example parameter for 3 indicator UIDs:

dx=A9s6E9l4W8z;Bt5H0q5L3h7;eo2N8j1S9k4

For each of these indicators we look up the associated data elements UIDs that make up the num + denom formulas. The *new API call looks like this:

dx:Cl4D9i5T6j2;N2m4W6w3N4r;cx6F4m5U5v2.JO2HBbjqU3c;Cb3X7x9P7b2.JO2HBbjqU3c;Cb3X7x9P7b2;cx6F4m5U5v2;K2j3J8b4H6c;J1a6I8c1G2k;A9s6E9l4W8z;Bt5H0q5L3h7;eo2N8j1S9k4;cq3K6v5R5e3;Dv1K3w4Z3u0;cl2E3i6X5z9

Executing the API calls result in the following error: Dimensions cannot be specified more than once.

From this list it’s obvious to tell which UIDs are repeated but how do we work around it? Do we run multiple/separate analyic API calls for those numerators/denominator that reference category combinations from those that don’t?

Regards,

Greg


Health Information Systems Program - South Africa

**- - - - - - - ****- - - - - - - ****- - - - - - - ****- - - - - - - ****- - - - - **

Mobile : 073 246 2992
Landline: 021 554 3130
Fax: 086 733 8432
Skype: gregory_rowles


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Lars Helge Øverland

Lead developer, DHIS 2

University of Oslo

Skype: larshelgeoverland

http://www.dhis2.org

Hi Lars

Problem solved!

It runs successfully under version 2.20 while v2.19 returns error message Dimensions cannot be specified more than once: [[de, type: DATAELEMENT, items: [[cx6F4m5U5v2, type: null, items: [], legend set: null, filter: null], [Cb3X7x9P7b2, type: null, items: [], legend set: null, filter: null]], legend set: null, filter: null]]

Original call:

api/analytics.json?dimension=pe:LAST_12_MONTHS&dimension=dx:Cl4D9i5T6j2;N2m4W6w3N4r;cx6F4m5U5v2.JO2HBbjqU3c;Cb3X7x9P7b2.JO2HBbjqU3c;Cb3X7x9P7b2;cx6F4m5U5v2;K2j3J8b4H6c;J1a6I8c1G2k;A9s6E9l4W8z;Bt5H0q5L3h7;eo2N8j1S9k4;N2m4W6w3N4r;Dv1K3w4Z3u0;cl2E3i6X5z9&dimension=ou:LEVEL-3;JLA7wl59oN3&hierarchyMeta=true&displayProperty=NAME&showHierarchy=true

Thanks,

Greg

···

On Fri, Sep 4, 2015 at 4:53 PM, Lars Helge Øverland larshelge@gmail.com wrote:

Hi Greg,

can you post the entire request analytics URL ?

Which version are you on?

If 2.20 the api response should tell you which dimensions are duplicated.

regards,

Lars

On Fri, Sep 4, 2015 at 3:25 PM, Greg Rowles greg.rowles@gmail.com wrote:

Hi Devs

We’re working on a report that accepts multiple (indicator) dx parameter values. From this list we’re trying to build an API call that includes numerator + denominator formula UIDs so that we also display numerator and denominator totals in the report. Example parameter for 3 indicator UIDs:

dx=A9s6E9l4W8z;Bt5H0q5L3h7;eo2N8j1S9k4

For each of these indicators we look up the associated data elements UIDs that make up the num + denom formulas. The *new API call looks like this:

dx:Cl4D9i5T6j2;N2m4W6w3N4r;cx6F4m5U5v2.JO2HBbjqU3c;Cb3X7x9P7b2.JO2HBbjqU3c;Cb3X7x9P7b2;cx6F4m5U5v2;K2j3J8b4H6c;J1a6I8c1G2k;A9s6E9l4W8z;Bt5H0q5L3h7;eo2N8j1S9k4;cq3K6v5R5e3;Dv1K3w4Z3u0;cl2E3i6X5z9

Executing the API calls result in the following error: Dimensions cannot be specified more than once.

From this list it’s obvious to tell which UIDs are repeated but how do we work around it? Do we run multiple/separate analyic API calls for those numerators/denominator that reference category combinations from those that don’t?

Regards,

Greg


Health Information Systems Program - South Africa

**- - - - - - - ****- - - - - - - ****- - - - - - - ****- - - - - - - ****- - - - - **

Mobile : 073 246 2992
Landline: 021 554 3130
Fax: 086 733 8432
Skype: gregory_rowles


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Lars Helge Øverland

Lead developer, DHIS 2

University of Oslo

Skype: larshelgeoverland

http://www.dhis2.org

Health Information Systems Program - South Africa

**- - - - - - - ****- - - - - - - ****- - - - - - - ****- - - - - - - ****- - - - - **

Mobile : 073 246 2992
Landline: 021 554 3130
Fax: 086 733 8432
Skype: gregory_rowles