sql >> Database >  >> RDS >> Sqlserver

MDX-telling in de tijd zonder specifieke hiërarchie

Ik heb een soortgelijk probleem gehad en heb het als volgt opgelost:

SSAS kan u niet echt vertellen in welke hiërarchie u zich bevindt, dus u kunt dit niet zo eenvoudig doen als in uw voorbeeld. het volgende werkte echter voor mij. Ik heb geprobeerd om het aan uw naam te wijzigen, dus controleer op duidelijke syntaxisfouten...

Dit gaat allemaal in uw kubusberekeningsscript, u ​​moet mogelijk 'scriptweergave' gebruiken in plaats van 'blokweergave'.

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

Definieer het dan later in het script voor elke hiërarchie:

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;

Nu zal het zich overeenkomstig gedragen, afhankelijk van de hiërarchie die aanwezig is in de query. Merk op dat het NULL is als geen van beide hiërarchie in de query voorkomt.




  1. Replicatie maken tussen SQL Server 2000 (uitgever) en SQL Server 2008 (abonnee)

  2. Rijen verwijderen uit bovenliggende en onderliggende tabellen

  3. Wijzig het scheidingsteken in een komma bij het e-mailen van queryresultaten in SQL Server (T-SQL)

  4. KOLOM WIJZIGEN in orakel - Hoe controleer ik of een kolom nullable is voordat deze op nullable wordt gezet?