Columnas calculadas en dataset.

31/10/2005 - 13:14 por Diego \(DCD\) | Informe spam
Hola, a ver si alguien sabe si esto se puede hacer.

Tengo un DataSet en el que tengo una columna con importes y otras con
porcentajes. Pues bien, lo que quiero hacer es calcular el porcentaje de
cada fila sobre el total de la columna.

No sé si alguien me entiende, pondré un ejemplo.

Importe % sobre Total
Fila 1 235 40,52
Fila 2 345 59,48

La columna de % se puede calcular de forma automática en un DataSet. Para
averiguar el % hago esta operación

(235/580)*100 580 es la suma total de la columna Importe.

Gracias.

Preguntas similare

Leer las respuestas

#1 Benton
31/10/2005 - 17:04 | Informe spam
Tengo un DataSet en el que tengo una columna con importes y otras con
porcentajes. Pues bien, lo que quiero hacer es calcular el porcentaje de
cada fila sobre el total de la columna.

No sé si alguien me entiende, pondré un ejemplo.

Importe % sobre Total
Fila 1 235 40,52
Fila 2 345 59,48

La columna de % se puede calcular de forma automática en un DataSet. Para
averiguar el % hago esta operación

(235/580)*100 580 es la suma total de la columna Importe.



Es fácil, a la tabla le agregas una nueva columna para guardar los
porcentajes:

DataColumn colnueva = new DataColumn("PORCENTAJE");
colnueva.DataType = typeof(double);

miTabla.Columns.Add(colnueva);

y luego con un foreach recorres todas las filas de la tabla, calculando el
porcentaje de cada una y poniéndolo en la columna nueva:

foreach(DataRow dr in miTabla.Rows)
dr["PORCENTAJE"] = (*cálculo del porcentaje*);

Saludos,

-Benton
Respuesta Responder a este mensaje
#2 Diego \(DCD\)
31/10/2005 - 17:57 | Informe spam
Esa solución es la que quería saber si se podía evitar. Yo sé, por ejemplo,
que puedo utilizar una expresión de columnas para almacenar un resultado en
una columna. Quería saber si se puede hacer lo que describía anteriormente
en una expresión de columna. Por lo que veo, es algo imposible.

Gracias.


"Benton" escribió en el mensaje
news:
> Tengo un DataSet en el que tengo una columna con importes y otras con
> porcentajes. Pues bien, lo que quiero hacer es calcular el porcentaje de
> cada fila sobre el total de la columna.
>
> No sé si alguien me entiende, pondré un ejemplo.
>
> Importe % sobre Total
> Fila 1 235 40,52
> Fila 2 345 59,48
>
> La columna de % se puede calcular de forma automática en un DataSet.


Para
> averiguar el % hago esta operación
>
> (235/580)*100 580 es la suma total de la columna Importe.

Es fácil, a la tabla le agregas una nueva columna para guardar los
porcentajes:

DataColumn colnueva = new DataColumn("PORCENTAJE");
colnueva.DataType = typeof(double);

miTabla.Columns.Add(colnueva);

y luego con un foreach recorres todas las filas de la tabla, calculando el
porcentaje de cada una y poniéndolo en la columna nueva:

foreach(DataRow dr in miTabla.Rows)
dr["PORCENTAJE"] = (*cálculo del porcentaje*);

Saludos,

-Benton

Respuesta Responder a este mensaje
#3 Kravek
02/11/2005 - 20:33 | Informe spam
X q no haces el select añadiendo dicha columna?

"Diego (DCD)" escribió en el mensaje
news:
Esa solución es la que quería saber si se podía evitar. Yo sé, por
ejemplo,
que puedo utilizar una expresión de columnas para almacenar un resultado
en
una columna. Quería saber si se puede hacer lo que describía anteriormente
en una expresión de columna. Por lo que veo, es algo imposible.

Gracias.


"Benton" escribió en el mensaje
news:
> Tengo un DataSet en el que tengo una columna con importes y otras con
> porcentajes. Pues bien, lo que quiero hacer es calcular el porcentaje
> de
> cada fila sobre el total de la columna.
>
> No sé si alguien me entiende, pondré un ejemplo.
>
> Importe % sobre Total
> Fila 1 235 40,52
> Fila 2 345 59,48
>
> La columna de % se puede calcular de forma automática en un DataSet.


Para
> averiguar el % hago esta operación
>
> (235/580)*100 580 es la suma total de la columna Importe.

Es fácil, a la tabla le agregas una nueva columna para guardar los
porcentajes:

DataColumn colnueva = new DataColumn("PORCENTAJE");
colnueva.DataType = typeof(double);

miTabla.Columns.Add(colnueva);

y luego con un foreach recorres todas las filas de la tabla, calculando
el
porcentaje de cada una y poniéndolo en la columna nueva:

foreach(DataRow dr in miTabla.Rows)
dr["PORCENTAJE"] = (*cálculo del porcentaje*);

Saludos,

-Benton





Respuesta Responder a este mensaje
#4 Diego \(DCD\)
03/11/2005 - 10:22 | Informe spam
Pues porque si me varía el importe de la columna en alguna fila, tengo que
volver a calcular los porcentajes.

Gracias y un saludo.

"Kravek" <rubengARROBAkailea4.net> escribió en el mensaje
news:u%23qnOR%
X q no haces el select añadiendo dicha columna?

"Diego (DCD)" escribió en el mensaje
news:
> Esa solución es la que quería saber si se podía evitar. Yo sé, por
> ejemplo,
> que puedo utilizar una expresión de columnas para almacenar un resultado
> en
> una columna. Quería saber si se puede hacer lo que describía


anteriormente
> en una expresión de columna. Por lo que veo, es algo imposible.
>
> Gracias.
>
>
> "Benton" escribió en el mensaje
> news:
>> > Tengo un DataSet en el que tengo una columna con importes y otras con
>> > porcentajes. Pues bien, lo que quiero hacer es calcular el porcentaje
>> > de
>> > cada fila sobre el total de la columna.
>> >
>> > No sé si alguien me entiende, pondré un ejemplo.
>> >
>> > Importe % sobre Total
>> > Fila 1 235 40,52
>> > Fila 2 345 59,48
>> >
>> > La columna de % se puede calcular de forma automática en un DataSet.
> Para
>> > averiguar el % hago esta operación
>> >
>> > (235/580)*100 580 es la suma total de la columna Importe.
>>
>> Es fácil, a la tabla le agregas una nueva columna para guardar los
>> porcentajes:
>>
>> DataColumn colnueva = new DataColumn("PORCENTAJE");
>> colnueva.DataType = typeof(double);
>>
>> miTabla.Columns.Add(colnueva);
>>
>> y luego con un foreach recorres todas las filas de la tabla, calculando
>> el
>> porcentaje de cada una y poniéndolo en la columna nueva:
>>
>> foreach(DataRow dr in miTabla.Rows)
>> dr["PORCENTAJE"] = (*cálculo del porcentaje*);
>>
>> Saludos,
>>
>> -Benton
>>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida