jueves, 14 de diciembre de 2023

Procedimientos. Datos.

Calc. Cumplimentar documento.

Como dije en la [entrada anterior], es posible crear soluciones (que no (aun) docap) basadas en el uso de funciones Calc. Comentaba en ella la conveniencia de ejemplificar la afirmación anterior explicando la construcción de un soporte de esas características y recientemente [publiqué una entrada en OrientAsLO] que cumple este objetivo, quedando pendiente (en ese momento) complementar dicha entrada con la que ahora desarrollo aquí.



En esa entrada de OrientAsLO expliqué el test de referencia (Test de Weepman) y la estructura del soporte, por lo que no me voy a detener aquí en esos detalles. Me centraré, eso sí, en explicar con cierto detalle el uso de las funciones SI() y CONCATENAR() empleadas en la construcción del sencillo informe con el que finaliza el soporte (pág. Info). 

A este mismo efecto podría haber servido el test Palabras mágicas, ya que también en él se utilizan los mismos recursos con la misma finalidad, pero al exponer el test Weepman matamos dos pájaros de un mismo tiro: aumentamos los recursos publicados en el blog, complementando desde una doble perspectiva la evaluación de la discriminación auditiva (1), y exponemos un procedimiento de trabajo cuyo conocimiento puede considerarse "rentable" en términos de frecuencia de uso.

De hecho se trata de explicitar precisamente lo que podemos considerar la "prehistoria" del desarrollo del nivel competencial que facilita en estos momentos la creación de docap (2): profundizar en el uso de los recursos disponibles en los servicios e incrementar el campo de ámbitos de uso de uno (la hoja de cálculo Calc)  que es sabido no forma parte de lo que normalmente se suele emplear por parte de los SEO.

Con todo, lo más importante ahora es que con esta entrada complemento lo expuesto [en la precedente] referida a la función CONCATENAR() y sus similares (CONCAT() UNIRCADENAS()), a la vez que también complementa lo tratado en [otras entradas anteriores] referidas al uso de la función SI() (3), por lo que ahora abordamos su uso conjunto, el cual se revela así con toda su capacidad de automatizar la creación de textos (informes) básicos sin recurrir (aun) al uso de script OOo Basic.

La función condicional SI() ya se emplea con profusión en la puntuación de los ítem del Test (4)...

  • =SI(D7=E7;1;0) (base para el análisis cuantitativo)

... y el registro de los pares de fonemas en los que se presentan errores...

  • =SI(F7=0;B7;" ") (como base para el análisis cualitativo)
No obstante, es en la creación del informe (hoja Info) donde me voy a centrar ahora, ya que es en ella donde se utilizan las funciones SI() y CONCATENAR() de forma combinada, pero también donde se aprecia el "primitivismo" y las limitaciones de estas primeras formulaciones de la automatización basada en funciones nativas de Calc: incluso en el marco de esta delimitación  se aprecia que la solución se desarrolla en los inicios de la profundización en el conocimiento de las posibilidades de la hoja de cálculo (5).

El mencionado informe está dividido en cinco bloques, correspondiendo el primero a la descripción del test, sin que se emplee en él ningún procedimiento de personalización, limitándose a la escritura directa de un breve texto genérico e introductorio.

El resto de los párrafos sí incluyen el uso combinado de las funciones (básicamente la condicional SI() junto con CONCATENAR() y alguna otra de carácter complementario (y secundario para lo que nos interesa ahora) (6). La estructura básica es la que sigue:

SI(Condición a valorar... (se refiere a la valoración global del rendimiento del sujeto)

... Entonces -> CONCATENAR() -> datos + cadenas + datos

... En caso contrario ("Else") -> CONCATENAR() -> datos + cadenas + datos )

... (donde datos se concreta como referencia a celdas que contienen los datos) y que se concreta como sigue:

=SI($Id.C14="presenta dudas";CONCATENAR($Id.B6;" obtiene un porcentaje de acierto del ";TRUNCAR($Id.C12;2);"%, por lo que puede considerarse que su rendimiento en tareas de discriminación auditiva es  ";$Id.C14);CONCATENAR($Id.B6;" obtiene un porcentaje de acierto del ";TRUNCAR($Id.C12;2);"%, por lo que puede considerarse que su rendimiento en tareas de discriminación auditiva es";$Id.C14))

El párrafo siguiente se crea únicamente mediante concatenación de string y datos y sirve de entrada para exponer los pares de fonemas afectados por error (párrafos 4º y 5º), que también se crean mediante la función concatenar.

Son estos dos párrafos donde mejor se aprecia el arcaísmo y las limitaciones de uso de las funciones Calc: en ellos habría sido mucho más pertinente utilizar la función CONCAT() o UNIRCADENAS(), que se suponen una ejemplificación de la concatenación de un conjunto de celdas (G7:G46), así como del tratamiento de las celdas vacías y/o de la separación entre ellas. 

Si utilizo estas dos funciones como alternativa a la más primitiva (CONCATENAR()) obtengo un resultado más satisfactorio y de forma más simple (7), pero no del todo satisfactoria. De hecho la función que mejor funciona es UNIRCADENAS(), pero tampoco de forma totalmente satisfactoria en cuanto al manejo de los espacios que deja la no presencia de contenido en determinadas celdas del conjunto (G7:G46) y/o del carácter de separación (el que mejor funciona es " ").

Es entonces cuando el uso de otras dos funciones de tipo texto ayuda a mejorar los resultados. Me refiero a la función ESPACIOS(), que elimina los espacios sobrantes, y la función SUSTITUIR(), que empleo para sustituir los espacios en blanco que utilizo originariamente como separador y que ESPACIOS() respeta por considerarlos espacio propio entre palabras (que son los únicos que no elimina). De este modo consigo un resultado que se ajusta perfectamente al objetivo: generar un listado de los pares de fonemas afectados por error, ajustado a la longitud de la lista resultante y diferenciándolos claramente unos de otros. Como ejemplo...

G-D | S/C | C-G | C-T | E-O | C-P | BR-GR | T/R | P/N | C-T

... que resulta de la combinación de las tres funciones (8): 

=SUSTITUIR(ESPACIOS(UNIRCADENAS(" ";1;$It.G7:G46));" ";" | ")

NOTAS

(1) Con lo que proporcionamos dos recursos que se pueden considerar complementarios en cuanto a la forma de evaluar la discriminación auditiva, lo que permite desarrollar estrategias de evaluación que combinen ambos, si así se considera.

(2) O lo que es lo mismo, la (semi)automatización de soportes documentales en base a OOo Basic.

(3) Se trata de tres entradas aunque ahora sólo se enlace a la publicada en primer lugar. El resto están disponibles desde la página [DATOS] . Pdt. Añadir que en estas entradas no me limito a explicar el uso de las funciones condicionales de Calc. 

(4) Hoja It(em), columnas F para puntuación y G para recopilación de errores.

(5) El documento original fue creado hace más de 10 años sobre MSO-Excel y transformado recientemente a formato Calc sin revisión ni modificaciones, de ahí que se limite al uso de la función CONCATENAR() sin tener en cuenta otras opciones.

(6) También incluyen la referencia a celdas de diferentes hojas, aunque este es un procedimiento básico y muy frecuente en el uso de Calc o de Excel.

(7) De hecho no necesito crear dos párrafos, siendo ahora suficiente con uno.

(8) Te sugiero aplicar esta modificación al documento que puedes [descargar desde este enlace]

No hay comentarios:

Publicar un comentario

Comenta esta entrada