Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Contagem de MDX ao longo do tempo sem hierarquia específica


Já tive um problema parecido e resolvi da seguinte forma:

O SSAS não pode realmente dizer em qual hierarquia você está, então você não pode fazer isso tão simplesmente quanto no seu exemplo. no entanto, o seguinte funcionou para mim. Eu tentei retrabalhá-lo para sua nomenclatura, então verifique se há erros de sintaxe óbvios ...

Isso tudo vai no seu script de cálculo do cubo, você pode precisar usar 'script view' em vez de 'block view'.
CREATE MEMBER CURRENTCUBE.[Measures].[Commitment Total] AS NULL;

Em seguida, defina-o posteriormente no script para cada hierarquia:
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;

Agora ele se comportará de acordo, dependendo da hierarquia presente na consulta. Observe que será NULL se nenhuma hierarquia estiver na consulta.