Использование параметра «Показывать значения как» в сводной таблице Excel 2007, когда источником является куб SSAS? - PullRequest
0 голосов
/ 05 июня 2009

У меня есть сводная таблица Excel 2007, в которой "Год" вверху и "Месяц" внизу. То, что я пытаюсь сделать, это представить значения как «% разницы» по сравнению с тем же месяцем предыдущего года. (Например, если январь-07 - 100 000 долларов, а январь-08 - 120 000 долларов, я бы хотел, чтобы в январе-08 было указано «20%»). Однако каждый раз, когда я пытаюсь это сделать (используя вкладку «Показать значения как» в настройках поля значений), все мои номера переходят на «# N / A». Есть ли способ сделать это, используя куб служб Analysis Services в качестве источника данных? Когда я делаю то же самое, используя данные на другом листе в качестве источника данных для сводной таблицы, все работает нормально.

Ответы [ 2 ]

0 голосов
/ 23 октября 2009

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

/ * Команда CALCULATE контролирует агрегацию листовых ячеек в куб. Если команда CALCULATE удалена или изменена, данные в куб затронут. Вы должны редактировать эту команду, только если вы вручную укажите, как агрегируется куб. * /

CALCULATE; 
CREATE MEMBER CURRENTCUBE.[MEASURES].PrevPeriod
 AS ([Measures].[Count],  [Date].[YearMonthDate].CURRENTMEMBER.PREVMEMBER ), 
FORMAT_STRING = "#,#", 
VISIBLE = 1  ; 

CREATE MEMBER CURRENTCUBE.[Measures].PeriodChange
 AS ([Measures].[Count] - [Measures].[PrevPeriod]), 
FORMAT_STRING = "#,#", 
VISIBLE = 1  ;     
CREATE MEMBER CURRENTCUBE.[Measures].PercentChange
 AS (
        [Measures].[PeriodChange]/
        IIF(    ([Measures].[PrevPeriod] = 0), 
                [Measures].[Count],
                [Measures].[PrevPeriod]
            )
    ), 
FORMAT_STRING = "Percent", 
VISIBLE = 1;     
CREATE MEMBER CURRENTCUBE.[Measures].YearToDate
 AS (
       SUM(PeriodsToDate([Date].[YearMonthDate].[Year Code]), [Measures].[Count])
    ), 
FORMAT_STRING = "#,#", 
VISIBLE = 1;
0 голосов
/ 06 июля 2009

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

Выражение MDX будет выглядеть примерно так:

([Measures].[Amount] - ([Date].[Year].PrevMember, [Measures].[Amount])) 
/ ([Measures].[Amount])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...