# error funcion choose concatenada

**URL:** <https://foros.velneo.com/t/error-funcion-choose-concatenada/2095>\
**Category:** Velneo\
**Created:** [2 Agosto, 2010 23:05 UTC](https://foros.velneo.com/t/error-funcion-choose-concatenada/2095 "2010-08-02T23:05:40Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![velneotuoficina3](https://avatars.discourse-cdn.com/v4/letter/v/5f8ce5/32.png) [@velneotuoficina3](https://foros.velneo.com/u/velneotuoficina3)\
**Post date:** [2 Agosto, 2010 23:05 UTC](https://foros.velneo.com/t/error-funcion-choose-concatenada/2095/1 "2010-08-02T23:05:40Z")

</div>

Hola tengo un listado de clientes con sus facturaciones anuales, quiero dividirlo por tramos, los que facturen más de 4.000€, entre 4000 y 2000, entre 2000 y 1000, entre 1000 y 500 y por último menos de 500€.

Para ello he creado 4 variables con permanencia en disco (Tramo1, Tramo2, Tramo3, Tramo4) para poner esos 4 importes en ellas ,ahora en la tabla he creado un campo fórmula donde quiero que me salga "A" para el primer tramo , "B" para el segundo, "C", "D" y "E"

He puesto esta fórmula pero al abrir el formulario me cierra la aplicación luego debe haber un error : (#ventas2009 es el campo que recoge el importe de las ventas. Donde debe estar ese error . Gracias

choose(#VENTAS2009\>$TRAMO1@tuoficinavirtual.dat, "A", choose(#VENTAS2009 \> $TRAMO2@tuoficinavirtual.dat & #VENTAS2009\<$TRAMO1@tuoficinavirtual.dat, "B",choose(#VENTAS2009\>$TRAMO3@tuoficinavirtual.dat & #VENTAS2009\<$TRAMO2@tuoficinavirtual.dat, "C",choose(#VENTAS2009\>$TRAMO4@tuoficinavirtual.dat & #VENTAS2009\<$TRAMO3@tuoficinavirtual.dat,"D",choose(#VENTAS2009\<$TRAMO4@tuoficinavirtual.dat,"E",0)))))

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![jose1](https://avatars.discourse-cdn.com/v4/letter/j/dec6dc/32.png) [@jose1](https://foros.velneo.com/u/jose1)\
**Post date:** [3 Agosto, 2010 00:08 UTC](https://foros.velneo.com/t/error-funcion-choose-concatenada/2095/2 "2010-08-03T00:08:20Z")

</div>

Para empezar, porque no compruebas el importe facturado en ultimo lugar y simplemente le asignas el tramo "E", y lo digo porque la formula se me hace que es muy corta y podrias escribir una un poco mas larga, :D

&nbsp;

Ahora en serio, que es muy tarde y las neuronas no dan para mas,

Has probado a reducir la formula un poquito, por ejemplo asi:

choose(#VENTAS2009\>$TRAMO1@tuoficinavirtual.dat, "A", choose(#VENTAS2009\>$TRAMO2@tuoficinavirtual.dat,  
"B", choose(#VENTAS2009\>$TRAMO3@tuoficinavirtual.dat,  
"C", choose(#VENTAS2009\>$TRAMO4@tuoficinavirtual.dat,"D", "E"))))

Vamos a ver, sin entrar en si se podria hacer de otras formas, porque compruebas para el tramo "B" si es menor que el $TRAMO1, por logica, no es necesaria esa comprobacion, ya que si se comprueba esa parte de la condicion, es por que la cantidad NO es mayor que el $TRAMO1, o seria asignado directamente al tramo "A", espero haberme esplicado.

Ademas, la ultima comprobacion, la del tramo "E", sobra, sencillamente porque, si no es del tramo "A", y tampoco del tramo "B", y tampoco del tramo "C", y ni siquiera es del "D", pues tiene que ser el "E" por narices. Asi que no necesita comprobacion, se pone a pelo.

Espero haberte ayudado,

Ahora no se me ocurre otra forma de hacerlo y ya es tarde, pero prueba a eliminar las piezas que sobran, y si funciona, es porque las piezas no servian para nada, ;)

un saludo

José

---

<div class="post-metadata">

**Author:** ![jose1](https://avatars.discourse-cdn.com/v4/letter/j/dec6dc/32.png) [@jose1](https://foros.velneo.com/u/jose1)\
**Post date:** [3 Agosto, 2010 00:19 UTC](https://foros.velneo.com/t/error-funcion-choose-concatenada/2095/3 "2010-08-03T00:19:22Z")

</div>

Ah, se me olvidaba,

segun tu formula, si un cliente factura 4000, 2000, 1000, o 500 euros exactos, no pertenecera a ninguno de los grupos que has indicado, quiza podrias incluirlos en un nuevo grupo de clientes "L" (clientes en el Limbo)

malas horas son estas, jaja

un saludo.

&nbsp;

---

<div class="post-metadata">

**Author:** ![velneotuoficina3](https://avatars.discourse-cdn.com/v4/letter/v/5f8ce5/32.png) [@velneotuoficina3](https://foros.velneo.com/u/velneotuoficina3)\
**Post date:** [3 Agosto, 2010 09:43 UTC](https://foros.velneo.com/t/error-funcion-choose-concatenada/2095/4 "2010-08-03T09:43:12Z")

</div>

Hola, a ver gracias por contestar pero como me dices no funciona, de entrada tarda mucho en mostrar los resultados y sale "0" en todos los resultados, y luego tienes razón en los iguales como se hace para icluir el signo igual, gracias

---

<div class="post-metadata">

**Author:** ![innovadb](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/innovadb/32/5643_2.png) [@innovadb](https://foros.velneo.com/u/innovadb)\
**Post date:** [3 Agosto, 2010 12:48 UTC](https://foros.velneo.com/t/error-funcion-choose-concatenada/2095/5 "2010-08-03T12:48:00Z")

</div>

Hola Velneotuoficina

&nbsp;

No te compliques la vida y haz una función, la usas como contenido inicial y ya está. Solo tienes que pasarle como parametro el valor de las ventas del ejercicio que quieras. La variable del parámetro es VENTAS.

&nbsp;

set RETORNO ""

If \> (#VENTAS\>($TRAMO1@tuoficinavirtual.dat-0.01))

set RETORNO "A"

elseif \> (#VENTAS\>($TRAMO2@tuoficinavirtual.dat-0.01))

set RETORNO "B"

set dato de retorno del proceso (RETORNO)

&nbsp;

Un saludo

---

<div class="post-metadata">

**Author:** ![velneotuoficina3](https://avatars.discourse-cdn.com/v4/letter/v/5f8ce5/32.png) [@velneotuoficina3](https://foros.velneo.com/u/velneotuoficina3)\
**Post date:** [3 Agosto, 2010 16:08 UTC](https://foros.velneo.com/t/error-funcion-choose-concatenada/2095/6 "2010-08-03T16:08:58Z")

</div>

Ok muchas gracias a los dos por cierto me salía cero porque tenía puesto fórmula numérica en vez de alfabética, por eso no me salía A-B-c
