Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
Дело в том что в факт таблице на каждый день хранятся только те точки которые посещались. Даже если в факт табицу ввести поле посещалась или нет, то это все равно не решит проблему в случае если мы захотим посмотреть срез для ГОРОДА в который входят точки посещаемые регулярно и которые перестали посещаться пол года назад. Я честно говоря затрудняюсь модифицировать запрос with member [Measures].[Остатки] as 'Sum(nonemptycrossjoin(PeriodsToDate([Time].[Month].[(All)], [Time].[Month].CurrentMember)), [Measures].[Остаток]) ' SELECT crossjoin({[Time].[Month].[2005].[Октябрь]}, {[Points].[Киев]}) ON AXIS(1), crossjoin({[SKU].[Весь ассортимент]}, {[Measures].[Остатки]}) ON AXIS(0) FROM Stock так чтобы в данном случае остаток для города Киев считался только по тем точкам которые были посещены в октября месяце, даже если у меня будет измерение: Посещена, Непосещена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 16:30 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
[/quot] А не проще ли писать в базу для непосещенных точек 0 и не морочить голову MDX-извращениями, а использовать хорошо обкатанные и известные формулы, которых на форуме, как гуталина на фабрике Матроскина - "ну просто завались"[/quot] Вопрос к г-ну backfire как добавить 0 для непосещенных точек при структуре факт таблицы КодТочки Дата (День недели) КодПродукта Остаток в которой хранятся только посещенные точки на каждый день. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 14:29 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
Аналитик backfireА не проще ли писать в базу для непосещенных точек 0 и не морочить голову MDX-извращениями, а использовать хорошо обкатанные и известные формулы, которых на форуме, как гуталина на фабрике Матроскина - "ну просто завались" Вопрос к г-ну backfire как добавить 0 для непосещенных точек при структуре факт таблицы КодТочки Дата (День недели) КодПродукта Остаток в которой хранятся только посещенные точки на каждый день. В лоб это JOIN вашей существующей таблицы с декартовым произведением даты на код точки на продукт. Звучит угрожающе конечно, но оптимизировать можно. В том смысле, что если позавчера посетили точку, а сегодня нет, то сегодня ставим "0", и если завтра точка не посещалась, то вставлять "0" уже не надо. Сегодняшний будет действительным до тех пока точка не посетится и там не появится значение отличное от нуля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 17:30 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
Спасибо, попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 18:59 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
backfire В том смысле, что если позавчера посетили точку, а сегодня нет, то сегодня ставим "0", и если завтра точка не посещалась, то вставлять "0" уже не надо. Сегодняшний будет действительным до тех пока точка не посетится и там не появится значение отличное от нуля. Что-то оптимизировать не удается, Вы не могли бы привести пример запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2005, 10:42 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
Аналитик backfire В том смысле, что если позавчера посетили точку, а сегодня нет, то сегодня ставим "0", и если завтра точка не посещалась, то вставлять "0" уже не надо. Сегодняшний будет действительным до тех пока точка не посетится и там не появится значение отличное от нуля. Что-то оптимизировать не удается, Вы не могли бы привести пример запроса. Я понимаю, что тема остатков всем очень надоела, но все таки г-н backfire Вы не могли бы привести пример запроса выполняющий "В том смысле, что если позавчера посетили точку, а сегодня нет, то сегодня ставим "0", и если завтра точка не посещалась, то вставлять "0" уже не надо. Сегодняшний будет действительным до тех пока точка не посетится и там не появится значение отличное от нуля" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2005, 17:42 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
АналитикЯ понимаю, что тема остатков всем очень надоела, но все таки г-н backfire Вы не могли бы привести пример ... не спеши, я тебе все нарисую, но только после возврата на базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2005, 02:16 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
А вам не кажется, что остаток в точке равен нулю это далеко не одно и то же что точка не посещалась и остаток неизвестен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2005, 12:03 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
Dmitry BiryukovА вам не кажется, что остаток в точке равен нулю это далеко не одно и то же что точка не посещалась и остаток неизвестен? Дмитрий, я прелагаю всего навсего подход в решении поставленной Аналитиком проблемы. То что ему так нравится строить отчеты - его дело. Я это не оспариваю. Вот тут еще одна идея созрела. Мне кажется, что если таблицу фактов для куба остатков рассматривать как чистый snapshort (по Кимбалу) То не надо мутить с формулами и движениями, а брать просто LastChild. Таким образом надо 2 физических куба. 1 с движениями и 1 с остатками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2005, 09:16 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
backfireМне кажется, что если таблицу фактов для куба остатков рассматривать как чистый snapshort (по Кимбалу) То не надо мутить с формулами и движениями, а брать просто LastChild Что я и предлагал на первой странице... backfireТаким образом надо 2 физических куба. 1 с движениями и 1 с остатками.а зачем с движениями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2005, 11:02 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
Вопрос по поводу запроса к г-ну backfire по прежнему в силе. Теперь по поводу LastChild: LastChild возможно будет использовать на уровне точек, на сколько я понимаю. А что делать на уровне Город, Регион? Ведь на этих уровнях должны считаться суммы из последних остатков точек входящих в этот регион, город. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2005, 13:35 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
SUM(Descendants(...),...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2005, 14:36 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
Dmitry BiryukovSUM(Descendants(...),...) Производительность будет в конкретной ж.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 00:56 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
backfire Dmitry BiryukovSUM(Descendants(...),...) Производительность будет в конкретной ж..а шо делать..? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 09:01 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
имхо, это будет всё равно быстрее, чем формулы аналитика с Tail, Filter и crossjoin ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 09:03 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
Dmitry BiryukovSUM(Descendants(...),...) Я пробовал таким образом считать, производительность реально очень низкая и к сожалению совершенно не удовлетворяет. Г-н backfire с нетерпением жду от Вас пример запроса о котором я писал выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 18:26 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
Дмитрий спасибо за совет. Но может Вы знаете еще какие-либо подходы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 18:29 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
АналитикДмитрий спасибо за совет. Но может Вы знаете еще какие-либо подходы?ну давайте ещё раз проанализируем проблему. в кубе с дельтами всё считается с удовлетворительной скоростью, но надо выводить только те точки, которые посещались в данном периоде. Верно? Самый быстрый способ фильтровать по двум состояниям (посещалась/нет) - создать измерение, а в запросах использовать NECJ. Поищите по форуму, г-н backfire предлагал способ как заставить работать NECJ на СМ. Для этого, по моему, надо будет создать ещё один физ куб (который войдёт в виртуальный), который будет определять множества посещённых точек по периодам, по городам и т.д. на ось положите Extract(NECJ(точки, период, город, физ. мера из этого куба),...) Вы это попробовали? результаты? или всю работу сделать за Вас? тогда надо призовой фонд организовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 18:58 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
Dmitry Biryukov backfire Dmitry BiryukovSUM(Descendants(...),...) Производительность будет в конкретной ж..а шо делать..? Смазать гусиным салом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 20:30 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
Dmitry BiryukovСамый быстрый способ фильтровать по двум состояниям (посещалась/нет) - создать измерение Только это будет не измерение, а куб, т.к. это зависит еще от времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 20:32 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
Dmitry Biryukov backfireТаким образом надо 2 физических куба. 1 с движениями и 1 с остатками.а зачем с движениями? Ну я так понимаю, что приход-расход тоже представляют неотъемлимую чать интересов анализа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 20:38 |
|
||
|
Помогите правильно написать запрос
|
|||
|---|---|---|---|
|
#18+
Аналитик backfire В том смысле, что если позавчера посетили точку, а сегодня нет, то сегодня ставим "0", и если завтра точка не посещалась, то вставлять "0" уже не надо. Сегодняшний будет действительным до тех пока точка не посетится и там не появится значение отличное от нуля. Что-то оптимизировать не удается, Вы не могли бы привести пример запроса. на вскидку. вставить в таблицу остатков (товар, точка, дата, остаток) выбрать из остатки товары.товар, точки.точка, "сегодня", 0 из точки соединить на крест товары где (точка, товар) не в (выбрать точка, товар из остатки где последний остаток <> 0) вы свой DDL базы выложите, тогда конкретнее можно говорить, можно даже в аське. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 20:48 |
|
||
|
|

start [/forum/topic.php?fid=49&gotonew=1&tid=1870984]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 382ms |

| 0 / 0 |
