Class DataUtilities

    • Constructor Detail

      • DataUtilities

        public DataUtilities()
    • Method Detail

      • pivotDimensions

        public static Object[][] pivotDimensions​(Object[][] source)
        Pivots a 2D array such that rows become columns and columns become rows. The source array is not modified.
        Parameters:
        source - 2D array to pivot
        Returns:
        a 2D array that represents the pivoted source ie source: |Data0,0 |Data0,1 |Data0,2 |Data 0,3 | |Data1,0 |Data1,1 |Data1,2 |Data 1,3 | |Data2,0 |Data2,1 |Data2,2 |Data 2,3 | |Data3,0 |Data3,1 |Data3,2 |Data 3,3 | |Data4,0 |Data4,1 |Data4,2 |Data 4,3 | |Data5,0 |Data5,1 |Data5,2 |Data 5,3 | becomes: |Data0,0 |Data1,0 |Data2,0 |Data3,0 |Data4,0 |Data5,0 | |Data0,1 |Data1,1 |Data2,1 |Data3,1 |Data4,1 |Data5,1 | |Data0,2 |Data1,2 |Data2,2 |Data3,2 |Data4,2 |Data5,2 | |Data0,3 |Data1,3 |Data2,3 |Data3,3 |Data4,3 |Data5,3 |
      • filterDataByRows

        public static Object[][] filterDataByRows​(Object[][] data,
                                                  Integer[] rowsToInclude)
        Selects rows from a 2d array and returns a 2d array that contains only those rows
        Parameters:
        data - 2D data to filter
        rowsToInclude - Interger array of rows to include in results
        Returns:
        2D array of data filtered by rows
      • filterDataByColumns

        public static Object[][] filterDataByColumns​(Object[][] data,
                                                     Integer[] columnsToInclude)
        Selects columns from a 2d array and returns a 2d array that contains only those columns
        Parameters:
        data - 2D data to filter
        columnsToInclude - Integer array of rows to include in results
        Returns:
        2D array of data filtered by columns
      • filterData

        public static Object[][] filterData​(Object[][] data,
                                            Integer[] rowsToInclude,
                                            Integer[] columnsToInclude)
        Filters the data such that only the rowsToInclude and columnsToInclude are in the dataset
        Parameters:
        data - - 2D data to filter
        rowsToInclude - - Integer array of row numbers to include a null value indicates all rows
        columnsToInclude - Integer array of column numbers to include a null values indicates all columns
        Returns:
        - 2D array of only those rows and columns specified
      • getXMLString

        public static String getXMLString​(IPentahoResultSet resultSet)
        Get an XML representation of the resultset
        Returns:
        String containing XML which represents the data (eg for use with xquery)
      • toNumbers

        public static List<Number> toNumbers​(Object[] rowData,
                                             NumberFormat... formats)
        Converts an array of objects to a list of Numbers. If the objects are Number types, they will simply be cast, otherwise this method will attempt to convert object.toString() to a number using the provided number formats.
        Parameters:
        rowData - the input object array
        formats - list of NumberFormat's used to convert the objects to Number's
        Returns:
        list of Numbers that represent the original rowData