Фильтровать элементы измерения и настраивать элемент "Все" на основе фильтра
У меня есть следующий оператор MDX, который приводит к списку клиентов на склад, которые имеют непустое значение для jobs.cubic. Это утверждение также отфильтровывает клиентов, чей member_caption начинается с 'PLU'.
Если я включу элемент "Все" в иерархию клиентов, он объединит всех клиентов, включая клиентов, отфильтрованных фильтром "PLU".
Можно ли выбрать для клиентов, как я указал в выписке, а также вернуть элемент "Все" минус значения для клиентов, отфильтрованные фильтром "PLU".
В идеале я хотел бы получить общее количество ("Все" клиенты) для каждого депо в качестве первого ряда для каждого депо.
SELECT
{[Measures].[Job Cubic]} ON 0
,NonEmpty
(
{
[Depot].[State - Depot].[214]
,[Depot].[State - Depot].[325]
,[Depot].[State - Depot].[447]
,[Depot].[State - Depot].[534]
,[Depot].[State - Depot].[611]
}
*
{
{
Filter
(
[Transport Customer].[Customer].[All Customers].Children
,
Left
(
[Transport Customer].[Customer].CurrentMember.Properties('Member_Caption')
,3
)
<> 'PLU'
)
}
}
,{[Measures].[Job Cubic]}
) ON 1
FROM [Transport KPIs]
WHERE
[Fiscal Date].[Year-Qtr-Month-Week-Date].[Month].&[Sep 16];
1 ответ
Сначала вы можете переместить отфильтрованный набор в WITH
предложение - затем создайте набор для всех клиентов, кроме вашего отфильтрованного набора, - затем вам нужно объединить этот набор в вычисляемый элемент иерархии. [Transport Customer].[Customer]
,
WITH
SET [FilteredSet] AS
Filter(
[Transport Customer].[Customer].[All Customers].Children
,Left(
[Transport Customer].[Customer].CurrentMember.Member_Caption
,3
)
<> 'PLU'
)
SET [All_except_FilteredSet] AS
EXCEPT(
[Transport Customer].[Customer].[All Customers].Children
,[FilteredSet]
)
MEMBER [Transport Customer].[Customer].[All].[All_except_FilteredSet] AS
AGGREGATE([All_except_FilteredSet])
SELECT
{[Measures].[Job Cubic]} ON 0
,NonEmpty
(
{
[Depot].[State - Depot].[214]
,[Depot].[State - Depot].[325]
,[Depot].[State - Depot].[447]
,[Depot].[State - Depot].[534]
,[Depot].[State - Depot].[611]
}
*
{
[Transport Customer].[Customer].[All].[All_except_FilteredSet],
[FilteredSet]
}
,[Measures].[Job Cubic]
) ON 1
FROM [Transport KPIs]
WHERE
[Fiscal Date].[Year-Qtr-Month-Week-Date].[Month].&[Sep 16];