Fórmula de columna: ¿Cómo combinar correctamente columnas de caracteres a las que les faltan entradas?Hola a todos,
No estoy seguro de por qué me cuesta encontrar la solución correcta para esto, pero me cuesta combinar columnas de texto cuando a cada columna le faltan entradas que no están en la misma fila, pero todas las filas están alineadas. Vea la captura de pantalla a continuación.

Por ejemplo, si una fila tiene una entrada A, B o C, entonces si está dentro de una columna, digamos: C1 o: C2, entonces la fila es la misma para ambas columnas. Para mi tabla de datos, tengo muchas columnas de texto, a cada una de ellas le faltan algunas entradas de fila, consulte el ejemplo anterior. Estoy intentando utilizar una fórmula de columna que utilice todas las diferentes entradas de texto de: C1 o: C2, a: CN.
Intenté usar la siguiente fórmula de columna, pero no completa la columna cuando: C1 está vacío

Pensé que la solución sería bastante sencilla, pero no encuentro ninguna y no sé cómo solucionarlo. Lo bueno de esto es que para las columnas: C1 a: CN que tengo en mi tabla de datos, si una fila no está vacía, todas las columnas tendrán el mismo carácter para esa fila. Por ejemplo, todas las columnas tienen la entrada D para la fila 4 (a menos que falte). Me gustaría terminar con una columna a la que no le falten valores usando las entradas no faltantes para cada una de mis columnas :CN, como la columna de arriba :Correcto.
Espero que esto tenga sentido. Cualquier ayuda es muy apreciada.
¡Gracias!,
DS
Organización de contenidosCompartir y comunicar resultadosventanasRe: Fórmula de columna: ¿Cómo combinar correctamente columnas de caracteres a las que les faltan entradas?Is Empty() comprueba si la celda existe.Necesitas Falta()
Re: Fórmula de columna: ¿Cómo combinar correctamente columnas de caracteres a las que les faltan entradas?No estoy seguro de qué tan rápido sería, pero podrías usar Associative Array para deshacerte de todos los duplicados. Esta no es la solución más limpia pero podría funcionar.
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(3),
Compress File When Saved(1),
New Column("Column 1", Character, "Nominal", Set Values({"A", "B", "C", ""})),
New Column("Column 2", Character, "Nominal", Set Values({"A", "", "", ""})),
New Column("Column 3", Character, "Nominal", Set Values({"A", "", "C", ""}))
);
dt << New Column("Col", Character, Nominal, Formula(
aa = Associative Array(Eval List({:Column 1, :Column 2, :Column 3}));
(aa << get keys)[N Items(aa)];
));
</CODE></P>
<P> </P>
<P>Otra opción que debería funcionar bastante bien es encontrar el primer valor que no falta y luego usarlo (cree una lista, use loc para encontrar el índice que no falta, si se encuentra uno, úselo para obtener el valor de la lista y, si no, establezca como faltante)</P>
<PRE><CODE class=" language-jsl">dt << New Column("Col2", Character, Nominal, Formula(
l = Eval List({:Column 1, :Column 2, :Column 3});
ok_idx = Loc(!Matrix(IsMissing(l)));
If(N Items(ok_idx) > 0,
l[ok_idx][1];
,
""
)
));
También puedes concatenar con espacio

Y luego crea otra columna que sea la Primera Palabra.


Se puede hacer algo similar con Cols/Utilities/Combine Columns y la fórmula de la columna de la primera palabra
Re: Fórmula de columna: ¿Cómo combinar correctamente columnas de caracteres a las que les faltan entradas?Hola @txnelson y @jthi ,
Gracias por sus rápidas respuestas. decidí ir con @txnelson La solución: fue agradable y fácil. Tenía en mi cabeza que el condicional Falta() solo funcionaba con números, así que ni siquiera lo intenté. Sabía que debería haber sido relativamente simple.
¡Gracias!,
DS
Re: Fórmula de columna: ¿Cómo combinar correctamente columnas de caracteres a las que les faltan entradas?Se desea agregar algunas funciones de agregación para Resumen:
Resumen y tabulación: agregue opción de agregación para columnas de caracteres
entonces, agregación en muchas filas, agrupadas por otras columnas.
¿Quizás valga la pena agregar dicha funcionalidad de agregación de caracteres, así como una columna de fórmula para varias columnas?