sql >> Base de Datos >  >> RDS >> Sqlserver

MDX Recuento a lo largo del tiempo sin jerarquía específica

Tuve un problema similar y lo resolví de la siguiente manera:

SSAS realmente no puede decirle en qué jerarquía se encuentra, por lo que no puede hacer esto de manera tan simple como en su ejemplo. sin embargo, lo siguiente funcionó para mí. Intenté adaptarlo a su nombre, así que verifique si hay errores de sintaxis obvios...

Todo esto va en su secuencia de comandos de cálculo de cubo, es posible que deba usar 'vista de secuencia de comandos' en lugar de 'vista de bloque'.

CREATE MEMBER CURRENTCUBE.[Measures].[Commitment Total] AS NULL;

Luego, defínalo más adelante en el script para cada jerarquía:

SCOPE (DESCENDANTS([Date Dim].[FY Hierarchy],,AFTER));    
[Measures].[Commitment Total] =
sum(
[Date Dim].[FY Hierarchy].[Fiscal Year].members(0):[Date Dim].[FY Hierarchy].currentMember
, [Measures].[Commitment Count]);
END SCOPE;

SCOPE (DESCENDANTS([Date Dim].[CY Hierarchy],,AFTER));    
[Measures].[Commitment Total] =
sum(
[Date Dim].[CY Hierarchy].[Calendar Year].members(0):[Date Dim].[CY Hierarchy].currentMember
, [Measures].[Commitment Count]);
END SCOPE;

Ahora se comportará en consecuencia, dependiendo de la jerarquía presente en la consulta. Tenga en cuenta que será NULL si ninguna jerarquía está en la consulta.