Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Вобщем впервые поставлена была передо мной задача - вывести данные по продажам за каждый день. До этого я работал с Ms Sql 2000, всё более менее понимал, синтаксис, да и утилиты удобные - профайлер, аналайзер, да менеджер. Пришел к выводу, что если выводить данные по продажам товара номер ХХХ за три месяца - это 90 колонок (или полей для субд). Довольно много, получается убого. Решил, что как раз для такого и создан ОЛАП. Полез смотреть... Мда... Вобщем аналога профайле вообще не нашел, MDX-Sample слабо тянет на аналог аналайзера, да и AM на EM похож как сто третья ксерокопия червонца. Но это ладно. Дело в следующем. У меня етсь несколько таблиц, одна для фактов, 2 для измерений. таблица фактов имеет следующие поля: Код: plaintext 1. 2. 3. 4. 5. 6. 1. Дата (мне надо год, неделя года, день недели(словами типа пн., вт.)) 2. Номенклатурный номер карточки (группа-номер-партия) по третьему измерению у меня непонятка- мне просто надо отсортировать по убыванию продажи за день. Теперь мои вопросы: как правильно задать измерения для куба? Т.е. в мастере я задал, но вот ведь проблема: в группе несколько номеров. Предположим есть группа "Анальгин", в ней "Анальгин 0,1", "Анальгин 0,2". Если я хочу посмотреть данные по карточке "Анальгин 0,1" за неделю, то у меня 7 колонок, в них продажи. Первая, вторая, третья и т.д. - А когда по группе? Он же просуммирует первые продажи, вторые продажи? А мне надо несуммировать, а показать, просто их будет больше. Как реализовать это половинчатое измерения типа "порядковый номер"? А еще мне надо видеть не только данные по каждой продаже, но и сумму за день и сумму за неделю. Вверху таблицы, как на рисунке. Как вытянуть такое? Я очень слаб в МДХ, я построил по всем данным новую таблицу (это доп. расход времени) Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. RANK - это порядковый номер, я его ввел, чтобы иметь какое-то подобие третьего измерения. Буду очень рад советам, т.к. пока слабо понимаю как все это делается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 18:01 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Отображать данные можно только в Delphi? Сводные таблицы Excel не подходят? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 18:24 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Нет, не подходят, я Эксельный Pivot проверял, он мне не подходит. Он рисует сумму сбоку, а мне надо сверху. Кроме того, он раскрывает только одну ветку дерева измерения. а мне надо все - как на рисунке. Но главное вы мне подскажите - порядковый номер как измерение - как сделать? Я понимаю, что сортировкой, но если 10 одинаковых значений - как он их расставит? Мне надо по щелчку на ячейке получить дополнительные поля фактов, как то: agentcode, partia А Эксель вынесет все три факта в таблицу. Вобщем главная моя проблема на данном этапе - порядковый номер данные по суммам за день и неделю отображение недели года и дня недели ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2006, 09:33 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
совсем глухо, да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 10:26 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Народ, подскажите хоть ресурс по МДХ, с примерами. БОЛ не помошник в этом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 14:17 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
GrigoriyНарод, подскажите хоть ресурс по МДХ, с примерами. БОЛ не помошник в этом this ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 14:52 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
(Похоже, что в сторону MDX еще рано смотреть) Ищите книгу А.Федоров Н.Елманова "Введение в OLAP-технологии Microsoft" На olap.ru было несколько глав из этой книги (и немного примеров на Delphi). Пока в сути не разберетесь в MDX лезть бесполезно! А через язык запросов изучать технологию - с OLAPом такое не пройдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 15:25 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Мда... за книгу спасибо. Но мне надо щас и срочно :) Я решил сделать три запроса и заполнить сначала шапку, потом подшапку, а потом и таблицу. Но вот как бы увидеть красиво названия колонок? Вот мой запрос Код: plaintext 1. 2. Код: plaintext Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 16:55 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
GrigoriyЧитаю я вас с 31-го января, но ничего не понимаю.... может по-русски заговорите? Правильно сформулированный фопрос - половина ответа! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 23:35 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
2 Dmitry Biryukov "По-русски" он не сможет... Гворят "Не зная броду не лезь в воду" - однако здесь случай тяжелее, тут проблема незнания что такое вода! 2 Grigoriy у-у-у!!!! какое измерение создал, таких членов оно тебе и выдает... типа на пальцах объяснить? ну пожалуйста: С какого перепугу в экселе если набрать Январь 2006 и нажать ввод, ячейка примет вид янв.2006, а содержать будет 01.01.2006? Что нужно делать - менять формат. Так и у тебя - прошелся мастером создания измерения типа "дата" - мастер, как его учили, так и отработал. А уж красиво тебе или некрасиво - мастеру, извините, плевать... Короче - либо создавай измерения самостоятельно, либо меняй формат в Member Name Column. Ну и резюме - читай матчасть (ссылку давал). А вообще, совет мой тебе на будущее (от чистого сердца), если перед тобой стоит задача, причем выполнить ее надо в короткие сроки, выполняй ее с помощью тех средств с которыми умеешь и знаешь как работать. И совет из форума по Дельфи тебе дали действительно хорошой - смотри лучше в сторону HierCube.... Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 08:53 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
На многих форумах я зарегистрирован и не сказать, что такой уж чайник, могу и совет дать и умное спросить. И на каждом форуме есть предвзятое отношение к новичкам, спрашивающим "почему у меня Access Violation на P^:=@Z выдает?"... Но везде по разному, где-то это легкое прикалывание, где-то просто нереальные снобы, от которых воротит. Я от этого уже отвык, хотя чайникам, за исключением крайних случаев типа "почему кнопки и хелп не на русском" и "а как программировать игрушку" всегда отвечаю. Вы мне вернули это незабываемое ощущение молодости, высокомерно-снисходительными ответами. кулхацкер1"Читаю я вас с 31-го января, но ничего не понимаю.... может по-русски заговорите? Правильно сформулированный фопрос - половина ответа!" кулхацкер2 " здесь случай тяжелее, тут проблема незнания что такое вода!" Спасибо. а теперь попытаюсь сформулировать "фопрос" , чтобы облегчить отвечающему задачу. Я и правда многого не понимаю, я например не понимаю как использовать функции в запросе. Потом, в примере где-то, я увидел, что оказывается сначала Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. Я ведь не спрашиваю ПОЧЕМУ не так как я хочу. Я спрашиваю КАК HierCube это круто, но ИМХО я решу свои проблемы, если правильно составлю MDX-запрос. Я решил сделать 3 запроса - сумма за неделю, сумма за день и каждая операция за день и просто разместить их в таблице. Т.к. дни идут неподряд, были дни когда торговли не было и соответственно число дней не равно числу недель*7, то хочется в запросе по дням узнать неделю этого дня. Т.е. день №27, а какая неделя? вариант [Day].Parent выдает ошибку, явно что-то не то делаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 10:03 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
GrigoriyПредположим есть группа "Анальгин", в ней "Анальгин 0,1", "Анальгин 0,2". Если я хочу посмотреть данные по карточке "Анальгин 0,1" за неделю, то у меня 7 колонок, в них продажи. Первая, вторая, третья и т.д. - А когда по группе? Он же просуммирует первые продажи, вторые продажи? А мне надо несуммировать, а показать, просто их будет больше. А как тут может быть что то отличное от суммы? GrigoriyТ.к. дни идут неподряд, были дни когда торговли не было и соответственно число дней не равно числу недель*7, то хочется в запросе по дням узнать неделю этого дня. Т.е. день №27, а какая неделя? вариант [Day].Parent выдает ошибку, явно что-то не то делаю... Вы строите измерение времени на таблице фактов (quick and durty) или на отдельной таблице (rules)? Совет, определитесь сначала с дизайном куба и измерений. После этого запросы будут не просто простыми, а очень простыми. И зачем вам второй куб, я так и не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 10:28 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
O-o-o!!! (закатывая глаза кверху) Ну неужели действительно непонятно, что твой "фопрос", которого на самом деле-то и нет, хотя ты и попытался его сформулировать, сродни: Grigoriy "почему кнопки и хелп не на русском" и "а как программировать игрушку" А уж чего стоит: Grigoriy Я так и не понял как работает сортировка, для чего иногда ставятся, а иногда нет фигурные скобки, но работает. И как в этом случае давать советы и оказывать помощь. А причина в том, что ты: GrigoriyПолез смотреть... а не изучать, т.к. времени у тебя на изучение нет. Еще доходчивый пример из твоей серии? Диалог у врача: -Доктор, у меня болит! -Где болит? -Ну Вы же доктор, вот Вы и скажите где у меня болит и как лечить! Так же и у нас с тобой получается... На каждый твой вопрос надо сначала задать с десяток уточняющих вопросов. Давай, по твоему 1 посту пройдемся... Grigoriyкак правильно задать измерения для куба?... Ты его уже задал, для куба-то!... Читаем дальше..., а..., да не для куба вероятно, а в запросе... Ну тут все просто. Да, действительно, если взять группу, то все продажи просуммируются по группе, а тебе надо, чтоб по элементам группы или как? если по элементам группы, то: Код: plaintext Дальше: GrigoriyКак реализовать это половинчатое измерения типа "порядковый номер"? Никак, оно тебе не нужно - просто отсортируй элементы, которые мы вытянули Код: plaintext 1. 2. 3. все-равно ты результаты в Delphi на StringGrid бросать будешь, так что с MDX типа "все в одном" лучше не мучайся. Вот тока такие ответы, наверное, мало кого устроят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 14:46 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
backfire Вы строите измерение времени на таблице фактов (quick and durty) или на отдельной таблице (rules)? И зачем вам второй куб, я так и не понял. Ранmit хотел на таблице фактов, но теперь пришел к выводу, что надо создать искуственно календарь и на его основе замутить измерение. Возможно это поможет тем, что мне не придется мучатся с красивым отображением недель года, это я наверное могу в SQL-сервере задать и потом просто как строку использовать вместо времени. Второй куб - это я бредил, думал, что придется строить второй куб, уже по неделям, не понимал что это и есть задача куба- выдавать данные по члену иерархии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 16:00 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
backfire GrigoriyПредположим есть группа "Анальгин", в ней "Анальгин 0,1", "Анальгин 0,2". Если я хочу посмотреть данные по карточке "Анальгин 0,1" за неделю, то у меня 7 колонок, в них продажи. Первая, вторая, третья и т.д. - А когда по группе? Он же просуммирует первые продажи, вторые продажи? А мне надо несуммировать, а показать, просто их будет больше. А как тут может быть что то отличное от суммы? В том то и дело. Мне надо продажи(факт) за день (колонки) по препарату (страницы). Но строки я не выбираю. Т.к. мне нужны просто отсортированные по факту. Как сделать такой запрос я не знаю. Т.е. предполагаю, что если явно не задам в ON ROWS что-то, то вылезет сумма за день. А вот чтобы не вылезла? Я пока делаю так - пришиваю к таблице фактов еще поле rank - искуственное. порядковый номер по препарату за день. И на его основе строю продажи. Но может ОЛАП может как-то иначе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 16:09 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
ShIgorO-o-o!!! (закатывая глаза кверху) Ну неужели действительно непонятно, что твой "фопрос", которого на самом деле-то и нет, хотя ты и попытался его сформулировать, сродни: Grigoriy "почему кнопки и хелп не на русском" и "а как программировать игрушку" А уж чего стоит: Grigoriy Я так и не понял как работает сортировка, для чего иногда ставятся, а иногда нет фигурные скобки, но работает. И как в этом случае давать советы и оказывать помощь. Я ж не отказываюсь. Ну извините, что не написал в теме письма магические фразы чайника "не бейте сильно", "не пинайте ногами" и всё такое :)) ShIgor Давай, по твоему 1 посту пройдемся... Grigoriyкак правильно задать измерения для куба?... Ты его уже задал, для куба-то!... Читаем дальше..., а..., да не для куба вероятно, а в запросе... Ну тут все просто. Да, действительно, если взять группу, то все продажи просуммируются по группе, а тебе надо, чтоб по элементам группы или как? Я задал, но мне кажется это сделано неправильно - Ведь какая у меня иерархия? С датами всё просто - Год-Неделя-День недели (желательно русскими буковками, если нельзя - циферками.) Но эту иерархию я могу реализовать даже в Sql Server создав искуственную таблицу-календарь, с полями (Дата, Неделя года, день недели-число, день недели-слово) и привязав по дате, использовать остальные поля как члены строковой иерархии. ShIgor если по элементам группы, то: Код: plaintext Теперь по группе-номеру. Каждый препарат имеет свой номенклатурный номер, он уникален. Все продажи, все расчеты ведутся с номенклатурным номером (NNUM). Например есть следующая группа "Метилурацил 0.5г №10,таб "(GNUM=" 130699"), там есть следующие элементы (NNUM, NAME, PRODUCER) Код: plaintext 1. 2. Потому и иерархия - завтра опять захотят анализировать по номеру. Я конечно могу создать 2 rank-измерения, один для группы, сквозной, другой для каждого номера, но это, интуитивно чувствую, неверный путь, наверняка есть вариант просто вывести члены измерения за день. ShIgorДальше: GrigoriyКак реализовать это половинчатое измерения типа "порядковый номер"? Никак, оно тебе не нужно - просто отсортируй элементы, которые мы вытянули Код: plaintext 1. 2. 3. Возможно это то, что мне надо. Хотя я сделал Код: plaintext 1. 2. 3. 4. 5. ShIgor GrigoriyА еще мне надо видеть не только данные по каждой продаже, но и сумму за день и сумму за неделю. здесь предлагаю реализовать просто 3 запроса к базе, все-равно ты результаты в Delphi на StringGrid бросать будешь, так что с MDX типа "все в одном" лучше не мучайся. Именно так и сделаю - три запроса, по кусочкам закину в Грид и буду доволен. Всё равно HierCube как-то долго осваивать, StringGrid ближе и тупее ShIgorВот тока такие ответы, наверное, мало кого устроят. Как раз таки такие и нужны, а книгу я на озоне закажу :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 17:24 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Объясните мне, как работает сортировка? Вот есть у меня измерение rank, целочисленное, 1,2,3...15, я его использую для строк в запросе: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 1 10 11 12 13 14 15 2 3 4 Хотя это не строки, а числа! Если же указывать в запросе ORDER, то при DESC сортирует 1,2,3, а при ASC наоборот. То же самое с датами - сортировка всё портит, если ее отключить - то всё рисует как положено. Где и что я неправильно пишу? Если конечно это можно объяснить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 14:14 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
тип данных ключа или имени (по чём вы сортируете?) выставите правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 15:39 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Не понял :( Я плёхо понимайт по ОЛАПски :)) Order ("Что сортируем", "По какому измерению или мере сортируем", "В какую сторону сортируем") Верно? Так почему он сам по себе сортирует вразброс? Или вы имели ввиду другой ключ, в таблице измерений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 16:30 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
не совсем Order ("Что сортируем", "По какой мере сортируем", "В какую сторону сортируем") есть два пути 1. настроить сортировку в измерении, тогда order в запросе не нужен 2. вместо "" написать Val(Rank.CurrentMember.Properties("Key")) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 17:45 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Странно, почему тогда если я указываю вторым членом измерение, он не ругается, а еще он не меняет порядок при смене DESC на ASC. Ок, тогда по практике - У меня щас в кубе 7 измерений (группа, порядковый номер и 5 штук по дате)- всё потому что я не могу правильно задать измерение по дате. Мне надо и неделю года и день недели - я создал измерение, в которое запихнул 2 поля из табличного календаря - номер недели года и день недели (пн,вт,ср и т.д.) Так вот, хочу получить выборку, где в колонках будет пн, вт, ср, чт, пт, сб, вс, пн, вт, ср, чт, пт, сб, вс и т.д. Т.е чтобы все шло по порядку, несмотря на то, что не видно номера недели, чтобы он тоже учавствовал. А если делать ORDER ([StrDate].[WeekDay].AllMembers, [StrDate], Desc), то вообще никакого смысла и порядка я не вижу. Неужели мне надо заносить в меры значение дня, чтобы иметь возможность сортировать? Неужели порядок колонок нельзя задавать значениями самих колонок? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 10:33 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Назначение функции ORDER - упорядочить элементы в наборе (SET), в зависимости от значения какой-либо ячейки. Т.О. указав [StrDate], в качестве второго аргумента в функции - сортировка происходит по ячейке ([StrDate].DefaultMember, Measures.DefaultMember), смею предположить (исходя из Вашего дизайна куба и Ваших познаний), что [StrDate].DefaultMember = [StrDate].[All StrDate]. Получается, что вы сортируете элементы по одному и тому же значению. Поэтому же нет и разницы между ASC и DESC. Для вашей сортировки достаточно упорядочить элементы самого измерения на этапе проектирования. У каждого измерения есть Member Key Column и Member Name Column - по-умолчанию соритровка установлена на Name (см. Properties, Advanced, Order By в Dimension Editor, предварительно выбрав уровень.). Смените просто его на Key, если он в том порядке в котором он Вам нужен. Либо создайте новый элемент в Member Properties и укажите его в Order By. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 12:44 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
ShIgorПравильно, только не DefaultMember, а CurrentMember DefaultMember будет использоваться тогда, когда это измерение никоим образом в запросе не учавствует, то тогда и CurrentMember = DefaultMember ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 14:44 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Да, правильно, там действительно CurrentMember. Тогда в этом случае должна быть разница между ASC и DESC. Другое дело, что сортировка будет произведена в рамках иерархии (для каждой недели своя сортировка), а не сквозная (для сквозной BASC и BDESC). Но это все-равно не то, что надо Grigoriy, его случай со свойством "Order By". Правда есть еще один вариант, вернуться к функции ORDER, но вот так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2006, 10:05 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
упс! че-то я не проснулся, ему же не по имени сортировать-то надо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2006, 10:10 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Ага, кажется начинаю прозревать. Создал у моего строкового измерения свойство и запихал во все иерархии поле [Full Date], которые есть DateTime В надежде, что сортировка по нему позволит показывать не все понедельники вначале, а в зависимости от дня. В случае с порядковым номером - помогло, я увидел не 1,10,100, а 1,2,3,4 Помогло. А с датой нет. Код: plaintext 1. 2. 3. 4. 5. Т.е. я так понимаю, что когда я задал ключом дату - он стал сортировать по дате, но в обратную не делает. Когда вместо CurrentMember.Name пишу CurrentMember.Key - ругается. И еще - каким MDX запросом можно запустить пересчет куба? Мне надо каждый день, раз в 4 часа пересчитывать куб - измерение дат может меняться, данные по продаже дополняться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 18:21 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Grigoriy И еще - каким MDX запросом можно запустить пересчет куба? Мне надо каждый день, раз в 4 часа пересчитывать куб - измерение дат может меняться, данные по продаже дополняться. 1. DTS Task: Analisys Services Processing Task. 2. В MS SQL 2000 Resource Kit - PARALLELPROCESS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 18:28 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
:( То есть нет какого-нибудь "Alter Cube", "Update Cube"? А это 2 равноценных варианта или это 2 этапа одного решения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2006, 12:28 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Реализовал в ДТС, спасибо за наводку. Вопросы: 1.Когда считается куб, с ним можно работать? Какой уровень изоляции тут? 2.Можно ли выводить средневзвешенные показатели? Поясню: есть в таблице фактов не только кол-во продажи, но цена закупочная и продажная. Т.к. товар из разных партий, то цена от продажи к продаже может отличаться. Значит за день могли быть к примеру 2 продажи: 100 шт по рублю и 5 шт по 2 рубля. Значит средняя цена продажи за день равна (100*1+5*2)/105 Вот как мне это запросом вызвать? И еще - есть параметры, которые интересуют только за день, например текущий дневной остаток товара и эти самые цены. Как лучше поступить - хранить всё в одним кубе и запросом выбирать только первую позицию или построить отдельный маленький куб? Если можно, с примером запроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 13:38 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Grigoriy Т.к. товар из разных партий, то цена от продажи к продаже может отличаться. Значит за день могли быть к примеру 2 продажи: 100 шт по рублю и 5 шт по 2 рубля. Значит средняя цена продажи за день равна (100*1+5*2)/105 Вот как мне это запросом вызвать? Предположим есть у тебя меры ПродажиВШт. Создай еще одну физическую меру ПродажиВРуб, как произведение Количества на Цену. Заитем создай вычисляемую меру (Calculated Measure или CM), где укажи формулу: ПродажиВРуб/ПродажиВШт и обзови ее СрВзвПродажи. Теперь в свой запрос ее и вставляй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 13:55 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
У меня есть физицеские мера Кол-Во и Цена (KOL, PRICE) Создал вычисляемую меру SUMSUM=KOL*PRICE Как мне теперь получить среднее значение за день? мне надо sum(sumsum)/sum(kol) и тогда я увижу средневзвешенную цену за день. Как это МДХ запросом сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2006, 17:16 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
SUMSUM надо сделать физической мерой. или пишите формулу типа SUM(descendants(...)...) - но это медленно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2006, 17:22 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Понял, это будет уже пятая мера, но придется, в Sql Server создам. А как дальше? Мне надо потом тогда SUMSUM/SUM(KOL) сделать... Или это тоже придется в сиквеле реализовать (там я по крайне мере синтаксис знаю) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2006, 21:07 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
GrigoriyПонял, это будет уже пятая мера, но придется, в Sql Server создам. А как дальше? Мне надо потом тогда SUMSUM/SUM(KOL) сделать... Или это тоже придется в сиквеле реализовать (там я по крайне мере синтаксис знаю)5 - это не много SUMSUM/SUM(KOL) лучше сделать как СМ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2006, 23:10 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
как я понял СМ считается на клиенте, а этого не хочется делать. Видимо всё таки придется считать это в сиквеле и запихивать как отдельную меру. Просто глупо как-то - в день было 10 продаж и значит я 10 раз буду в таблице держать средневзвешенную цену :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2006, 11:31 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Grigoriyкак я понял СМ считается на клиенте, а этого не хочется делать.Вы не совсем правильно поняли. В вашем случае формула будет считаться на сервере. Хотя при определённых обстоятельствах расчёт может быть вынесен на клиент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2006, 15:24 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
А можно пример запроса, который будет это делать? Т.е. как мне реализовать в ОЛАП то, что щас я делаю в Сиквеле так: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2006, 16:31 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
из подзапроса идут уникальные date и gnum, пожтому непонятно зачем нужна вторая группировка. А раз так, решается задача сдедующим образом: 1. таблица фактов fact_cube 2. измерения date и gnum 3. физ меры kol и price*kol с агрегацией сумма 4. СМ - sumPK/sumkol 5. если в измерениях несколько уровней - добавить custom rollup или ещё СМ типа AVG(Descendants(...),sumPK/sumkol) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2006, 20:39 |
|
||
|
MS AS, OLAP, Delphi и другие- вытянуть день недели, неделю года и сумму по ним
|
|||
|---|---|---|---|
|
#18+
Нельзя без повторной группировки - будет Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2006, 13:09 |
|
||
|
|

start [/forum/topic.php?all=1&fid=49&tid=1870482]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
82ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 387ms |

| 0 / 0 |
