Я столкнулся с проблемой неправильного общего итога в сводной таблице.Мне нужна помощь для решения этой проблемы.
Колонка закрытия кол-во акций показывает правильное значение, но в столбцах «Последняя продажа» и «Розничная стоимость ABC» отображается неверный общий итог, как показано на снимке экрана ниже. неправильный общий итог в сводной таблице
фактическое значение столбца LASTSALE - 1995 + 1195 + 2099 + 2099 = 7788 вместо 2099.
и столбец ABC Retail Value 5985+1195 + 6297 + 4198 = 17675 вместо 18891.
Я использую упомянутые ниже скрипты: -
CREATE MEMBER CURRENTCUBE.[Measures].[Qty - Closing Stock]
AS 0,
FORMAT_STRING = "#,##0.00;-#,##0.00",
FORE_COLOR = iif([Measures].currentmember < 0, 255 /*Red*/,0),
VISIBLE = 1 , DISPLAY_FOLDER = 'Units',
ASSOCIATED_MEASURE_GROUP = 'Item Movement With Value';
FORMAT_STRING ( This ) = "#,#";
Scope([Measures].[Qty - Closing Stock]);
This = sum((
null:[Time].[Year].CurrentMember *
null:[Time].[Quarter].CurrentMember *
null:[Time].[Month Name].CurrentMember *
null:[Time].[Month].CurrentMember *
null:[Time].[date].CurrentMember )
,[Measures].[Qty - Movement]);
End Scope;
CREATE MEMBER CURRENTCUBE.[Measures].DAYSTODATE AS
COUNT(NULL:[Time].[Date].CURRENTMEMBER)-1
, VISIBLE = True;
CREATE MEMBER CURRENTCUBE.[Measures].HADSALE AS
IIF([Measures].[Price]=0, NULL, [Measures].DAYSTODATE)
, VISIBLE = True;
SCOPE([Measures].MAXDATE, [Time].[Time].[Date].MEMBERS);
THIS = MAX(NULL:[Time].[Date].CURRENTMEMBER, [Measures].HADSALE);
END SCOPE;
CREATE MEMBER CURRENTCUBE.[Measures].LAS TSALE AS
IIF(ISEMPTY([Measures].MAXDATE), NULL,
(
([Measures].[Price]) ,
[Time].[Date].[Date].MEMBERS.ITEM([Measures].MAXDATE))),
VISIBLE = True;
CREATE MEMBER CURRENTCUBE.[Measures].[ABC Retail Value]
AS
sum(
([Time].[date].CurrentMember)
,
[Measures].[Qty - Closing Stock] * [Measures].LAST SALE
) ,
VISIBLE = 1 ;
Эти скрипты работают нормально на Expr1 (уровне варианта), как показано на скриншоте ниже.
эти сценарии работают нормально на Expr1 (уровень варианта)
, если я удаляю Exr1 из фильтра, результат отличается.
Если я удаляю Exr1 из фильтра, результат будет другим
, хотя фактическая цена последней продажи 10300302 Позиция 2099, но на коротком экране выше показано 18891.
, если мы видим детали этого элемента.
введите описание изображения здесь
мое основное требование - я хочу рассчитать стоимость запаса на уровне позиции, уровня местоположения или уровня варианта.используя формулу.
Закрытие акций * LastSale Цена на уровне даты / периода.
, просто я хочу преобразовать свой ssms-запрос в mdx-скрипт, как показано ниже: -
введите описание изображения здесь