Как объединить меры с разной размерностью в один оператор выбора с помощью многомерных выражений и служб Analysis Services (SSAS)?

Я хотел бы добавить меру, имеющую другую размерность, к одному и тому же оператору SELECT mdx. Как правило, большинство моих показателей связаны с [Дата создания клиента].[Иерархия дат].[Название месяца]. Однако у анонимных клиентов нет ссылки на дату создания клиента; поэтому я должен связать анонимный запрос с датой создания запроса. Как объединить две меры в один запрос на выборку.

> WITH  MEMBER [Measures].[Allow Contact] as
            ([Measures].[# CRM Customers],[Customer].[Customer Allow Contact].&[Yes],[Customer].[Customer Status].&[Active] )

        MEMBER [Measures].[Total Identified Customers] AS
            ([Measures].[# CRM Customers],[Customer].[Customer Status].&[Active] )

        MEMBER [Measures].[Anonymous Customers] AS
            ([Measures].[# Unique Distinct Customers on Contact],[Enquiry].[Anonymous].&[Yes]) 



SELECT NON EMPTY {  Measures].[Allow Contact], 
                    [Measures].[Total Identified Customers]
                    //,[Measures].[Anonymous Customers]

                 } ON COLUMNS
       ,NON EMPTY ([Customer Creation Date].[Date Hierarchy].[Month Name]
       //,[Enquiry Creation Date].[Date Hierarchy].[Month Name] //How to add different dimensionality  

       ) ON ROWS
FROM [Cube]

person BI Dude    schedule 08.07.2014    source источник
comment
Создали ли вы измерение [Дата создания запроса], которое должно иметь регулярную связь с вашим календарным измерением в структуре куба?   -  person Mez    schedule 08.07.2014
comment
Да, я создал регулярную связь между измерением календаря и таблицей фактов. Проблема в том, что я хочу использовать другое измерение календаря для анонимных клиентов.   -  person BI Dude    schedule 08.07.2014
comment
Вы можете создать 2 другие меры, имеющие количество новых клиентов на основе даты создания, а также количество запросов. Взгляните на эту ссылку, которая описывает сценарии, в которых у вас есть 2 измерения даты — dwbi1.wordpress.com/2009/12/16/   -  person Mez    schedule 08.07.2014


Ответы (1)


Если оба измерения времени имеют одинаковую структуру (что, очевидно, должно иметь место, если они реализованы как ролевые измерения в одном и том же объекте измерения), вы можете использовать LinkMember function в определении [Measures].[Anonymous Customers], чтобы использовать [Customer Creation Date].[Date Hierarchy] в строках, но использовать эти даты в качестве [Enquiry Creation Date].[Date Hierarchy] при расчете меры:

WITH  MEMBER [Measures].[Allow Contact] as
            ([Measures].[# CRM Customers],[Customer].[Customer Allow Contact].&[Yes],[Customer].[Customer Status].&[Active] )

        MEMBER [Measures].[Total Identified Customers] AS
            ([Measures].[# CRM Customers],[Customer].[Customer Status].&[Active] )

        MEMBER [Measures].[Anonymous Customers] AS
            ([Measures].[# Unique Distinct Customers on Contact],[Enquiry].[Anonymous].&[Yes], 
             LinkMember([Customer Creation Date].[Date Hierarchy].CurrentMember, [Enquiry Creation Date].[Date Hierarchy]) 

SELECT NON EMPTY {  Measures].[Allow Contact], 
                    [Measures].[Total Identified Customers]
                   ,[Measures].[Anonymous Customers]
                 } ON COLUMNS
       ,NON EMPTY ([Customer Creation Date].[Date Hierarchy].[Month Name]
       ) ON ROWS
FROM [Cube]
person FrankPl    schedule 08.07.2014
comment
Большое спасибо, Фрэнк. Решение почти работает. Размеры имеют одинаковую структуру; однако расчет верен только для первого месяца. У вас есть идеи, почему? - person BI Dude; 09.07.2014
comment
В зависимости от того, как вы смоделировали куб, может помочь добавление элемента all иерархии [Customer Creation Date].[Date Hierarchy] в кортеж для меры [Anonymous Customers], т.е. е. используйте что-то вроде ([Measures].[# Unique Distinct Customers on Contact],[Enquiry].[Anonymous].&[Yes], LinkMember([Customer Creation Date].[Date Hierarchy].CurrentMember, [Enquiry Creation Date].[Date Hierarchy], [Customer Creation Date].[Date Hierarchy].[All]) - person FrankPl; 09.07.2014