How can I separate the numeric data in a column from the non-numeric data?

I have data which I need to clean up. 

 

The data is a mix of numeric and non-numeric variables.  I want to pull out all the non-numeric variables, replace them with 0s, and then convert the entire column from a text format to numeric format.

 

Can't figure out how to do this. . . 

 

 

Comments

  • kshah008
    kshah008 Contributor

    Hi all,

     

    Can anybody help @itgbyu11 with their question?

    Thanks!

  • If you go to the Magic ETL tool, and set up a new dataflow, you can fix this in the dataflow by adding the text formatting transform (which is found under edit data) and setting the second option (How should numbers be handled) to "Only show Numbers", and leave the first untouched. Then, add the transform Set Column Type and set it to the number format of your choosing (whole number or decimal). That should eliminate all the non-numerics, just leaving the numbers, so you can have the number sums. If you need the COUNT of the column, just have another feed that leaves the column untouched. Hope that helps!

  • kshah008
    kshah008 Contributor

    @itgbyu11, did bradsafeguard's reply help you out?

  • I had a very similar problem and domo support created a beast mode field for each column of data that I was trying to summarize. Essentially they made made a filter to distinguish alpha from numeric characters and filtered out all alpha characters. You could use their logic to replace the alpha characters with 0's. Here is the beast mode calculation they used:

     

    CASE
    WHEN `Your Column` LIKE '%a%' THEN 'alpha'
    WHEN `Your Column` LIKE '%b%' THEN 'alpha'
    WHEN `Your Column` LIKE '%c%' THEN 'alpha'
    WHEN `Your Column` LIKE '%d%' THEN 'alpha'
    WHEN `Your Column` LIKE '%e%' THEN 'alpha'
    WHEN `Your Column` LIKE '%f%' THEN 'alpha'
    WHEN `Your Column` LIKE '%g%' THEN 'alpha'
    WHEN `Your Column` LIKE '%h%' THEN 'alpha'
    WHEN `Your Column` LIKE '%i%' THEN 'alpha'
    WHEN `Your Column` LIKE '%j%' THEN 'alpha'
    WHEN `Your Column` LIKE '%k%' THEN 'alpha'
    WHEN `Your Column` LIKE '%l%' THEN 'alpha'
    WHEN `Your Column` LIKE '%m%' THEN 'alpha'
    WHEN `Your Column` LIKE '%n%' THEN 'alpha'
    WHEN `Your Column` LIKE '%o%' THEN 'alpha'
    WHEN `Your Column` LIKE '%p%' THEN 'alpha'
    WHEN `Your Column` LIKE '%q%' THEN 'alpha'
    WHEN `Your Column` LIKE '%r%' THEN 'alpha'
    WHEN `Your Column` LIKE '%s%' THEN 'alpha'
    WHEN `Your Column` LIKE '%t%' THEN 'alpha'
    WHEN `Your Column` LIKE '%u%' THEN 'alpha'
    WHEN `Your Column` LIKE '%v%' THEN 'alpha'
    WHEN `Your Column` LIKE '%w%' THEN 'alpha'
    WHEN `Your Column` LIKE '%x%' THEN 'alpha'
    WHEN `Your Column` LIKE '%y%' THEN 'alpha'
    WHEN `Your Column` LIKE '%z%' THEN 'alpha'
    WHEN `Your Column` LIKE '%,%' THEN 'alpha'

    ELSE 'numeric'
    END

     

     

    Hope this helps!

  • Johnf
    Johnf Contributor

    @itgbyu11 This is how I would go about this by using BeastMode.

    CASE

    WHEN `TableColumnName` Like '^[0-9]%' Then `TableColumnName`

    ELSE 0

    END

  • Johnf
    Johnf Contributor

    This is how I would go about this by using BeastMode.

    CASE

    WHEN `TableColumnName` Like '^[0-9]%' Then `TableColumnName`

    ELSE 0

    END