sql >> Database teknologi >  >> RDS >> Sqlserver

MDX Tæl over tid uden specifikt hierarki

Jeg har haft et lignende problem og løste det som følger:

SSAS kan ikke rigtig fortælle dig, hvilket hierarki du er på, så du kan ikke gøre dette så simpelt som i dit eksempel. dog virkede følgende for mig. Jeg har forsøgt at omarbejde det til dit navn, så tjek for åbenlyse syntaksfejl...

Alt dette går i dit terningeberegningsscript, du skal muligvis bruge 'script view' i stedet for 'blokvisning'.

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

Definer det derefter senere i scriptet for hvert hierarki:

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 vil den opføre sig i overensstemmelse hermed, afhængigt af hierarkiet i forespørgslen. Bemærk, at den vil være NULL, hvis ingen af ​​hierarkiet er i forespørgslen.




  1. SQL Server rapporterer 'Ugyldigt kolonnenavn', men kolonnen er til stede, og forespørgslen fungerer gennem administrationsstudiet

  2. Oprettelse af replikering mellem SQL Server 2000 (udgiver) og SQL Server 2008 (abonnent)

  3. Hvordan designer jeg en tabel, som gemmer meget store data?

  4. Gælder grænsen for det maksimale antal SQL join-tabeller for hele forespørgslen, eller tælles underforespørgsler separat?