powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Все в одном - CM, DistinctCount, ParallelPeriod, StrToMember
3 сообщений из 3, страница 1 из 1
Все в одном - CM, DistinctCount, ParallelPeriod, StrToMember
    #39694822
SilverVolg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый ден.
В одном запросе нужно посчитать по измерению DistinctCount отталкиваясь от текущего дня:
1. Последняя целая неделя (иерархия дат [Дата доставки].[Год - Неделя - День])
2. Предыдущая неделя за целой (иерархия дат [Дата доставки].[Год - Неделя - День])
3. Текущий месяц (иерархия дат [Дата доставки].[Год - Месяц - День])
4. Предыдущий месяц за такой же период дней, как и в текущем месяце (иерархия дат [Дата доставки].[Год - Месяц - День], ParallelPeriod)

с пунктами 1-3 вроде бы понятно, а вот как в этот же запрос засунуть еще и пункт 4 не могу понять.
Прошу помощи )
...
Рейтинг: 0 / 0
Все в одном - CM, DistinctCount, ParallelPeriod, StrToMember
    #39694874
bideveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SilverVolg,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
([Dim Calendar Tool].[Calendar Tool Name].[Prior Month]) 
    = 
 PARALLELPERIOD([Dim Calendar].[Calendar YQMD].Month, 1, [Dim Calendar].[Calendar YQMD].CURRENTMEMBER)
        ,[Dim Calendar Tool].[Calendar Tool Name].DEFAULTMEMBER);


([Dim Calendar Tool].[Calendar Tool Name].[Prior MTD]) 
    =
    AGGREGATE
    (
        PERIODSTODATE
        (
            [Dim Calendar].[Calendar YQMD].[Month],
            [Dim Calendar].[Calendar YQMD].CURRENTMEMBER
        ),
        [Dim Calendar Tool].[Calendar Tool Name].[Prior Month]
    );
...
Рейтинг: 0 / 0
Все в одном - CM, DistinctCount, ParallelPeriod, StrToMember
    #39694926
SilverVolg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bideveloper,

Спасибо, но немного нет

Получилось как то так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
WITH
MEMBER [cw] AS AGGREGATE( WTD([Дата доставки].[Год - Неделя - День].CurrentMember), [Measures].[Parcel ID Distinct Count] )
MEMBER [pw] AS AGGREGATE( WTD(ParallelPeriod([Дата доставки].[Год - Неделя - День].[Неделя])), [Measures].[Parcel ID Distinct Count] )
MEMBER [cm] AS AGGREGATE( MTD(LinkMember([Дата доставки].[Год - Неделя - День].CurrentMember, [Дата доставки].[Год - Месяц - День])), [Measures].[Parcel ID Distinct Count] )
MEMBER [pm] AS AGGREGATE(
	MTD(ParallelPeriod(
		[Дата доставки].[Год - Месяц - День].[Месяц]
		, 1
		, LinkMember([Дата доставки].[Год - Неделя - День].CurrentMember, [Дата доставки].[Год - Месяц - День])
	))
	, [Measures].[Parcel ID Distinct Count]
)

SELECT {
	[cw]
	, [pw]

	, [cm]
	, [pm]
} ON COLUMNS
, (
	[Дата доставки].[Год - Месяц - День].[День].&[2018-08-26T00:00:00]
) ON ROWS
FROM CourierTasks
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Все в одном - CM, DistinctCount, ParallelPeriod, StrToMember
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]