Как считать дни с начала года в моем запросе MDX

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

Как я могу добиться этого YTD количество дней в моем запросе?

WITH 
  MEMBER [Settlement Date].[Calendar].[CalendarYTD] AS 
    Aggregate
    (
      YTD
      (
        [Settlement Date].[Calendar].[Settlement Calendar Month].&[201412]
      )
    ) 
SELECT 
  [Settlement Date].[Calendar].[CalendarYTD] ON COLUMNS
 ,NON EMPTY 
    [Device].[DeviceID].Children ON ROWS
FROM [cube1]
WHERE 
  [Measures].[amount];

ИЛИ ЖЕ

Вы можете использовать ниже AW MDX запрос при внесении изменений, которые дают те же результаты, что и мой запрос выше:

WITH 
  MEMBER [Date].[Calendar].[CalendarYTD] AS 
    Aggregate(YTD([Date].[Calendar].[Month].[March 2015])) 
SELECT 
  [Date].[Calendar].[CalendarYTD] ON COLUMNS
 ,[Product].[Category].Children ON ROWS
FROM [Adventure Works]
WHERE 
  [Measures].[Order Quantity];

1 ответ

Это немного поменяно местами, но, надеюсь, движется в нужном вам направлении:

WITH 
  MEMBER [Date].[Calendar].[CalendarYTD] AS 
    Aggregate(YTD([Date].[Calendar].[Month].[March 2007])) 
  MEMBER [Measures].[DaysCompleteCurrYear] AS 
    Descendants
    (
      YTD([Date].[Calendar].[Month].[March 2007])
     ,[Date].[Calendar].[Date]
     ,SELF
    ).Count 
SELECT 
  {
    [Measures].[DaysCompleteCurrYear]
   ,[Measures].[Order Quantity]
  } ON COLUMNS
 ,[Product].[Category].Children ON ROWS
FROM [Adventure Works]
WHERE 
  [Date].[Calendar].[CalendarYTD];

Если мы поместим целевой месяц в один набор элементов, семейные отношения сохранятся, и мы сможем использовать этот набор в пользовательских мерах:

WITH 
  SET [targMth] AS 
    {[Date].[Calendar].[Month].[March 2007]} 
  MEMBER [Date].[Calendar].[CalendarYTD] AS 
    Aggregate(YTD([targMth].Item(0).Item(0))) 
  MEMBER [Measures].[DaysCompleteCurrYear] AS 
    Descendants
    (
      YTD([targMth].Item(0).Item(0))
     ,[Date].[Calendar].[Date]
     ,SELF
    ).Count 
SELECT 
  {
    [Measures].[DaysCompleteCurrYear]
   ,[Measures].[Order Quantity]
  } ON COLUMNS
 ,[Product].[Category].Children ON ROWS
FROM [Adventure Works]
WHERE 
  [Date].[Calendar].[CalendarYTD];
Другие вопросы по тегам