2011-02-01 3 views
0

Это следует из my question about count from start of time.MDX Считайте время без определенной иерархии

Я хотел бы иметь возможность делать подсчет, не основывая его на иерархии DateTime, но иметь это как рассчитанную меру, которая работает, когда вы перетаскиваете измерение против него. Я в настоящее время

с членом [Меры] [обязательства Итого] в качестве
суммы (
[Дата Матовый] [FY Иерархия] [Финансовый год] .members (0):... [Date Dim] . [FY Иерархия] .currentMember
, [Measures] [Приверженность Count])

Затем, используя расчет:..

выберите [Measures] [обязательства Итого] на 0
, [Дата Dim] . [Иерархия FY]. [Финансовый год] по 1
из [Cube]

Я хотел бы иметь [Measures]. [Обязательство Total] не построена на [Date Dim]. [FY Иерархии], но быть независимыми в расчет, а затем использовать ось даты в заявлении выбора - то есть мы могли бы рассчитать по календарному году, финансовому году, году Fisal/Month Dim.

Так что я имею в виду, что бы выглядеть следующим образом:.

с членов [мер] [Обязательства Итого], как
суммы (
NULL: [Дата Dim] .currentMember
, [меры] [Приверженность Count])

Затем использовать расчет:..

выберите [Measures] [обязательства Итого] на 0
, [Дата Dim]. [FY Иерархия]. [Финансовый год] 1
из [Куб]

ИЛИ

выберите [Measures]. [Приверженность Итого] на 0
, [Дата Dim ]. [CY Иерархия]. [Финансовый год] 1
из [Куб]

не уверен, что я спрашиваю возможно или нет?

ответ

1

У меня была аналогичная проблема, и решить ее следующим образом:

SSAS не могу сказать, какая иерархия вы находитесь, так что вы не можете сделать это так просто, как в вашем примере. однако для меня это работало. Я попытался переработать его для вашего наименования, поэтому проверьте наличие явных синтаксических ошибок ...

Все это в вашем сценарии вычисления куба, вам может потребоваться использовать 'script view' вместо 'block view'.

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

Затем определите его в сценарии для каждой иерархии:

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; 

Теперь он будет вести себя соответствующим образом, в зависимости от иерархии, присутствующего в запросе. Обратите внимание, что это будет NULL, если ни одна иерархия в запросе.

Смежные вопросы