2012-07-09 31 views
6

Sé que no podemos usar una Función de agregación para un filtro en una matriz.La función de agregado "Agregado" no se puede usar en un informe que contiene ningún filtro

Aquí está la situación en AdventureWorks. Tengo tres niveles:

  1. Categoría
  2. Subcategoría
  3. Producto

Y Calc_Member 1:

=With MEMBER Calc_Member as [Measures].[Internet Average Sales Amount] 

Y en realidad:

[Measures].[Internet Average Sales Amount]= 
[Measures].[Internet Sales Amount]/[Measures].[Internet Order Count] 

Quiero agregaciones diferentes para cada nivel en la jerarquía. Para la subcategoría del producto y la folmula para Calc_Member es como he mencionado antes:

[Measures].[Internet Average Sales Amount] 

Pero para Categoría Nivel Quiero promedio de subcategorías:

WITH MEMBER Calc_Member AS 
    Average(existing [Product].[Subcategory].[Subcategory].members 
    , [Measures].[Internet Average Sales Amount]) 

En Servicios de análisis esto funciona bien, pero tener un informe de los servicios de información sobre la base de este conjunto de datos:

  • categoría
  • subcaegory
  • producto
  • Calc_member

En SSRS utilizo una matriz con tres grupos de filas, y añadir total para cada grupo. Para el nivel de categoría 1, quiero usar una función de agregado en ssrs (para usar Formlula que está definida en el servicio de análisis) y nuevamente funciona bien.

Pero si quiero usar un filtro en algún miembro (por ejemplo, la categoría, subcategoría del producto) que tirar este error:

The aggregate function "Aggregate" cannot be used in a report that contains any filters

Y este error es accepteable también, pero lo que yo no undrestand es: si uso una función de agregación en Matrix1 y uso un filtro en Matrix2 también arrojo el error.

¿Por qué?

+1

Es muy difícil de entender su pregunta de inmediato. Quizás puedas editarlo y agregar algunas muestras de código más, decirnos qué has intentado, por qué no funciona, etc. Tal como está, no podemos ayudarte. – Jeroen

+0

Gracias por la edición. Intenté actualizarlo un poco más, con suerte sin cambiar el significado. Aún así, la pregunta es un poco difícil de entender, ¿probablemente una barrera idiomática? Tal vez alguien más pueda ver lo que sucede y responderlo por usted ... – Jeroen

+0

Hola Jeroen Muchas gracias por seguirme.Olvida mi pregunta anterior. Por favor, mira esto si es posible. Ingresa una matriz en ssrs y una función de agregación de uso en ella. y luego ponga otra Matriz y use Filtro en ella. después de eso, puede ver el error Gracias. – abianari

Respuesta

0

¿Puede unir el agregado al conjunto de datos y luego usarlo como un filtro? (al parecer lo que necesito 50 reputación para comentar)

por ejemplo:

SELECT item, quantity, aggregateQuantity 
FROM TABLE T1 
LEFT JOIN (SELECT item, SUM(Quantity) AS aggregateQuantity FROM TABLE) T2 
ON T1.item = T2.item 
Cuestiones relacionadas