Имя: Пароль:
1C
1С v8
Получить четвертую колонку "Среднее" по данным предыдущих трех в запросе
0 DenYuliya
 
17.05.16
17:24
Подскажите пожалуйста, как можно в запросе получить четвертую колонку "Среднее" по данным предыдущих трех колонок (Опт, Опт1, Опт2) в запросе на СКД?
Есть некий оператор "Среднее", но я не могу понять, как его использовать. Опт, Опт1, Опт2 - это произвольно добавленное поле в "Данные", выведенное по формуле.
1 DenYuliya
 
17.05.16
17:25
опт, опт1, опт2 добавлены так:

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,
    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
    ЦеныНоменклатурыСрезПоследних.Валюта КАК Валюта,
    ВЫБОР
        КОГДА ЦеныНоменклатурыСрезПоследних.ВидЦены = "ОптRUB"
                ИЛИ ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование = "ОптEUR"
                ИЛИ ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование = "ОптER1"
                ИЛИ ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование = "ОптUSD"
                ИЛИ ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование = "ОптUS1"
            ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
    КОНЕЦ КАК рОпт,
    ВЫБОР
        КОГДА ЦеныНоменклатурыСрезПоследних.ВидЦены = "Опт1RUB"
                ИЛИ ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование = "Опт1EUR"
                ИЛИ ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование = "Опт1ER1"
                ИЛИ ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование = "Опт1USD"
                ИЛИ ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование = "Опт1US1"
            ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
    КОНЕЦ КАК рОпт1,  

//////
2 тарам пам пам
 
17.05.16
17:27
Среднее - это агрегатная функция, т. е. считает среднее по одной колонке. Тебе вручную только посчитать (опт + опт1 + опт2) / 3.
3 DenYuliya
 
17.05.16
17:59
Сама догадалась уже, как)).  Просто взять среднее по изначальной колонке Цена, потому что Опт1, Опт и Опт2 из нее получены как раз.
Вопрос закрыт :)
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн