powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
15 сообщений из 40, страница 2 из 2
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
    #33544572
Grigoriy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, кажется начинаю прозревать.
Создал у моего строкового измерения свойство и запихал во все иерархии поле [Full Date], которые есть DateTime
В надежде, что сортировка по нему позволит показывать не все понедельники вначале, а в зависимости от дня.
В случае с порядковым номером - помогло, я увидел не 1,10,100, а 1,2,3,4
Помогло.
А с датой нет.
Код: plaintext
1.
2.
3.
4.
5.
select
ORDER( [WeekDayName].[Week Day Name].Members, [WeekDayName].CurrentMember.Name, Asc) On Columns,
[Rank].Members On Rows
from REDBUT_CUBE
where ([Measures].[Kol], [GNUM].[All GNUM].[        130501 ])
Что DESC, что ASC - понедельник, вторник, среда, четверг и т.д.
Т.е. я так понимаю, что когда я задал ключом дату - он стал сортировать по дате, но в обратную не делает.
Когда вместо CurrentMember.Name пишу CurrentMember.Key - ругается.

И еще - каким MDX запросом можно запустить пересчет куба?
Мне надо каждый день, раз в 4 часа пересчитывать куб - измерение дат может меняться, данные по продаже дополняться.
...
Рейтинг: 0 / 0
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
    #33544590
zmike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Grigoriy

И еще - каким MDX запросом можно запустить пересчет куба?
Мне надо каждый день, раз в 4 часа пересчитывать куб - измерение дат может меняться, данные по продаже дополняться.

1. DTS Task: Analisys Services Processing Task.
2. В MS SQL 2000 Resource Kit - PARALLELPROCESS
...
Рейтинг: 0 / 0
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
    #33545897
Grigoriy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:(
То есть нет какого-нибудь "Alter Cube", "Update Cube"?
А это 2 равноценных варианта или это 2 этапа одного решения?
...
Рейтинг: 0 / 0
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
    #33551963
Grigoriy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реализовал в ДТС, спасибо за наводку.
Вопросы:
1.Когда считается куб, с ним можно работать? Какой уровень изоляции тут?
2.Можно ли выводить средневзвешенные показатели?
Поясню:
есть в таблице фактов не только кол-во продажи, но цена закупочная и продажная.
Т.к. товар из разных партий, то цена от продажи к продаже может отличаться.
Значит за день могли быть к примеру 2 продажи: 100 шт по рублю и 5 шт по 2 рубля.
Значит средняя цена продажи за день равна (100*1+5*2)/105
Вот как мне это запросом вызвать?
И еще - есть параметры, которые интересуют только за день, например текущий дневной остаток товара и эти самые цены.
Как лучше поступить - хранить всё в одним кубе и запросом выбирать только первую позицию или построить отдельный маленький куб?
Если можно, с примером запроса
...
Рейтинг: 0 / 0
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
    #33552045
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Grigoriy Т.к. товар из разных партий, то цена от продажи к продаже может отличаться.
Значит за день могли быть к примеру 2 продажи: 100 шт по рублю и 5 шт по 2 рубля.
Значит средняя цена продажи за день равна (100*1+5*2)/105
Вот как мне это запросом вызвать?
Предположим есть у тебя меры ПродажиВШт.
Создай еще одну физическую меру ПродажиВРуб, как произведение Количества на Цену.
Заитем создай вычисляемую меру (Calculated Measure или CM), где укажи формулу: ПродажиВРуб/ПродажиВШт и обзови ее СрВзвПродажи.
Теперь в свой запрос ее и вставляй.
...
Рейтинг: 0 / 0
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
    #33580967
Grigoriy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть физицеские мера Кол-Во и Цена (KOL, PRICE)
Создал вычисляемую меру SUMSUM=KOL*PRICE
Как мне теперь получить среднее значение за день?
мне надо sum(sumsum)/sum(kol) и тогда я увижу средневзвешенную цену за день.
Как это МДХ запросом сделать?
...
Рейтинг: 0 / 0
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
    #33580987
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SUMSUM надо сделать физической мерой.
или пишите формулу типа SUM(descendants(...)...) - но это медленно
...
Рейтинг: 0 / 0
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
    #33582141
Grigoriy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял, это будет уже пятая мера, но придется, в Sql Server создам.
А как дальше? Мне надо потом тогда SUMSUM/SUM(KOL) сделать...
Или это тоже придется в сиквеле реализовать (там я по крайне мере синтаксис знаю)
...
Рейтинг: 0 / 0
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
    #33582205
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyПонял, это будет уже пятая мера, но придется, в Sql Server создам.
А как дальше? Мне надо потом тогда SUMSUM/SUM(KOL) сделать...
Или это тоже придется в сиквеле реализовать (там я по крайне мере синтаксис знаю)5 - это не много
SUMSUM/SUM(KOL) лучше сделать как СМ
...
Рейтинг: 0 / 0
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
    #33583513
Grigoriy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как я понял СМ считается на клиенте, а этого не хочется делать. Видимо всё таки придется считать это в сиквеле и запихивать как отдельную меру.
Просто глупо как-то - в день было 10 продаж и значит я 10 раз буду в таблице держать средневзвешенную цену :(
...
Рейтинг: 0 / 0
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
    #33584445
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Grigoriyкак я понял СМ считается на клиенте, а этого не хочется делать.Вы не совсем правильно поняли. В вашем случае формула будет считаться на сервере.
Хотя при определённых обстоятельствах расчёт может быть вынесен на клиент.
...
Рейтинг: 0 / 0
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
    #33584716
Grigoriy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно пример запроса, который будет это делать?
Т.е. как мне реализовать в ОЛАП то, что щас я делаю в Сиквеле так:
Код: plaintext
1.
2.
3.
4.
5.
select date, gnum, AVG(sumPK/sumkol) MidPPrice 
from (
select date, gnum, SUM(kol) sumkol, SUM(price*kol) sumPK from fact_cube group by date, gnum
) A 
Group By date, gnum
...
Рейтинг: 0 / 0
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
    #33585348
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
из подзапроса идут уникальные date и gnum, пожтому непонятно зачем нужна вторая группировка.
А раз так, решается задача сдедующим образом:
1. таблица фактов fact_cube
2. измерения date и gnum
3. физ меры kol и price*kol с агрегацией сумма
4. СМ - sumPK/sumkol
5. если в измерениях несколько уровней - добавить custom rollup или ещё СМ типа AVG(Descendants(...),sumPK/sumkol)
...
Рейтинг: 0 / 0
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
    #33586662
Grigoriy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нельзя без повторной группировки - будет
Код: plaintext
1.
2.
3.
4.
Server: Msg 8118, Level 16, State 1, Line 1
Column 'A.date' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.
Server: Msg 8118, Level 16, State 1, Line 1
Column 'A.gnum' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.
...
Рейтинг: 0 / 0
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
    #33586673
Grigoriy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понял, вы правы, вторая аггрегация не нужна
...
Рейтинг: 0 / 0
15 сообщений из 40, страница 2 из 2
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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