none
SQL Server Reporting Services - Campo calculado Totales RRS feed

  • Pregunta

  • Hola a tod@s, soy algo nuevo utilizando Reporting Services, he echo ya varios reportes pero no he logrado realizar divisiones de campos los cuales ya estan totalizados, ejemplo de ello, tengo un reporte agrupando:

    1- Sucursales (Grupo 1)

    2- Areas de Productos (Grupo 2)

    3- Códigos de Productos (Grupo 3)

    De esta forma armo un reporte de existencias, pero este ultimo grupo de Códigos de productos tiene una suma por el Total de Existencias y otra por el Total del costos de las unidades totales, pero no tengo un Costo Unitario, por ende quiero dividir el Costo Total el cual ya es una suma entre el total de cantidad el cual es otra suma, al querer realizar esto hago lo siguiente:

    =Sum(Fields!CostoTotal.Value, "Producto Codigo")/Sum(Fields!Cantidad.Value, "Producto Codigo")

    Pero me devuelve el siguiente error:

    Error durante el procesamiento local de informes. La expresión usada para el campo calculado 'Nombre del campo calculado' incluye una funcion de agregado, RowNumber, RunningValue, Previous o de búsqueda. Estas funciones no se pueden usar en expresiones de campos calculados

    Si divido los campos sin totales me genera datos que nada que ver, espero me puedan ayudar y haber sido detallado en el caso, de antemano muchas gracias.

    Alejandro Balladares Alvarado

    viernes, 19 de agosto de 2016 16:44

Respuestas

  • Hola, no entiendo muy bien lo que te pasa pero he probado con la bbdds AdventureWorks tratando de simular un caso parecido y me va bien. He usado la tabla "production.product" y simulado tu caso con "select color,ProductSubcategoryID,SafetyStockLevel,StandardCost  from production.product
     where color is not null and ProductSubcategoryID is not null" para el DataSet1, en el asistente de crear un nuevo reporte he puesto como grupos "color y ProductSubcategoryID" y en el detalle "SafetyStockLevel y StandardCost", luego he agregado una nueva columna en el report y en cada encabezado de grupo he escrito la expresion "=Sum(Fields!StandardCost.Value)/Sum(Fields!SafetyStockLevel.Value)" y en el detalle "=Fields!StandardCost.Value/Fields!SafetyStockLevel.Value" y va de maravilla. Puedes tal vez con esta misma tabla probar a hacer lo que quieres y si te da error nos lo dices, Saludos.
    • Marcado como respuesta Alexb-1 martes, 23 de agosto de 2016 20:25
    sábado, 20 de agosto de 2016 12:07

Todas las respuestas

  • Hola, no entiendo muy bien lo que te pasa pero he probado con la bbdds AdventureWorks tratando de simular un caso parecido y me va bien. He usado la tabla "production.product" y simulado tu caso con "select color,ProductSubcategoryID,SafetyStockLevel,StandardCost  from production.product
     where color is not null and ProductSubcategoryID is not null" para el DataSet1, en el asistente de crear un nuevo reporte he puesto como grupos "color y ProductSubcategoryID" y en el detalle "SafetyStockLevel y StandardCost", luego he agregado una nueva columna en el report y en cada encabezado de grupo he escrito la expresion "=Sum(Fields!StandardCost.Value)/Sum(Fields!SafetyStockLevel.Value)" y en el detalle "=Fields!StandardCost.Value/Fields!SafetyStockLevel.Value" y va de maravilla. Puedes tal vez con esta misma tabla probar a hacer lo que quieres y si te da error nos lo dices, Saludos.
    • Marcado como respuesta Alexb-1 martes, 23 de agosto de 2016 20:25
    sábado, 20 de agosto de 2016 12:07
  • Hola Raimundo, acabo de hacer la prueba según me indicas y de echo si funciono utilizando el asistente de informes, los reportes que he echo actualmente los he armado sin el asistente, algo debo estar haciendo mal por ende comparare para ver el problema, por el momento seguire tus indicaciones para presentar el informe con los Costos Unitarios, te agradezco mucho por tu tiempo y respuesta.

    Saludos

    Alejandro Balladares Alvarado


    martes, 23 de agosto de 2016 20:26