Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 как перенести меру в MDX скрипт не потеряв производительности  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 967
Добрый день.

Пытаюсь посчитать цену

RevenuePerRequest = VideoRevenue / VideoRequests

где VideoRevenue и VideoRequests это отфильтрованные суммы.

работает достаточно быстро, но мне нужно это в виде меры куба и если такое перенести вместо TT1 инлайнить NONEMPTY({[Dim Arena].[Arena Key].[Arena Key] * [Dim Calendar].[Date].[Date]}, [Measures].[New Valid Video Revenue]), то конечно тормозить. есть ли способ это перенести в MDX скрипт или может по-другому переписать? а то появляются мысли считать цену на уровне ETL, а в кубе иметь межа группу с готовой мерой цена.

WITH

MEMBER [Measures].[Video Ratio] AS 
	[Measures].[Video Impressions] / [Measures].[Video Ads]

MEMBER [Measures].[Valid Video Revenue] AS
	IIF([Measures].[Video Ratio] >= 1.0 AND [Measures].[Video Ratio] <= 1.2, [Measures].[Video Revenue], NULL)

MEMBER [Measures].[Valid Video Requests] AS
	IIF([Measures].[Video Ratio] >= 1.0 AND [Measures].[Video Ratio] <= 1.2, [Measures].[Video Ads], NULL)

SET TT1 AS NONEMPTY({[Dim Arena].[Arena Key].[Arena Key] * [Dim Calendar].[Date].[Date]}, [Measures].[Valid Video Revenue])

MEMBER [Measures].[__Valid Video Revenue] AS SUM(TT1, [Measures].[Valid Video Revenue])
MEMBER [Measures].[__Valid Video Requests] AS SUM(TT1, [Measures].Valid Video Requests])

MEMBER [Measures].[Revenue Per Video Request] AS [Measures].[__Valid Video Revenue] / [Measures].[__Valid Video Requests]

SELECT
	{
		[Measures].[New Revenue Per Video Request]
	} ON COLUMNS
FROM
	[My Cube]
6 апр 18, 14:05    [21318861]     Ответить | Цитировать Сообщить модератору
 Re: как перенести меру в MDX скрипт не потеряв производительности  [new]
bideveloper
Member

Откуда:
Сообщений: 343
Непонятно, в чем проблема? Если в таком виде работает быстро, то так в куб и переносите.
6 апр 18, 14:33    [21318986]     Ответить | Цитировать Сообщить модератору
 Re: как перенести меру в MDX скрипт не потеряв производительности  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 967
в моем случае решилось так (забыл, мне же надо последние 30 дней только). видимо это уменьшило область на которой производятся вычисления и сейчас, деже если это инлайнить - работает быстро.

{[Dim Arena].[Arena Key].[Arena Key] * [Dim Calendar].[Date].[Date]}

[Dim Arena].[Arena Key].[Arena Key] * [Last 30 days]

а интересно, что делать, если надо за все время
6 апр 18, 14:35    [21318996]     Ответить | Цитировать Сообщить модератору
 Re: как перенести меру в MDX скрипт не потеряв производительности  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 967
bideveloper,

я чето подумал - это нельзя перенести в таком виде

SET TT1 AS NONEMPTY({[Dim Arena].[Arena Key].[Arena Key] * [Dim Calendar].[Date].[Date]}, [Measures].[Valid Video Revenue])
6 апр 18, 14:40    [21319014]     Ответить | Цитировать Сообщить модератору
 Re: как перенести меру в MDX скрипт не потеряв производительности  [new]
bideveloper
Member

Откуда:
Сообщений: 343
churupaha,
Все равно не понял ) Почему нельзя? Ошибку выдает или что?
6 апр 18, 21:31    [21319986]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить