Как получить итоговое значение на основе отфильтрованной даты в MDX? - PullRequest
0 голосов
/ 20 января 2019

Мне нужен расчетный член для расчета промежуточного итога на Dim Date это должно работать со всеми датами, отфильтрованными в отчетах. большинство решений рассчитывает от первой даты в Dim Date или Null для Current Member, но мне нужно рассчитать от первой даты, отфильтрованной до текущего участника, и исключить даты, которых нет в фильтре Sample Image

1 Ответ

0 голосов
/ 21 января 2019

Попробуйте это:

//capture the dates selected in the where clause of the query
CREATE DYNAMIC SET CURRENTCUBE.SelectedDates as
[Dim Date].[Date].[Date].Members;

CREATE MEMBER CURRENTCUBE.[Measures].[Cumulative Sale Price] as
Sum(
 {
  SelectedDates.Item(0).Item(0)
  :
  Tail(Existing [Dim Date].[Date].[Date].Members, 1).Item(0).Item(0) //capture the last date present in the Filter context for this cell
 },
 [Measures].[Sale Price]
);

CREATE MEMBER CURRENTCUBE.[Measures].[Cumulative Sale Price with Skips] as
Sum(
 Exists(
  SelectedDates,
  {
   SelectedDates.Item(0).Item(0)
   :
   Tail(Existing [Dim Date].[Date].[Date].Members, 1).Item(0).Item(0) //capture the last date present in the Filter context for this cell
  }
 ),
 [Measures].[Sale Price]
);
...