2015-05-04 3 views
-1

Мой MDX запрос вКоличество товаров было продано в MDX запроса

SELECT 
    {[Measures].[SaleAMT]} ON COLUMNS 
,NON EMPTY 
     [Account Date13h].[Date].&[2015-01-01T00:00:00] 
    : 
     [Account Date13h].[Date].&[2015-05-05T00:00:00] ON ROWS 
FROM [Sale_Period_report]; 

Я хочу вернуть графу продукта был продан, как это:

Date   SaleAmt ProductSold 
2015-04-01 20.000  150 
2015-04-02 36.212  650 
2015-04-05 10.333  65 
+1

У вас есть мера, которая обеспечивает количество проданных товаров? Должны ли мы предположить, что ProductSold является мерой? – SouravA

+0

У вас есть мера 'ProductSold' в вашем кубе? Какой размер продукта у вас есть в кубе? В настоящее время мы не можем помочь, поскольку вам необходимо предоставить полную информацию в этом вопросе. – whytheq

ответ

0

Против AdvWrks этого сочетание COUNT, EXISTING и перекрестное соединение, кажется, дает мне переменный результат - то, что этот результат на самом деле означает, что я немного не уверен:

WITH 
    MEMBER [Measures].[Count] AS 
    Count 
    (
     (EXISTING 
      [Product].[Product Categories].[Product] 
     * 
      [Measures].[Internet Sales Amount]) 
    ) 
SELECT 
    { 
    [Measures].[Internet Sales Amount] 
    ,[Measures].[Count] 
    } ON COLUMNS 
, 
    [Date].[Calendar].[Date].&[20070701] 
    : 
    [Date].[Calendar].[Date].&[20070731] ON ROWS 
FROM [Adventure Works]; 

Так, адаптированные к вашей кубе это может выглядеть так:

WITH 
    MEMBER [Measures].[ProductsSold] AS 
    Count 
    (
     (EXISTING 
      Products.Product.members 
     * 
      [Measures].[SaleAMT]) 
    ) 
SELECT 
    { 
    [Measures].[SaleAMT] 
    ,[Measures].[ProductsSold] 
    } ON COLUMNS 
,NON EMPTY 
    { 
     [Account Date13h].[Date].&[2015-01-01T00:00:00] 
     : 
     [Account Date13h].[Date].&[2015-05-05T00:00:00] 
    } ON ROWS 
FROM [Sale_Period_report]; 
0

Если у вас есть мера, которая дает продукты, продаваемые, использовать этот запрос:

SELECT 
    {[Measures].[SaleAMT], [Measures].[ProductsSold]} ON COLUMNS, 

    NON EMPTY {[Account Date13h].[Date].&[2015-01-01T00:00:00]: 
       [Account Date13h].[Date].&[2015-05-05T00:00:00] 
       } ON ROWS 
    FROM [Sale_Period_report] 

Если у вас нет такой меры, я предполагаю, что вы бы иерархии продуктов в вашем кубе л ike Products.Product.

В этом случае вам необходимо создать расчетный элемент, который даст вам счет.

WITH MEMBER [Measures].[ProductsSold] AS 
COUNT(
     EXISTS(Products.Product.CHILDREN, 
     {[Account Date13h].[Date].&[2015-01-01T00:00:00]:[Account Date13h].[Date].&[2015-05-05T00:00:00]}, 
     "Sales"  
    ) 

И то же самое:

SELECT 
    {[Measures].[SaleAMT], [Measures].[ProductsSold]} ON COLUMNS, 

    NON EMPTY {[Account Date13h].[Date].&[2015-01-01T00:00:00]: 
       [Account Date13h].[Date].&[2015-05-05T00:00:00] 
       } ON ROWS 
    FROM [Sale_Period_report] 

я предположил, что у вас есть мера группа под названием Sales.

Для получения более точного ответа вам нужно будет дать более подробную информацию.

Надеюсь, это поможет!

+0

Ваш запрос возвращает одинаковый результат для всех строк. Я использую этот запрос: WITH MEMBER [Measures]. [ProductsSold] AS COUNT ( EXISTS (Products.Product.CHILDREN, {[Дата записи13h]. [Дата]. & [2015-01-01T00: 00: 00] : [Учетная дата13h]. [Дата]. & [2015-05-05T00: 00: 00]}, «Продажи» ) – Steven

+0

(вверх) Мне было бы более соблазнительно использовать 'existing', а не' exists' – whytheq

0
WITH MEMBER [Measures].[ProductsSold] AS 
    COUNT(NonEmpty([AccSetting].[AccID].[AccID].ALLMEMBERS, [Measures].[SaleAMT])) 

Я использую этот запрос и возврат OLAP правильно, что я хочу

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