none
Mejor manera de pasar un campo concatenado a formato de tablas de hechos

    Pregunta

  • Buenas,

    Me pasan un fichero que viene el cod_alumno y todos los cursos que ha hecho ese alumno separados por comas, algo asi:

    cod_ alumno      cod_cursos

    0155262            0500,1603,2105 

    y a mi me gustaría tenerlo así:

    cod_alumno      cod_curso

    0155262           0500

    0155262           1603

    0155262           2105

    ¿Sabríais decirme la mejor manera de hacerlo? yo lo he hecho con anulación de dinamización y creo que debe de haber una manera mejor porque de esa forma he liado un buen lio y tarda muchísimo en ejecutar.

    Muchas gracias y un saludo

    • Tipo cambiado Ricardo760 martes, 09 de enero de 2018 10:14
    lunes, 08 de enero de 2018 12:12

Respuestas

  • Si hablamos de SSIS, lo mejor es crear un componente de script asíncrono, que dada una entrada haga con .NET un Split, y por cada elemento en el array de texto devuelva una nueva salida. El componente es bastante simple de implementar y estoy seguro que será muy muy muy rápido. 

    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    • Marcado como respuesta Ricardo760 miércoles, 10 de enero de 2018 8:30
    miércoles, 10 de enero de 2018 6:00
    Moderador

Todas las respuestas

  • Si hablamos de SSIS, lo mejor es crear un componente de script asíncrono, que dada una entrada haga con .NET un Split, y por cada elemento en el array de texto devuelva una nueva salida. El componente es bastante simple de implementar y estoy seguro que será muy muy muy rápido. 

    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    • Marcado como respuesta Ricardo760 miércoles, 10 de enero de 2018 8:30
    miércoles, 10 de enero de 2018 6:00
    Moderador
  • Muchas gracias, no lo he hecho nunca pero viniendo de ti seguro que es la mejor manera, me pongo con ello.

    Un saludo y gracias de nuevo

    miércoles, 10 de enero de 2018 8:30
  • Gracias Ricardo. aquí tienes un ejemplo clásico que usa para agrupar o resumir, tu en realidad no necesitas ni ordenar ni agrupar, solo que para cada input haras N ouput y se reduce a que metas un

    {foreach (string s in rows.codcursos.split('.'))

      outuput0rows.add()

       resto deasignaciones. 

    }

    no olvides el método que describe n el link para finalizar o puede que te comas alguun registro. 


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    miércoles, 10 de enero de 2018 8:58
    Moderador