powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Вычисление суумы на узлах
25 сообщений из 80, страница 2 из 4
Вычисление суумы на узлах
    #33009005
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АналитикАу

Мы, поди, не в лесу будем.

Вы поняли какие дельты (приращениях) я имел ввиду?

Если да, то является ли вашей текущей проблемой заполнение таблицы дельтами?

p.s. Если есть желание то ICQ 61-168-970
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33009333
Аналитик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения за "Ау",
ДА действительно основной проблемой для меня сейчас является заполнение таблицы дельтами, т.к. не очень понимаю какие эти дельты должны быть для моей задачи.

К сожалению у меня нет возможности пок авыйти в аську.
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33009487
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий, ваше сообщение, как неэтичное, удалено
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33010639
Аналитик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На сколько я понял, конкретный ответ получить я не смогу
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33010659
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АналитикНа сколько я понял, конкретный ответ получить я не смогу

Что конкретно вам не ясно тут
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33010691
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 backfire:

Юрий, ваше сообщение, как неэтичное, удалено

Там не было ничего неэтичного, у Вас просто недостаточно развито чувство юмора. Видимо Вы удалили это сообщение до того, как его прочитал г-н Аналитик. Придется мне найти еще 10 минут, чтобы его написать вновь (используя максимально нейтральную терминологию :)

2 Аналитик:

Поскольку подробный ответ на Ваш вопрос был удален модератором до того, как Вы его прочитали, рекомендую Вам сообщить мне Ваш электронный адрес, чтобы я выслал Вам ответ напрямую.
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33010735
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юра, вы можете писать в "просто треп" и отпускать там шуточки, пока пальцы в кровь не сотрутся. Здесь же люди общаются по делу. А ваши примеры явно не в тему.
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33010784
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 backfire:

Здесь же люди общаются по делу. А ваши примеры явно не в тему.

Мой подход, где я предлагаю использовать дельты совпадает с Вашим подходом. Так что если мои примеры не в тему - Ваши получаются тоже не в тему.
Я думаю у г-на Аналитика довольно мало опыта, и он не понимает, что такое дельта. Поэтому ему надо привести пример, где дельты не только положительные, но и отрицательные, так он скорее разберется.

P.S. Если у Вас есть возможность отправить мне по почте мое сообщение, которое Вы удалили - сделайте это, чтобы я не тратил лишнее время на его переписывание.
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33010856
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jurii2 backfire:

Здесь же люди общаются по делу. А ваши примеры явно не в тему.

Мой подход, где я предлагаю использовать дельты совпадает с Вашим подходом. Так что если мои примеры не в тему - Ваши получаются тоже не в тему.
Я думаю у г-на Аналитика довольно мало опыта, и он не понимает, что такое дельта. Поэтому ему надо привести пример, где дельты не только положительные, но и отрицательные, так он скорее разберется.

P.S. Если у Вас есть возможность отправить мне по почте мое сообщение, которое Вы удалили - сделайте это, чтобы я не тратил лишнее время на его переписывание.

Юра, вы прекрасно понимаете, ваше сообщение было расценено мною как не этичное не за цифры и математические действия а за пример на котором вы эти цифры строили.

Дальнейшие на тему удаленного постинга считаю пустой тратой времени и ресурса клавиатуры.

А Вам Юра стоит поучится этикету письменного общения, в том числе, когда вы обращаетесь к кому то с просьбой. Или ваш P.S. ошибочно расценен мною как просьба, а на самом деле вы даете мне указание что то сделать?
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33011940
Аналитик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые господа, давайте вернемся к делу. Вопрос остался не закрыт для меня, да действительно у меня нет опыта в создании дельт, я бы хотел с этим подробно разобраться, т.к. проблема и задача очень для меня важна, прошу вас помочь.
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33012145
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня нет опыта в создании дельт

Прежде всего я вам посоветую хороший учебник по вычмату.
Затем и творения Кимбала о DWH.
А если чуствуете слабину в SQL, то Джой Целко то что надо.
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33013054
Аналитик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понял, но проблем с пониманием что такое дельта у меня нет,
основной проблемой является то что для моей задачи не нужно вычислять дельт,
мне всего лиш нужно брать значение по последнему посещению точки и дельт вычислять не нужно, хотя в будущем мне это тоже понадобится для получения прироста, но со временем.

Так вот в MS AS на уровне точек получить значения последних посещений не проблема и я их уже получил, проблема в том что пересчитать суммы на узлах занимает очень много времени. Узлами в моей задаче являются уровни: Город, Регион, Страна.

Если в город входит 4 точки то считает мгновенно, но если в город входит 3000 точек именно здесь и присходит очень большая задержка при вычислении суммы значений по последним посещениям точек.

Исходные данные в кубе - это значения по всем посещениям по каждому дню, по всем точкам. Я фильтрую данные при помощи Callculated Cells, фильтр срабатывает на уровне точек, т.е. для каждой точки я вывожу значения последнего ее посещения для заданного интервала времени. Уровень точек у меня является самым последним в ирархии, для всех остальных уровней я делаю сумму по отфильтрованным значениям, т.е. сумму по последним посещениям точек входящих в заданный уровень.

В SQL Server сделать выборку по последним посещениям точек, а потом на основании этих данных сделать куб не является корректным, т.к. в этом случае я буду терять данные по непоследним посещениям.

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

В том то и дело. AS может быстро считать по предаггрегированнм данным, а те вычисления, к которым Вы его вынуждаете это не его "конек". Поэтому то я и предлагал вам создать таблицу фактов на приращениях остатка, а не на остатках. В этом случае остаток в для любой комбинации города и времени считается путем простого сложения приращений, а это AS может очень быстро и использует при этом предрассчитанные аггрегаты.

Одним словом. Физическая мера должна быть суммируемой по любой координате. А Ваша мера "остаток" таковой не является. Вот вы и спускаетесь до вычислений на листовых уровнях, что пагубно сказывается на производительности.
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33013657
Аналитик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок, я понял и полность с Вами согласен. Но в случае если у меня точка посещалась 2-ва раза за неделю
1-ый раз в ней остаток был 2, 2-ой раз остаток был 3.

Я создаю таблицу фактов, в которой
для первого визита дельта1 = 2
для второго визита дельта2 = 1.

За неделю, я действительно получу остаток дельта1+дельта2=3.

Но если я захочу посмотреть информацию по точке по дням
следовательно я получу из куба значение дельт, а не остатков по дням. А мне нужны именно остатки в таком случае. Как быть в этой ситуации.

Если Вам не сложно привести пример SQL запроса в котором происходит вычисление дельт, я был бы Вам очень благодарен.
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33013876
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но если я захочу посмотреть информацию по точке по дням
следовательно я получу из куба значение дельт, а не остатков по дням. А мне нужны именно остатки в таком случае. Как быть в этой ситуации


В этом случае вам надо будет на каждый день получить сумму приращений

что то в этом роде Sum(PeriodsToDate(Time.[(All)], Time.CuttentMember)).

Советую вам почитать эту статейку Ричарда Ткачука (кстати одного из авторов AS)
Inventory Management Calculations in SQL Server Analysis Services 2005

Не пугайтесь, что в заголовке стоит 2005. Львиная доля излоденного применима к AS2K.
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33014421
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Аналитик:

За неделю, я действительно получу остаток дельта1+дельта2=3.
Но если я захочу посмотреть информацию по точке по дням
следовательно я получу из куба значение дельт, а не остатков по дням. А мне нужны именно остатки в таком случае. Как быть в этой ситуации.


В боковике отчета Вы размещаете свои точки (или сначала города, которые с помощью дрилл-дауна раскроются в точки), а в шапке отчета - периоды времени, в течение которых Вы хотите посмотреть динамику остатков. Например в шапке отчета могут быть 2002 год, 2003 год, 2004 год, 1 квартал 2005 года, все дни апреля 2005 года. В качестве показателя у вас должны быть дельты. Например, для 2003 года по точке 1 у Вас будет отрицательное число (если остаток на начало года был больше, чем на конец года), некоторые из дней будут нулевыми, так как остаток не менялся каждый день.
После этого Вы должны в OLAP-клиенте выделить все строки, и применить к ним функцию нарастающего итога. В итоге Вы получите динамику остатков за выбранные периоды.
Правда OLAP-клиент должен позволять вычислять нарастающий итог и скрывать ненужные строки (так как сами по себе дельты не так интересны, по сравнению с нарастающим итогом на их основе).
Чтобы не надо было делать вручную нарастающий итог, можно на OLAP-сервере создать вычисляемые категории/мемберы (типа вся история до текущей даты, до вчерашней даты, на N дней назад и т.д.).
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33014428
Аналитик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное спасибо, но не обольщайтесь, я не думаю что на этом наша дискусия завершилась, если Вы не против.
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33014433
Аналитик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но все же, прошу прощения за насточивость, можно Вас попросить пример SQL- запроса в котором осуществляется расчет дельт.
Еще раз прошу прощения, не сочтите за наглость.
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33015302
Аналитик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть таблица в SQL с полями Точка, Дата, Остаток, каким образом мне написать запрос, что бы получить дельты ?
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33015428
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АналитикУ меня есть таблица в SQL с полями Точка, Дата, Остаток, каким образом мне написать запрос, что бы получить дельты ?

форуме по SQL вам наверняка напишут что-то более оптимальное, но как первое приближение.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
create table ostatki(point int, date datetime, ostatok int)

insert ostatki values( 1 , '01.01.2005',  10 )
insert ostatki values( 1 , '01.02.2005',  5 )
insert ostatki values( 2 , '05.01.2005',  20 )
insert ostatki values( 2 , '20.02.2005',  10 )
insert ostatki values( 3 , '10.01.2005',  40 )
insert ostatki values( 3 , '05.02.2005',  50 )
insert ostatki values( 4 , '10.02.2005',  10 )

select 
	t3.point,
	t3.date,
	t3.ostatok - coalesce(t4.ostatok,  0 ) as delta
from (
	select 
		t1.point,
		t1.date,
		t1.ostatok,
		max(t2.date) as prevdate
	from ostatki as t1 
	left outer join ostatki as t2
		on t1.point = t2.point and t1.date > t2.date
	group by 	t1.point, t1.date, t1.ostatok
) as t3 left outer join ostatki as t4
on t3.point = t4.point and t3.prevdate = t4.date
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33015883
Аналитик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо огромнейшее.
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33015904
Аналитик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но, я думаю, что все же мы еще продолжим обсуждение, хотя понимаю, что наверное уже надоел.
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33026545
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё как вариант можно в таблицу фактов добавить записей для каждого дня
тогда надо написать Custom Rollup формулу для измерения время Time.CurrentMember.LastChild и всё будет ОК
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33026568
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Biryukovещё как вариант можно в таблицу фактов добавить записей для каждого дня
тогда надо написать Custom Rollup формулу для измерения время Time.CurrentMember.LastChild и всё будет ОК

м что же покажет Time.CurrentMember.LastChild для 2005.04, если остатки занесены только до 2005.04.20, а для 2005.04.30 в таблице фактов остатков пусто? А хочется видеть текущие остатки.

Позвольте вопрос. А вы храните остаки на каждый день?
...
Рейтинг: 0 / 0
Вычисление суумы на узлах
    #33026571
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfireчто же покажет Time.CurrentMember.LastChild для 2005.04, если остатки занесены только до 2005.04.20, а для 2005.04.30 в таблице фактов остатков пусто?в предлагаемом мною варианте такого быть не может. т.к. я предлагаю дополнить таблицу фактов недостающими записями для каждой пары точка-день.
Ежели надо учитывать кол-во визитов и др. параметры, которые "портят" искуственно добавленные записи, то можно добавить признак "реальная цифра" или "искусственная", и соотв. измерение в куб.

Я остатки не храню. я храню движения.

Кроме того в начальных условиях было сказано
АналитикКаждая точка посещается ежедневно
Если с дельтами (они же движения) туго, то можно попробовать мой вариант.
...
Рейтинг: 0 / 0
25 сообщений из 80, страница 2 из 4
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Вычисление суумы на узлах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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