sub is_aggregate { return 1 }
+#-------------------------------------------------------------------------------------------------
+package OpenILS::Reporter::SQLBuilder::Column::Transform::string_agg;
+
+sub toSQL {
+ my $self = shift;
+ return 'STRING_AGG("' . $self->{_relation} . '"."' . $self->name . '"::text,\',\')';
+}
+
+sub is_aggregate { return 1 }
#-------------------------------------------------------------------------------------------------
package OpenILS::Reporter::SQLBuilder::Column::Where;
"TFORMS_LABEL_MONTHS_AGO": "Months ago",
"TFORMS_LABEL_QUARTERS_AGO": "Quarters ago",
"TFORMS_LABEL_SUM": "Sum",
+ "TFORMS_LABEL_STRING_AGG": "String Aggregate",
"TFORMS_LABEL_AVERAGE": "Average",
"TFORMS_LABEL_ROUND": "Round",
"TFORMS_LABEL_INT": "Drop trailing decimals",
"TRANSFORMS_MONTHS_AGO": "Months ago",
"TRANSFORMS_QUARTERS_AGO": "Quarters ago",
"TRANSFORMS_SUM": "Sum",
+ "TRANSFORMS_STRING_AGG": "String Aggregate",
"TRANSFORMS_AVERAGE": "Average",
"TRANSFORMS_ROUND": "Round",
"TRANSFORMS_INT": "Drop trailing decimals"
aggregate : true,
label : egCore.strings.TRANSFORMS_MAX
},
-
+
+ string_agg : {
+ datatype : [ OILS_RPT_DTYPE_NOT_BOOL ],
+ label : egCore.strings.TRANSFORMS_STRING_AGG,
+ aggregate : true
+ },
/* string transforms ------------------------- */
substring : {