preAggregationsDescription() { return R.pipe(R.unnest, R.uniqBy(desc => desc.tableName))( [this.preAggregationsDescriptionLocal()].concat( this.query.subQueryDimensions.map(d => this.query.subQueryDescription(d).subQuery) .map(q => q.preAggregations.preAggregationsDescription()) ) ); }
static getOrderMembers(state) { const { query, meta } = state; if (!meta) { return []; } const toOrderMember = (member) => ({ id: member.name, title: member.title }); return uniqBy( prop('id'), [ ...QueryBuilder.resolveMember('measures', state).map(toOrderMember), ...QueryBuilder.resolveMember('dimensions', state).map(toOrderMember), ...QueryBuilder.resolveMember('timeDimensions', state).map((td) => toOrderMember(td.dimension)) ].map((member) => ({ ...member, order: (query.order && query.order[member.id]) || 'none' })) ); }