Tengo un cubo, y dentro de ese cubo hay una dimensión de fecha que tiene los siguientes atributos
Año calendario, calendario mes año, año fiscal, año fiscal año, fecha
Ahora con estos atributos tengo dos jerarquías definidas por el usuario, son las siguientes Jerarquía de calendario que tiene año calendario, calendario mes-año, fecha
La segunda jerarquía definida por el usuario es Jerarquía fiscal que tiene año fiscal, año fiscal, mes calendario año y fecha
Quiero saber las ventas promedio, así que creé una medida que va
Member [Measures].[Sales Daily Avg]
AS Avg ( Descendants ( [Date].[Calendar].CURRENTMEMBER, [Date].[Calendar].[Date] ), CoalesceEmpty([Measures].[Total Sales] , 0) )
Esto funciona muy bien cuando se ejecuta algo como
SELECT {
[Measures].[Sales Daily Avg],
} ON COLUMNS,
{ [Date].[Calendar].[Calendar Year].Members } ON ROWS
FROM
[SalesCube]
Esto funcionará si uso [Fecha]. [Calendario]. [Calendario Mes-Año] .Miembros pero no funcionará en mis atributos de jerarquía fiscal a excepción del calendario mes-año. ¿Cómo puedo modificar mi indicador para que acepte los atributos de la jerarquía del año fiscal?
Intenté unir el año fiscal, porque si el conjunto está vacío, solo evaluará el que se está utilizando. Pero simplemente no funciona para mí (supongo que sytnax podría ser el problema).
Lo siento chicos, soy realmente nuevo en esto.
Respuestas
1 para la respuesta № 1Cambie la definición de miembro calculado a:
CREATE Member [Measures].[Sales Daily Avg]
AS
IIF
(
NOT([Date].[Fiscal].CURRENTMEMBER IS [Date].[Fiscal].[All])
,
Avg
(
Descendants
(
[Date].[Fiscal].CURRENTMEMBER,
[Date].[Fiscal].[Date]
)
,
CoalesceEmpty([Measures].[Total Sales] , 0)
)
,
IIF
(
NOT([Date].[Calendar].CURRENTMEMBER IS [Date].[Calendar].[All])
,
Avg
(
Descendants
(
[Date].[Calendar].CURRENTMEMBER,
[Date].[Calendar].[Date]
)
,
CoalesceEmpty([Measures].[Total Sales] , 0)
),
NULL //Change this to whatever you want in case none of the hierarchies "Calendar" or "Fiscal" is involved.
)
)
Básicamente esto comprobará primero si algún miembroDe la jerarquía "fiscal" está en el alcance o no. Si es así, promediará las fechas fiscales para el miembro seleccionado. Si la primera condición no se cumple, verifica si algún miembro de la jerarquía "Calendario" está dentro del alcance. Si es así, funciona de manera similar en la jerarquía de "Calendario". Finalmente, si ninguno de los miembros de la jerarquía está dentro del alcance, se obtiene NULL
(usted podría repensar y poner según su requisito).
NOTA: cuando el currentmember
De cualquier jerarquía es la All
miembro, eso significa que la jerarquía no está dentro del alcance (no es parte del segmentador de datos ni de los ejes)