powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Группировка по годам, а затем по дням недели
8 сообщений из 8, страница 1 из 1
Группировка по годам, а затем по дням недели
    #33016716
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь написать запрос, который бы сгруппировал данные по годам, а затем по дням недели. Т.е. должно получиться следующее:
1995
Пн
Вт
...
Вс
1996
Пн
Вт
...
Вс
И т.д.
Получается несколько иначе: выводятся все понедельники, вторники и т.д. в году:
Код: plaintext
1.
2.
SELECT  {[Прибыль]} ON COLUMNS,
CROSSJOIN([Дата документа].[Year].Members, [Недельный календарь].[Day].Members) ON ROWS
FROM [Реализация]
Как бы поправить запрос, чтобы он склеил все дни недели в году в один?
(Измерение [Недельный календарь] имеет уровни год, неделя и день недели, но перечислить его два раза в crossjoin нельзя)
...
Рейтинг: 0 / 0
Группировка по годам, а затем по дням недели
    #33017010
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
SELECT  {[Прибыль]} ON COLUMNS,
descendants(([Дата документа], [Недельный календарь].[Day], SELF_AND_BEFORE) ON ROWS
FROM [Реализация]
Оно? Правда здесь еще будут недели, но надо просто другую иерархию сделать: "Год" - "День Недели"
...
Рейтинг: 0 / 0
Группировка по годам, а затем по дням недели
    #33017645
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем: от всех промежуточных уровней как раз и хотелось избавиться. Сделал измерение "Год" - "День Недели".
...
Рейтинг: 0 / 0
Группировка по годам, а затем по дням недели
    #33026437
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а иначе никак... ибо если у одной пятницы разные родители(недели), то это совсем разные пятницы (т.е. разные члены измерения)

хотя можно было бы и плоское виртуальное измерение создать - день недели.
...
Рейтинг: 0 / 0
Группировка по годам, а затем по дням недели
    #33028497
Ruban Igor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В табличке , где хранятся даты рекомендую добавить колонки с записями типа:
1. Дни недели
Понедельник
...
Воскресенье

2. Дни недели года

2003 Понедельник
2003 Вторник
...
2003 Восресенье

Решает проблему
...
Рейтинг: 0 / 0
Группировка по годам, а затем по дням недели
    #33028580
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если так сделать?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
with
	set set1 as 'Descendants(Time, Time.Month, SELF_AND_BEFORE)'
	set set2 as ' [Time].[Quarter].Members'
	set set3 as 'except(set1, set2)'
	set set4 as 'union([Time].[Year].Members, [Time].[Month].Members)'
select
	{[Measures].Members} on columns, 
	{set4} on rows
from Sales
На примере FoodMart, измерение времени: "Year --> Quarter --> Month". Мне кажется, что set3 и set4 решают поставленную задачу.
...
Рейтинг: 0 / 0
Группировка по годам, а затем по дням недели
    #33028607
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неверная аналогия, и как следствие - неверное решение.
первый месяц в году один, а вот понедельников - 52

правильно говорилось выше - надо новое измерение (физическое или виртуальное, плоское или двухуровневое - это уже варианты)
...
Рейтинг: 0 / 0
Группировка по годам, а затем по дням недели
    #33148918
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно, надо иметь отдельное измерение.
Более того, начало календарнорго года и года в недельной иерархии могут не совпадають (ISO WEEK)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Группировка по годам, а затем по дням недели
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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