Я должен использовать [ZONE]. [MY_ZONE_1] ON ROWS, потому что это группа зон с разными именами, начинающаяся с «зоны, которая начинается с MY_ZONE_1», которую я отфильтровал и установите [ФИЛЬТРИРОВАННАЯ ЗОНА].
Мне нужно показать продукты, доступные на складе (мин. 1 шт.) В [ЗОНА]. [MY_ZONE_1], но нет на складе в [ЗОНА]. [MY_ZONE_2]. Поэтому размер, который я использую здесь для фильтрации результата, - [ZONE]. [MY_ZONE_1], но не может фильтровать [ZONE]. [MY_ZONE_2], потому что я не могу использовать размер [ZONE] на двух разных осях.MDX - Отфильтровать меру другим измерением одного измерения
Что-то вроде:
выберите article_code
где (stock_in_zone1> = 1) & & (stock_in_zone2 равно нулю или = 0)
WITH
SET [FILTERED ZONE] AS
{
{
Filter
(
[ZONE].[ZONE].MEMBERS
,
Instr
(
[ZONE].[ZONE].CurrentMember.Name
,"a zone that starts with MY_ZONE_1"
)
> 0
)
}
}
MEMBER [Measures].[AVAILABLE STOCK] AS
IIF
(
[Measures].[STOCK] < 1
,null
,[Measures].[STOCK]
)
SELECT
NON EMPTY
{[Measures].[AVAILABLE STOCK]} ON 0
,NON EMPTY
CrossJoin
(
[FILTERED ZONE]
,[ARTICLE CODE].[ARTICLE CODE].MEMBERS
) ON 1
FROM [MyCube];