UNPKG

d2

Version:

Javascript library for DHIS2

80 lines (75 loc) 2.48 kB
import AnalyticsBase from './AnalyticsBase' /** * @extends module:analytics.AnalyticsBase * * @description * Analytics aggregate class used to request aggregate analytics data from Web API. * * @memberof module:analytics * * @see https://docs.dhis2.org/master/en/developer/html/webapi_analytics.html */ class AnalyticsAggregate extends AnalyticsBase { /** * @param {!AnalyticsRequest} req Request object * * @returns {Promise} Promise that resolves with the analytics data value set data from the API. * * @example * const req = new d2.analytics.request() * .addDataDimension(['Uvn6LCg7dVU','OdiHJayrsKo']) * .addPeriodDimension('LAST_4_QUARTERS') * .addOrgUnitDimension(['lc3eMKXaEfw','PMa2VCrupOd']) * .addOrgUnitFilter('O6uvpzGd5pu') * .withStartDate('2017-10-01') * .withEndDate('2017-10-31'); * * d2.analytics.aggregate.getDataValueSet(req) * .then(console.log); */ getDataValueSet(req) { return this.fetch(req.withPath('dataValueSet')) } /** * @param {!AnalyticsRequest} req Request object * * @returns {Promise} Promise that resolves with the raw data from the API. * * @example * const req = new d2.analytics.request() * .addDataDimension(['Uvn6LCg7dVU','OdiHJayrsKo']) * .addPeriodDimension('LAST_4_QUARTERS') * .addOrgUnitDimension(['lc3eMKXaEfw', 'PMa2VCrupOd']) * .addOrgUnitFilter('O6uvpzGd5pu'); * .withStartDate('2017-10-01') * .withEndDate('2017-10-31') * .withFormat('xml'); * * d2.analytics.aggregate.getRawData(req) * .then(console.log); */ getRawData(req) { return this.fetch(req.withPath('rawData')) } /** * @param {!AnalyticsRequest} req Request object * * @returns {Promise} Promise that resolves with the SQL statement used to query the database. * * @example * const req = new d2.analytics.request() * .addDataDimension(['Uvn6LCg7dVU','OdiHJayrsKo']) * .addPeriodDimension('LAST_4_QUARTERS') * .addOrgUnitDimension(['lc3eMKXaEfw', 'PMa2VCrupOd']) * .addOrgUnitFilter('O6uvpzGd5pu'); * .withStartDate('2017-10-01') * .withEndDate('2017-10-31'); * * d2.analytics.aggregate.getDebugSql(req); * .then(console.log); */ getDebugSql(req) { return this.fetch(req.withPath('debug/sql')) } } export default AnalyticsAggregate