Cómo pasar los valores de una columna a varias columnas

AlmuVT
AlmuVT New Altair Community Member
edited November 5 in Community Q&A
Hola!

Tengo una base de datos con dos columnas, una es de fechas, puestas de esta manera: "Enero 2003", "Febrero 2003"..."Marzo 2005" y así, el mes y el año. Y en la segunda columna tengo los valores de los hechos ocurridos en cada mes+año.

Lo que quiero hacer es convertirlo en una base de datos con una columna con los meses; Enero, Febrero, Marzo... y luego una columna por cada año, de tal manera que cada valor será la intersección entre el año y el mes.

¿Se puede hacer con rapidminer? En realidad es fácil mover los valores con excel, pero son muchos datos, pensé que podría haber un operador que lo haga directamente.

Muchas gracias de antemano!

Best Answers

  • rfuentealba
    rfuentealba New Altair Community Member
    Answer ✓
    Hola @AlmuVT

    Claro que se puede.

    Tenemos esto:

    fecha,dato
    Febrero 2015,1
    Marzo 2015,2
    Abril 2015,3

    Para dividir entre mes y año, puedes usar el operador Split que es para dividir strings. Si separas las cadenas de caracteres del mes y del año por un espacio, tienes esto:

    fecha_1,fecha_2,dato
    Febrero,2015,1
    Marzo,2015,2
    Abril,2015,3

    La otra operación, para dejar los datos como quieres es Pivot, donde tienes:

    group by attributes = fecha_1
    column_grouping_attribute = fecha_2
    aggregation_attribute = dato, sum

    Con eso te queda como quieres.

    Un abrazo,

    Rodrigo.

  • AlmuVT
    AlmuVT New Altair Community Member
    Answer ✓
    Perfecto, es justo lo que quería!!!
    No tenía controlado el operador Split, muchas gracias!!

Answers

  • rfuentealba
    rfuentealba New Altair Community Member
    Answer ✓
    Hola @AlmuVT

    Claro que se puede.

    Tenemos esto:

    fecha,dato
    Febrero 2015,1
    Marzo 2015,2
    Abril 2015,3

    Para dividir entre mes y año, puedes usar el operador Split que es para dividir strings. Si separas las cadenas de caracteres del mes y del año por un espacio, tienes esto:

    fecha_1,fecha_2,dato
    Febrero,2015,1
    Marzo,2015,2
    Abril,2015,3

    La otra operación, para dejar los datos como quieres es Pivot, donde tienes:

    group by attributes = fecha_1
    column_grouping_attribute = fecha_2
    aggregation_attribute = dato, sum

    Con eso te queda como quieres.

    Un abrazo,

    Rodrigo.

  • AlmuVT
    AlmuVT New Altair Community Member
    Answer ✓
    Perfecto, es justo lo que quería!!!
    No tenía controlado el operador Split, muchas gracias!!