|
SQL Report Builder (сложение с условвием)
|
|||
---|---|---|---|
#18+
Добрый день. Есть выгрузка SQL в таком виде Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Есть подразделения, в нем проекты, у каждого проекта есть признак Видимости, также у проекта может быть несколько задач, а может и не быть вовсе. Надо получить отчет в таком виде Код: sql 1. 2.
Но если просто складывать "1", то проект АА1 посчитается 2 раза. Номера задач убирать нельзя, т.к. они используются в этом же отчете для детализации. Вопрос: можно ли как-то указать при группировке, чтобы складывать единички только у уникальных номеров проектов? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 09:44 |
|
SQL Report Builder (сложение с условвием)
|
|||
---|---|---|---|
#18+
В Total пишешь это: Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 10:30 |
|
SQL Report Builder (сложение с условвием)
|
|||
---|---|---|---|
#18+
т.е. так: =) Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 10:31 |
|
SQL Report Builder (сложение с условвием)
|
|||
---|---|---|---|
#18+
myrzilka, на всякий случай, ещё вариант с SQL-запросом: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 10:50 |
|
SQL Report Builder (сложение с условвием)
|
|||
---|---|---|---|
#18+
IDVT, Спасибо! Это работает как надо. Выяснилось, что есть еще один показатель у него может быть значение не только 1, но и 2, 3 и т.д. Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Как посчитать "2" у проекта АА1 только один раз, чтоб получилось 2? Есть какие-то приемы? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 11:01 |
|
SQL Report Builder (сложение с условвием)
|
|||
---|---|---|---|
#18+
Не совсем Вас понимаю, что подсчитать нужно и при каких условиях? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 11:13 |
|
SQL Report Builder (сложение с условвием)
|
|||
---|---|---|---|
#18+
IDVT, Получить такую таблицу на выходе Код: sql 1. 2.
Если я сложу просто кол-во итераций, то получу 12 (по проекту АА1 посчитается 2 раза по 2), а правильная сумма 10. CountDistinct тут не сработает((( ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 11:21 |
|
SQL Report Builder (сложение с условвием)
|
|||
---|---|---|---|
#18+
Наверное так, сложно дать ответ не видя структуры отчета (группировки и т.д.) Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 11:52 |
|
SQL Report Builder (сложение с условвием)
|
|||
---|---|---|---|
#18+
IDVT, Группировка идет по Подразделению, считаем кол-во видимых проектов и кол-во итераций в этом Подразделении. Полагаю, если написать Sum( Max, то посчитается только одно максимальное значения в Подразделении, т.к. группировки по Проектам нет в итоговой таблице. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 12:14 |
|
SQL Report Builder (сложение с условвием)
|
|||
---|---|---|---|
#18+
Именно, так, либо добавлять группировку по проектам в отчет и использовать формулу Код: sql 1. 2. 3. 4.
или нумеровать дубли, и брать в расчет суммы только с первым номером, но с этой задачей лучше справиться на стороне сервера Row_Number() Over( partition by ...) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 12:46 |
|
SQL Report Builder (сложение с условвием)
|
|||
---|---|---|---|
#18+
Так понятнее будет.... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 12:57 |
|
|
start [/forum/topic.php?fid=31&msg=39562386&tid=1533031]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 139ms |
0 / 0 |