powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Суммирование поля, содержащую агрегатную функцию
14 сообщений из 14, страница 1 из 1
Суммирование поля, содержащую агрегатную функцию
    #36095864
minya13_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RS 2005. у меня есть табличный отчет, там есть группировка по какому-то полю. под каждой группой подбит итог. в одном поле итог подбивается не суммированием, а просто 0 или 1, т.е. если все строки, заполнены в одной группе, то = 1, если не все = 0. это достигается агрегатной функцией min.
ну в конце мне нужен итог, сколько было таких групп, я делаю Countdistinct, и сколько из них было заполнено, а сколько нет. т.е. посчитать кол-во единичек и кол-во нулей. не могу применить sum(min(Fields Поле)), ругается нельзя использовать две агрегирующие функции. как мне это обойти?
...
Рейтинг: 0 / 0
Суммирование поля, содержащую агрегатную функцию
    #36095910
buven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну как вариант: выводить min(Field) в рядом стоящий скрытый текстбокс, а потом суммировать sum(reportitems!(наш невидимы текстбокс).value
первое что в голову пришло.

Проводить жизнь в ожидании мессии, который придёт и спасёт мир, всё-равно, что ждать палку в тетрисе.
Даже если и появится, то ты к тому времени наберёшь такую гору дерьма, что те будет уже абсолютно пох... :)
...
Рейтинг: 0 / 0
Суммирование поля, содержащую агрегатную функцию
    #36095947
minya13_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buvenНу как вариант: выводить min(Field) в рядом стоящий скрытый текстбокс, а потом суммировать sum(reportitems!(наш невидимы текстбокс).value
первое что в голову пришло.

Проводить жизнь в ожидании мессии, который придёт и спасёт мир, всё-равно, что ждать палку в тетрисе.
Даже если и появится, то ты к тому времени наберёшь такую гору дерьма, что те будет уже абсолютно пох... :)

честно говоря не совсем понял. как можно просуммировать текстбокс?
Вот что у меня написано в подитоге в группировке
Код: plaintext
IIf(Min(Fields!docid.Value)= 0 , 0 , 1 )
а мне нужно получить что-то типо того
Код: plaintext
sum(IIf(Min(Fields!docid.Value)= 0 , 0 , 1 ))
...
Рейтинг: 0 / 0
Суммирование поля, содержащую агрегатную функцию
    #36095982
buven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да извиняюсь, сопрол горячку. Сейчас попробовал, такой финт ушами не проходит.
Проводить жизнь в ожидании мессии, который придёт и спасёт мир, всё-равно, что ждать палку в тетрисе.
Даже если и появится, то ты к тому времени наберёшь такую гору дерьма, что те будет уже абсолютно пох... :)
...
Рейтинг: 0 / 0
Суммирование поля, содержащую агрегатную функцию
    #36096074
minya13_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buvenДа извиняюсь, сопрол горячку. Сейчас попробовал, такой финт ушами не проходит.
Проводить жизнь в ожидании мессии, который придёт и спасёт мир, всё-равно, что ждать палку в тетрисе.
Даже если и появится, то ты к тому времени наберёшь такую гору дерьма, что те будет уже абсолютно пох... :)
может надо как-то с помощью RunningValue () ?
...
Рейтинг: 0 / 0
Суммирование поля, содержащую агрегатную функцию
    #36099139
SQLPowerUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была похожая ситуация...
Попробовать через вычисляемое поле. Тогда в случае
автора мне нужно получить что-то типо того
Код: plaintext
sum(IIf(Min(Fields!docid.Value)= 0 , 0 , 1 ))

поле MyField1 будет как
Код: plaintext
= IIf(Min(Fields!docid.Value)= 0 , 0 , 1 )
а сумма так:
Код: plaintext
= sum(MyField1)
...
Рейтинг: 0 / 0
Суммирование поля, содержащую агрегатную функцию
    #36100753
minya13_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLPowerUserБыла похожая ситуация...
Попробовать через вычисляемое поле. Тогда в случае
автора мне нужно получить что-то типо того
Код: plaintext
sum(IIf(Min(Fields!docid.Value)= 0 , 0 , 1 ))

поле MyField1 будет как
Код: plaintext
= IIf(Min(Fields!docid.Value)= 0 , 0 , 1 )
а сумма так:
Код: plaintext
= sum(MyField1)

Можно подробнее??
Код: plaintext
IIf(Min(Fields!docid.Value)= 0 , 0 , 1 )
это выражение записать в соседний текстбокс? допустим
Код: plaintext
Textbox29
, а в другом текстбоксе вывести
Код: plaintext
sum("Textbox29")
так он выдает ошибку.
...
Рейтинг: 0 / 0
Суммирование поля, содержащую агрегатную функцию
    #36100942
buven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Синтаксис должен быть таким:
Код: plaintext
sum(ReportItems!Textbox29.value)



Проводить жизнь в ожидании мессии, который придёт и спасёт мир, всё-равно, что ждать палку в тетрисе.
Даже если и появится, то ты к тому времени наберёшь такую гору дерьма, что те будет уже абсолютно пох... :)
...
Рейтинг: 0 / 0
Суммирование поля, содержащую агрегатную функцию
    #36101040
minya13_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buvenСинтаксис должен быть таким:
Код: plaintext
sum(ReportItems!Textbox29.value)



Проводить жизнь в ожидании мессии, который придёт и спасёт мир, всё-равно, что ждать палку в тетрисе.
Даже если и появится, то ты к тому времени наберёшь такую гору дерьма, что те будет уже абсолютно пох... :) выдало ошибку
Код: plaintext
the value expression for the 'textbox28' uses an aggregate function on a report item. Aggregate functions can be used only on report items contained in page headers and footers
...
Рейтинг: 0 / 0
Суммирование поля, содержащую агрегатную функцию
    #36101068
buven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложите сюда отчет, если есть такая возможность.
Так оно проще будет.
А в ошибке вам говорят, что суммировать можно только текстобксы в хэдере или футере.

Проводить жизнь в ожидании мессии, который придёт и спасёт мир, всё-равно, что ждать палку в тетрисе.
Даже если и появится, то ты к тому времени наберёшь такую гору дерьма, что те будет уже абсолютно пох... :)
...
Рейтинг: 0 / 0
Суммирование поля, содержащую агрегатную функцию
    #36101158
SQLPowerUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLPowerUserБыла похожая ситуация...
Попробовать через вычисляемое поле. Тогда в случае
автора мне нужно получить что-то типо того
Код: plaintext
sum(IIf(Min(Fields!docid.Value)= 0 , 0 , 1 ))
поле MyField1 будет как
Код: plaintext
= IIf(Min(Fields!docid.Value)= 0 , 0 , 1 )
а сумма так:
Код: plaintext
= sum(MyField1)

Здесь я имел в виду вычисляемое поле, которое создается в DataSet’e. Пример поля Emkost из работающего отчета:


Ну а далее в разных колонках отчета, это вычисляемое поле можно использовать примерно так:
Код: plaintext
=sum(Fields!Emkost.Value, "matrix1_FIO")/ 12 
или так:
Код: plaintext
1.
=iif(InScope("matrix1_month"), iif(inScope("matrix1_FIO"), Fields!Emkost.Value, sum(Fields!Emkost.Value))
...
Рейтинг: 0 / 0
Суммирование поля, содержащую агрегатную функцию
    #36101396
minya13_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем так. Красным что я обвел, это подитог группы. в этом текстбоксе15 может быть только 0 или 1, в зависимости от поля dc.
Код: plaintext
IIf(Min(Fields!dc.Value)= 0 , 0 , 1 )
.
в тэйбл-футере, должен быть итог. т.е. посчитать сумму текстбокса15. т.е. посчитать сколько там единичек и сколько нулей.

В данный момент я не нашел решения, пришлось делать второй датасет, отдельную таблицу с итогами и вниз её вывести, но как видите это не оптимальное решение, т.к. выполняются две процедуры.
...
Рейтинг: 0 / 0
Суммирование поля, содержащую агрегатную функцию
    #36101446
minya13_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLPowerUserSQLPowerUserБыла похожая ситуация...
Попробовать через вычисляемое поле. Тогда в случае
автора мне нужно получить что-то типо того
Код: plaintext
sum(IIf(Min(Fields!docid.Value)= 0 , 0 , 1 ))
поле MyField1 будет как
Код: plaintext
= IIf(Min(Fields!docid.Value)= 0 , 0 , 1 )
а сумма так:
Код: plaintext
= sum(MyField1)

Здесь я имел в виду вычисляемое поле, которое создается в DataSet’e. Пример поля Emkost из работающего отчета:


Ну а далее в разных колонках отчета, это вычисляемое поле можно использовать примерно так:
Код: plaintext
=sum(Fields!Emkost.Value, "matrix1_FIO")/ 12 
или так:
Код: plaintext
1.
=iif(InScope("matrix1_month"), iif(inScope("matrix1_FIO"), Fields!Emkost.Value, sum(Fields!Emkost.Value))
и вопрос, что делает функция
Код: plaintext
inScope
?
...
Рейтинг: 0 / 0
Суммирование поля, содержащую агрегатную функцию
    #36101601
SQLPowerUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
InScope нужен, чтобы узнать, раскрыт `плюсик` группировки или нет.
Если InScope = true, то группирующий "плюсик" раскрыт и он уже не "плюсик", а "минус"
Если InScope = false, то группирующий "плюсик" НЕ раскрыт.

Важно! В качестве параметра "scope" надо указывать не группу, которая раскрывается, а подчиненную группу.

Подробнее здесь:
http://msdn.microsoft.com/ru-ru/library/ms156490.aspx

Отличный пример здесь (читать до конца)
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Суммирование поля, содержащую агрегатную функцию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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