Фильтр в клиентской esq по агрегированным данным

Добрый день.

Подскажите как организовать фильтр в клиентской esq по агрегированным данным. Например вот есть такая агрегирующая колонка

		putNestingColumn: function(esq) {
			var aggregationColumn = this.Ext.create("Terrasoft.AggregationQueryColumn", {
				aggregationType: Terrasoft.AggregationType.COUNT,
				columnPath: "[OpportunityProductInterest:NrbParent].Id"
			});
			if (!esq.columns.contains("HasNesting")) {
				esq.addColumn(aggregationColumn, "HasNesting");
			}
		},

А требуется, чтобы выводились только те записи, у которых есть подчиненные записи (в этой колонке значение > 0).

 

Есть метод createFilter, в который необходим передать объект класса Terrasoft.BaseExpression или наследника, но непонятно как в таком случае указать колонку, по которой считать?

		var leftExpression = Ext.create("Terrasoft.FunctionExpression", {
			functionType: Terrasoft.FunctionType.AGGREGATION,
			aggregationType: Terrasoft.AggregationType.COUNT,
	        aggregationEvalType: Terrasoft.AggregationEvalType.ALL
	});

 

Нравится

3 комментария

Мне кажется, в этом случае надо надо не createFilter, а createExistsFilter. Как тут.

createExistsFilter(columnPath)

Создает экземпляр Exists-фильтра для сравнения типа [Существует по заданному условию] и устанавливает в качестве проверяемого значения выражение колонки, расположенной по заданному пути.

Да я, к сожалению, привел нерелевантный пример задачи. Если мне нужно, чтобы значения было не более 0 (в этом случае Exists поможет), а более, скажем, 5.

PS В приведенной статье речь все же идет о серверной esq

В примере по ссылке (не комментариях) используется клиентская. Если же нужно сравнивать с числом, можно попробовать подставлять выражение колонки в createColumnFilterWithParameter.

createColumnFilterWithParameter(comparisonType, columnPath, paramValue)

Создает экземпляр Compare-фильтра для сравнения колонки с заданным значением.

comparisonType Terrasoft.ComparisonType Тип операции сравнения.

columnPath String Путь к проверяемой колонке относительно корневой схемы rootSchema.

paramValue Mixed Значение параметра.

Показать все комментарии