private bool TryGetGroupSummaryMetrics(Dictionary <string, IDataView>[] metrics, out IDataView gs) { Host.AssertNonEmpty(metrics); if (metrics.Length == 1) { return(metrics[0].TryGetValue(RankerEvaluator.GroupSummary, out gs)); } gs = null; var gsList = new List <IDataView>(); for (int i = 0; i < metrics.Length; i++) { IDataView idv; if (!metrics[i].TryGetValue(RankerEvaluator.GroupSummary, out idv)) { return(false); } idv = EvaluateUtils.AddFoldIndex(Host, idv, i, metrics.Length); gsList.Add(idv); } gs = AppendRowsDataView.Create(Host, gsList[0].Schema, gsList.ToArray()); return(true); }