Я учусь на работе. У меня есть таблица минут на каждой кровати. Я хочу рассчитать процентное использование кроватей. Я создал вычисляемый элемент в моем кубе в SSAS 2008SSAS Cube вычисляемый сумма участников неверно
CREATE MEMBER CURRENTCUBE.[Measures].UtilisationPercent
AS avg(
crossjoin(
descendants([bedlabel].[hierarchy].currentmember, [Bedlabel].[Bedlabel])
,descendants([Date].[date].currentmember, [Date].[Day])
)
,[Measures].[Utilisation Mins]
)
/(24*60),
FORMAT_STRING = "Percent",
NON_EMPTY_BEHAVIOR = { [Utilisation Mins] },
VISIBLE = 1 , ASSOCIATED_MEASURE_GROUP = 'Bedstay' ;
Это на самом деле работает отлично, если я порезать на год/месяц или подопечного/кровать.
Но общее использование, указанное в браузере куба, неверно. Как я могу контролировать способ вычисления общей суммы использования? Могу ли я создать расчетный элемент таким образом, чтобы скрещивание работало на более высоком уровне, чем лист?
January 2011 Utilisation %
- Bed1 98.86%
- Bed2 88,38%
- Bed3 82,63%
- Bed4 94,67%
- Bed5 85,82%
- Bed6 93,53%
- Bed7 78,78%
- Bed8 85,43%
- Bed9 91,16%
- Bed10 90,93%
- Bed11 92,00%
- Всего 894,35% < --- это слишком неправильно.
- добавил после комментария МЭЗ в
Ok, спасибо за подсказку. Я попробовал назначение по назначению после этого
SCOPE([Measures].[Utilisation Percentage]);
SCOPE([Date].[Date].MEMBERS);
SCOPE([bedlabel].[hierarchy].MEMBERS);
THIS = [Measures].[Utilisation Mins]/
(60*24
* count(descendants([bedlabel].[hierarchy].currentmember, [Bedlabel].[Bedlabel]))
* count(descendants([Date].[date].currentmember, [Date].[Day]))) ;
END SCOPE;
END SCOPE;
END SCOPE;
Я получил те же результаты, что и с помощью метода crossjoin. Я не вижу разницы в AS2008 между итоговым результатом назначения и моим старым методом crossjoin? И это все еще насчитывает в сюрреалистических цифрах, которые я не могу объяснить.
Взгляните на эту ссылку (например) http://www.purplefrogsystems.com/blog/2009/11/scope-problems-with-mdx-calculated-members/. Возможно, вам понадобится использовать функцию SCOPE на основе вашего измерения даты. – Mez
Если вы можете перестроить это в Adventure Works, я найду решение для вас. –
Его неловко, но я никогда не работал с Adventure Works раньше, и я не мог сейчас найти эквивалент производительности с первого взгляда? – Pho