Exemple #1
0
/// <summary>
/// Convert a set of pivoted results to unpivoted form
/// </summary>
/// <returns></returns>

        public QueryManager ConvertPivotedToUnpivoted(
            ColumnsToTransform colsToUnpivot)
        {
            QueryManager qm2 = new QueryManager();

            // todo

            return(qm2);
        }
Exemple #2
0
/// <summary>
/// Summarize the current data set producing one row per key value (e.g. CompoundId)
/// </summary>
/// <param name="sumMethod"></param>
/// <param name="outputFormat"></param>
/// <param name="targetMap"></param>
/// <returns></returns>

        public QueryManager Summarize(
            TargetAssaySummarizationLevel sumLevel,
            SummarizationType sumMethod,
            ColumnsToTransform colsToSumm,
            OutputDest outputDest,
            TargetMap targetMap)
        {
            //if (UnpivotedResults) return SummarizeUnpivoted(sumLevel, sumMethod, outputDest, targetMap);
            //else return SummarizePivoted(sumLevel, sumMethod, colsToSumm, outputDest, targetMap);
            throw new NotImplementedException();
        }
Exemple #3
0
/// <summary>
/// Summarize pivoted data
/// </summary>
/// <param name="sumLevel"></param>
/// <param name="sumMethod"></param>
/// <returns></returns>

        public QueryManager SummarizePivoted(
            TargetAssaySummarizationLevel sumLevel,
            SummarizationType sumMethod,
            ColumnsToTransform colsToSumm,
            OutputDest outputDest,
            TargetMap targetMap)
        {
            QueryManager      qm2;
            QueryTable        qt;
            DataRow           dr, dr2;
            DataRowAttributes dra;
            string            cid = "", currentCid;
            int rti, rfi;

            qm2 = InitializeSubqueryQm(MultiDbAssayDataNames.CombinedNonSumTableName);

#if false
// Get the data for a compound, summarize & add results to data for charting

            DataTableManager dtm = Qm0.DataTableManager;

            for (int dri = 0; dri < dtm.DataTable.Rows.Count; dri++)
            {
                DataRow           dr  = dtm.DataTable.Rows[dri];
                DataRowAttributes dra = GetRowAttributes(dr);

                string keyVal = dr[KeyValueVoPos] as string;

                if (keyVal != curKeyVal || Rf.Tables.Count <= 1)                 // going to new key
                {
                    curKeyVal  = keyVal;
                    curKeyRow  = dri;
                    rowsForKey = 0;
                }

                rowsForKey++;

                object o = dr[dci];
//				if (o is string && ((string)o) == "") o = o; // debug
                if (NullValue.IsNull(o))
                {
                    if (rowsForKey == 0 ||                                               // count as null if first row for key
                        dra.TableRowState[colInfo.TableIndex] != RowStateEnum.Undefined) // or real row data but col is null
                    {
                        stats.NullsExist = true;
                    }
                    continue;
                }

                else if (o is MobiusDataType)
                {                 // create a MobiusDataType that we can point to
                    o       = MobiusDataType.New(o);
                    dr[dci] = o;
                }
                MobiusDataType val = o as MobiusDataType;

                try
                {
                    if (val.FormattedText == null)                     // get formatted text if not done yet
                    {
                        val = QueryManager.ResultsFormatter.FormatField(rt, ti, rfld, fi, dr, dri, val, -1, false);
                    }
                    dictKey = val.FormattedText.ToUpper();

                    if (!stats.DistinctValueDict.ContainsKey(dictKey))
                    {
                        DistinctValueAndPosition dvp = new DistinctValueAndPosition();
                        dvp.Value = val;
                        stats.DistinctValueDict[dictKey] = dvp;
                    }
                }
                catch (Exception ex) { val = val; }
            }             // row loop

            dtm.n
#endif


            return(qm2);
        }