Я хочу создать метрику, которая будет показывать только первые 10 результатов при каждом применении. Предположим, что данные
item Price
A 20
B 45
C 50
D 80
E 10
F 90
G 85
H 55
I 40
J 100
Я хочу показать первые 5 результатов в порядке убывания. Итак, ожидаемый результат:
j-100
f-90
g-85
d-80
h-55
other-165
Я уже получаю результат со следующим запросом MDX:
With
Set [Top10] AS
(TOPCOUNT({ORDER( ({[DimProduct].[item].[All].Children})
,([Measures].[Price]),BDESC)},10))
MEMBER [DimProduct].[item].[OtherAll] AS
(avg({EXCEPT([DimProduct].[item].Members, [Top10])})
)
Select
[Measures].[ Price] on Columns,
{
[Top10]
,[DimProduct].[item].[OtherAll]
} on Rows
FROM [testcube]
Результат:
j-100
f-90
g-85
d-80
h-55
other-165
В основном я хочу создать метрику с указанным выше запросом и сохранить ее в своем решении куба.
Итак, когда я перетаскиваю товар и цену, он покажет все данные, то есть все 10 строк.
A 20
B 45
C 50
D 80
E 10
F 90
G 85
H 55
I 40
J 100
И когда мы перетащим нашу вновь созданную метрику, она покажет первые 5 результатов с другой строкой (другие будут суммой остальных строк)
j-100
f-90
g-85
d-80
h-55
other-165
Есть ли способ реализовать эту функциональность?
Изменить 1
Создан один динамический набор с первыми 10
Создан вычисляемый показатель для других
Создан другой динамический набор для отображения как результатов, т. е. первых 10, так и других.
Но когда мы выбираем динамический набор для отображения первых 10 + других, выдает ошибку:
Обнаружен набор, который не может содержать вычисляемые элементы