sql >> Databáze >  >> RDS >> Sqlserver

Počet MDX v průběhu času bez specifické hierarchie

Měl jsem podobný problém a vyřešil jsem ho následovně:

SSAS vám opravdu nemůže říct, ve které hierarchii se nacházíte, takže to nemůžete udělat tak jednoduše jako ve vašem příkladu. nicméně pro mě fungovalo následující. Pokusil jsem se to přepracovat na vaše pojmenování, takže zkontrolujte zjevné syntaktické chyby...

To vše jde do vašeho skriptu výpočtu krychle, možná budete muset použít 'zobrazení skriptu' místo 'zobrazení bloku'.

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

Poté jej definujte později ve skriptu pro každou hierarchii:

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;

Nyní se bude chovat podle toho, v závislosti na hierarchii přítomné v dotazu. Všimněte si, že pokud v dotazu není žádná hierarchie, bude mít hodnotu NULL.




  1. Jak seskupit podle roku v T-SQL

  2. Časovač zrušení příkazu MySQL se nepodařilo zastavit

  3. VYBERTE jeden sloupec, pokud je druhý prázdný

  4. Vytvořte sloupec „Poslední změna“ na serveru SQL Server