Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье объясняется, как вычислить рост предыдущего периода в службах SQL Server Analysis Services.
Исходная версия продукта: SQL Server
Исходный номер базы знаний: 2406745
Итоги
В этой статье описывается процедура, которую можно выполнить, чтобы вычислить правильное значение для предыдущего роста периода при наличии кубов служб Analysis Services, содержащих отрицательные результаты.
Использование формулы для вычисления роста предыдущего периода
В сценарии, где есть куб служб Analysis Services, содержащий отрицательные результаты, для которых вы хотите вычислить значения роста предыдущего периода, необходимо применить формулу, чтобы получить правильные результаты. Например, предположим, что у вас есть следующие балансы в течение лет 2008, 2009 и 2010: $10,00, ($4,00), $5,00. В период с 2009 по 2010 год, так как баланс стал отрицательным ($4,00) до положительной стоимости $ 5,00, рост должен быть положительным. Чтобы добиться правильных результатов, следует применить следующую формулу:
IIF (measures.PreviousPeriodCurrentBalance = 0, NULL,
IIF (measures.PreviousPeriodCurrentBalance < 0,
([Measures].[Balance Current] - measures.PreviousPeriodCurrentBalance) / measures.PreviousPeriodCurrentBalance * -1,
([Measures].[Balance Current] - measures.PreviousPeriodCurrentBalance) / measures.PreviousPeriodCurrentBalance
))
Примечание.
В приведенной выше формуле используется вычисляемый элемент PreviousPeriodCurrentBalance
, созданный в иерархии дат со следующей формулой:
([Measures].[Balance Current], [Date Balance].[Hierarchy].currentmember.Prevmember)
Дополнительные сведения о IIf
функции см. в разделе в электронной документации по SQL Server: IIf (многомерные выражения)