2016-02-28 4 views
0

У меня есть запрос MDX, который возвращает результат следующим образом:Результат запроса фильтра mdx

Клиент | Магазин | Сбыт

A | Store_1 | 123.45

A | Store_2 | 234.56

B | Store_2 | 345.67

B | Store_3 | 456.78

C | Store_1 | 543.21

C | Store_3 | 654,32

Как запрос должен выглядеть, чтобы иметь результат, которые показывают только одну строку для каждого клиента только с первого магазина:

A | Store_1 | 123.45

B | Store_2 | 345.67

C | Store_1 | 543,21

Обновление: Фактический запрос

SELECT 

    [Measures].[Sales] ON COLUMNS, 

    NON EMPTY(
    [Customers].[User].[User], [Stores].[Store].[Store] 
) ON ROWS 

FROM SALES 
+0

пожалуйста, добавьте свой MDX скрипт на вопрос – whytheq

ответ

0

Если я запускаю это:

SELECT 
    [Measures].[Internet Sales Amount] ON 0 
, 
    [Product].[Category].[Category] 
    * 
    [Customer].[Customer Geography].[Country] ON 1 
FROM [Adventure Works]; 

я получаю следующее:

enter image description here

Если я просто хочу first для каждой категории мне нужно что-то делать ING как это:

WITH 
    SET [cats] AS 
    [Product].[Category].[Category] 
    SET [cats_country] AS 
    Generate 
    (
     [cats] AS S 
    , 
     S.Current 
     * 
     Head(NonEmpty([Customer].[Customer Geography].[Country],S.Current)) 
    ) 
SELECT 
    [Measures].[Internet Sales Amount] ON 0 
,[cats_country] ON 1 
FROM [Adventure Works]; 

Результаты в этом:

enter image description here

+0

Спасибо. Он работает для этой цели. Производительность не очень хорошая, но попытается найти что-то для улучшения. Есть идеи? – greyzet

Смежные вопросы