Регистрация Правила Главная форума Поиск |
0
- 31.08.2015 - 20:38
|
Когда высчитываешь какие-либо показатели в запросах,то теряются копейки. Например за счет деления Показатель1/База*Показатель2. Есть какой-нибудь готовый алгоритм по их вытаскиванию и дораспределению запросом же? | |
1
- 31.08.2015 - 22:05
|
0-Дебилы > Пакетный запрос дополни: 1. Сумма(БазаРаспределения) - Сумма(РезультатРаспределения) 2. Выбери запись из результата распределения с наибольшим значением показателя 3. К результату 2-го шага добавь копейки первого 4. Выбери из результата распределения все записи кроме той, что взял на втором шаге и объедини с результатом 3-го шага. | |
2
- 31.08.2015 - 22:16
|
1 Спасибо! 1-й этап сделал, а нет ли примера для 2-го шага? Просто чтобы выбрать записи с максимальным значением показателя, я сначала делаю запрос на максимальные значения по необходимым группировкам, а потом к нему джойню сами записи. Несколько смущает ставить условия соединения по цифрам, или это нормально? Чето запутался | |
3
- 01.09.2015 - 02:13
|
(1) Reaper и те кто знает , не подскажите как сделать 2-й этап в плане запросов. А то у меня выходят соединения по цифрам, такого просто не делал доселе,но не вижу варианта, ведь вроде это сомнительная операция. Помогите плиз, ведь мы Дебилы же:) | |
4
- 01.09.2015 - 09:46
| Первый запрос помещаешь во временную таблицу. Второй запрос делаешь к этой таблице. | |
5
- 01.09.2015 - 10:15
| 3-Дебилы >Сортировка по убыванию, выбрать 1 строку. Элементарно же. | |
6
- 01.09.2015 - 12:50
|
(4) это понятно, вопрос как выбрать максимумы (5) так мне надо не одну строку , а top 1 в рамках каждой группировки | |
7
- 01.09.2015 - 15:03
|
Имеется Сумма для распределения (S), И сумма показателей (долей) для распределения(P=p1+p2+p3+...). После каждой итерации (s1=S/P*p1) уменьшаем сумму для распределения (S=S-s1) и Сумму показателей (P=P-p1). Последнему в списке щедро отдаем весь кошелек. | |
8
- 01.09.2015 - 16:13
| (7) запросом хочу | |
9
- 01.09.2015 - 16:54
| 8-Дебилы > Используй ТЗ как временную таблицу. | |
10
- 01.09.2015 - 17:18
|
(9) я в скд делаю, поэтому хотелось бы обойтись одними запросами. Иначе придется выгружать результат в ТЗ, а потом опять подсовывать в скд | |
11
- 01.09.2015 - 17:53
|
ну короче сделал все, работает. только вот соединения в запросе по числам - подозреваю, что это не очень нормально | |
12
- 01.09.2015 - 21:57
|
Добавил еще один показатель и обнаружилась лажа. В рамках группировки может быть несколько одинаковых значений и все они одинаково максимальные.Тогда он списывает дельту со всех таких строк. Т.е. критерия максимальности недостаточно, требуется выбрать еще и Первые 1 среди максимальных в каждой группе.Не пойму, как это реализовать? Дайте плиз пример запросов лучше, может в типовой где-то есть такое? | |
13
- 01.09.2015 - 22:47
| 12-Дебилы > Либо делай нумерацию для предварительного результата распределения, либо бей СКД на 2 набора данных так, чтобы ведущий собрал список группировок и суммы к распределению, а ведомый делал распределение в рамках одной группировки. | |
14
- 02.09.2015 - 22:15
| короче кинул на Максимум(Показатель), где показатель - объект справочник ссылка.Тем самым получился какбе Top 1 в рамках группировки | |
| Интернет-форум Краснодарского края и Краснодара |