La carga masiva en Salesforce: una herramienta clave para los sistemas de evaluación de programas sociales

La Economía del Comportamiento: aplicación al diseño y evaluación de políticas públicas
febrero 27, 2018
TEORÍA DE CAMBIO: la irresistible incomodidad de que el final sea el principio
abril 4, 2018

La carga masiva en Salesforce: una herramienta clave para los sistemas de evaluación de programas sociales

No hace mucho tiempo en este mismo Blog publicamos Salesforce y APP’s de recolección de información. Una alianza potente una nota en la cual resaltábamos la inmensa importancia que tiene la información para que un Sistema de Monitoreo y Evaluación pueda tener un funcionamiento adecuado. En función de esta relevancia, y teniendo en cuenta que Salesforce es una de las soluciones más utilizadas como plataforma digital para proyectos sociales, es que nos parece importante explorar aquí algunas alternativas referidas a la carga de datos en la plataforma. En particular nos gustaría revisar qué opciones existen en el terreno de la carga masiva de datos, ya que esta modalidad permite ahorrar una enorme cantidad de tiempo a la vez que elude con más eficacia los errores humanos, inevitables en la tarea de los data entries.

Recapitulando lo dicho en la mencionada nota, una carga masiva es aquella que nos permite subir múltiples registros en una sola acción. Para entender mejor de qué van éste tipo de cargas consideremos brevemente a modo de ejemplo una problemática que suele ser muy recurrente en proyectos sociales: Un proyecto X brinda capacitaciones a sus beneficiarios y necesita hacer un seguimiento de las asistencias a estas capacitaciones por parte de los beneficiarios. Ante este requerimiento se podrían tomar dos caminos: El primero consiste en cargar de manera interactiva a cada uno de los beneficiarios sus asistencias en un determinado lapso del tiempo. Como se imaginarán esta opción en proyectos que cuentan con muchas capacitaciones o con muchos beneficiarios insume muchísimo tiempo de trabajo al punto de ser inviable. Además al  incrementarse la cantidad de cargas aumenta la posibilidad de ocurrencia de errores humanos. Afortunadamente para este tipo de problemáticas existe la alternativa de la carga masiva datos que en éste caso supondría crear una base de datos en dónde cada fila está compuesta por un beneficiario distinto y cada columna representa un momento temporal distinto –días, semanas o meses dependiendo de lo que necesite el proyecto–. Una vez lista la base se concluye el proceso cargando las asistencias de múltiples beneficiarios en una sola acción.

Habiendo repasado qué son las cargas masivas podemos adentrarnos a la revisión de las distintas alternativas para realizar esta tarea. Desde nuestro punto de vista para realizar cargas masivas en Salesforce hay dos grandes caminos: la utilización de alguna app ad-hoc para cargas masivas como APSONA, Dataloader.io u otra similar, o el empleo de una interfaz de usuario personalizada construida mediante Visualforce.

Es un sistema que contiene Salesforce que mediante el desarrollo de código permite crear interfaces de usuario personalizadas que pueden ser utilizadas para cargar masivamente datos. Retomando el ejemplo de las capacitaciones se crearía una interfaz de usuario como la que se ve en la ilustración debajo en donde se hallan en las filas los beneficiarios y en las columnas los meses para cargar la cantidad de días asistidos por mes. En función de que las interfaces de usuario que se crean con esta plataforma son ad-hoc la experiencia del usuario resultante es mucho más gratificante, veloz e intuitiva que la que enfrentaríamos su tuviésemos que cargar muchos registros de a uno por vez. Por otro lado, la utilización de Visualforce tiene a favor el hecho de que la tarea de la carga masiva se hace en el propio entorno de Salesforce sin necesidad de trabajar con bases de datos externas u archivos Excel que cumplan ciertos requisitos para ser subidos masivamente. Esto último no es algo menor si las personas que van a encargarse de la tarea de carga masiva son usuarios con poca capacitación y experiencia. Lamentablemente la utilización de Visualforce tiene una gran desventaja a mediano y largo plazo: requiere de programadores que desarrollen código, lo que puede traducirse en una molestia si en el futuro nos vemos obligados a cambiar, por la razón que sea, las características de la interfaz de usuario que habíamos pensado originalmente. En este sentido hay una pérdida de independencia y además eventualmente uno podría incurrir en mayores costos.

Ilustración de una planilla de carga de asistencias creada mediante Visualforce

Es una App que permite cargar datos masivos a partir de archivos de tipo CSV y que se puede utilizar en su variante online o descargando una versión para PC. Para poder subir datos a Salesforce mediante dataloader.io primero necesitamos generar una base de datos que debe estar estructurada de tal manera que replique un objeto X en Salesforce, es decir que sus variables serán los campos del objeto en cuestión. Una vez que tenemos generada nuestra base de datos la App nos permitirá hacer un mapping o aparejamiento entre las variables de nuestra base de datos y los campos existentes en Salesforce. Finalizado este proceso de mapping, se accede a la posibilidad de subir de una sola vez todos los registros que tengamos que crear. Volviendo a nuestro ejemplo, la base a cargar tendrá en filas los beneficiarios y en las columnas los meses como variables para cargar debajo de los mismos la cantidad de días asistidos por mes; y se daría una dinámica en donde cada uno de los responsables de cada capacitación carga la asistencia de su propia capacitación en su sede, barrio o localidad en un archivo de Excel que después envía al administrador del sistema que consolida todas las bases parciales recibidas generando una gran y única base que finalmente sube a Salesforce en una sola acción. La principal ventaja de esta App es su accesibilidad universal ya que tiene una opción gratuita que cubre el grueso de cargas que se necesitan incluso en proyectos muy demandantes en términos de información. Su principal desventaja es que sólo puede ser utilizada por usuarios con perfil de administrador del sistema ya que no permite limitar la cantidad de objetos a ser cargados según el perfil de la persona que lo utiliza, habilitando eventualmente que usuarios que manejan una fracción del sistema tengan acceso a intervenir la totalidad del mismo. Este hecho limita de manera importante la utilidad de esta App ya que en proyectos que manejen vastos volúmenes de información, por un lado, el administrador se podría ver recargado de trabajo y, por el otro, los usuarios directos sufrirían una dependencia excesiva del administrador del sistema.

Ilustración de la instancia de mapping de variables y campos utilizando Dataloader.io

Es una app conceptualmente similar a dataloader.io, pero que presenta algunas diferencias sustanciales. Si bien requiere de una base de datos, APSONA nos permite trascender el formato CSV ya que ofrece la posibilidad de copiar de manera directa todas las celdas de una base de datos con un formato tradicional construida en un Excel o en un paquete estadístico como Stata o SPSS y pegarla directamente en su ventana de edición de datos. Posteriormente, una vez que pegamos nuestra base de datos a esta ventana podemos seguir editando nuestros datos, algo particularmente útil si en el proceso de mapping entre las variables de la base y los campos de Salesforce nos damos cuenta que queremos subir registros cuyos datos tienen errores de tipeo o de otra índole. A las mencionadas se suma, a nuestro entender su principal ventaja, que es brindar la posibilidad de que los distintos perfiles de un sistema tengan un acceso diferenciado a los tipos de objetos que pueden cargar. Incluso es posible definir al interior de un objeto qué campos puede cargar un perfil y cuáles no. Retornando a nuestro ejemplo de las capacitaciones aquí ocurriría la siguiente dinámica: cada responsable de las capacitaciones toma asistencia de su capacitación en una base creada ad-hoc, después copia todas las celdas de esta base y las pega en la ventana de edición de datos, hace el mapeo de las variables con los campos de Salesforce y finalmente procede a cargar en una sola acción toda las asistencias. De este modo se gana en la independencia de cada responsable directo y se logra salvar la principal desventaja que presenta dataloeader.io. Desgraciadamente la contracara de los excelentes diferenciales que presenta APSONA radica en que es una app paga limitando su universalidad en proyectos que cuentan con poco presupuesto para su Sistema de M y E a mediano y largo plazo.

Ilustración de una ventana de edición de datos en APSONA

Habiendo repasado las alternativas que consideramos más interesantes para realizar cargas masivas podemos concluir que no existe, entre ellas, una opción superadora y obvia. Antes bien, lo que tenemos es una serie de alternativas que pueden ser más útiles en algunos casos, pero que en otras circunstancias pierden validez. Serán entonces las características del proyecto y de su Sistema de M y E las que ayuden a seleccionar la opción más adecuada en cada caso concreto.

Enlaces mencionados en esta nota:

dataloeader.io: https://dataloader.io

apsona: http://apsona.com

Visualforce: https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_intro.htm

Salesforce: www.salesforce.com

Comments are closed.