Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Pivot multiple aggregate
|
|||
|---|---|---|---|
|
#18+
вопрос почему неправильно суммируются дубли в Pivot (поля DecPcs и DecAmt)? Так не получится или что-то не то с синтаксисом? Код: sql 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. исходные данные (добавлено поле месяца для каждого пивота) YEARMonthPcs MonthAmt PIECES AMOUNT2013 JanPcs JanAmt 5 5002014 JanPcs JanAmt 15 25002013 FebPcs FebAmt 2 3002013 DecPcs DecAmt 10 4002013 DecPcs DecAmt 10 4002014 DecPcs DecAmt 40 4000 результат запроса Year JanPcs JanAmt DecPcs DecAmt2013 NULL NULL 20 4002013 NULL NULL NULL NULL2013 5 500 NULL NULL2014 NULL NULL 40 40002014 15 2500 NULL NULL вопрос почему за 2013 год для DecPcs просуммировалось (10=10=20), а для DecAmt нет (400+400=800, а пишет 400). если поменять значения для DecPcs таким образом YEARMonthPcs MonthAmt PIECES AMOUNT2013 JanPcs JanAmt 5 5002014 JanPcs JanAmt 15 25002013 FebPcs FebAmt 2 3002013 DecPcs DecAmt 10 4002013 DecPcs DecAmt 10 5002014 DecPcs DecAmt 40 4000 то теперь DecAmt суммируется (400+500=900), а DecPcs нет (10+10=20, а пишет 10) Year JanPcs JanAmt DecPcs DecAmt2013 NULL NULL 10 9002013 NULL NULL NULL NULL2013 5 500 NULL NULL2014 NULL NULL 40 40002014 15 2500 NULL NULL Если отдельные пивоты то все правильно суммирует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 15:01 |
|
||
|
Pivot multiple aggregate
|
|||
|---|---|---|---|
|
#18+
hewlett, В плане запроса в Stream Aggregate поле amount входит в условие группировки group by. А для последующего PIVOT - а - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 15:33 |
|
||
|
Pivot multiple aggregate
|
|||
|---|---|---|---|
|
#18+
DECLARE @PivotExample AS TABLE ( MONTH VARCHAR(15), YEAR VARCHAR(4), PIECES int, AMOUNT int ) INSERT INTO @PivotExample VALUES ('Jan', '2013', 5, 500), ('Jan', '2014', 15, 2500), ('Feb', '2013', 2, 300), ('Dec', '2013', 10, 400), ('Dec', '2013', 10, 400), ('Dec', '2014', 40, 4000) SELECT YEAR , JanPcs , FebPcs , DecPcs , JanAmt , FebAmt , DecAmt FROM ( SELECT YEAR , MONTH + 'Pcs' AS MonthPcs , MONTH + 'Amt' AS MonthAmt , SumAmount = SUM(AMOUNT) , SumPieces = SUM(PIECES) FROM @PivotExample GROUP BY PIECES, YEAR, MONTH, AMOUNT ) t PIVOT( SUM(SumPieces) FOR MonthPcs IN (JanPcs, FebPcs, DecPcs) )p1 PIVOT( SUM(SumAmount) FOR MonthAmt IN (JanAmt, FebAmt, DecAmt) )p2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 15:51 |
|
||
|
Pivot multiple aggregate
|
|||
|---|---|---|---|
|
#18+
RigersongDECLARE @PivotExample AS TABLE ( MONTH VARCHAR(15), YEAR VARCHAR(4), PIECES int, AMOUNT int ) INSERT INTO @PivotExample VALUES ('Jan', '2013', 5, 500), ('Jan', '2014', 15, 2500), ('Feb', '2013', 2, 300), ('Dec', '2013', 10, 400), ('Dec', '2013', 10, 400), ('Dec', '2014', 40, 4000) SELECT YEAR , JanPcs , FebPcs , DecPcs , JanAmt , FebAmt , DecAmt FROM ( SELECT YEAR , MONTH + 'Pcs' AS MonthPcs , MONTH + 'Amt' AS MonthAmt , SumAmount = SUM(AMOUNT) , SumPieces = SUM(PIECES) FROM @PivotExample GROUP BY PIECES, YEAR, MONTH, AMOUNT ) t PIVOT( SUM(SumPieces) FOR MonthPcs IN (JanPcs, FebPcs, DecPcs) )p1 PIVOT( SUM(SumAmount) FOR MonthAmt IN (JanAmt, FebAmt, DecAmt) )p2 ага, т.е сначала просуммировать, потом перевернуть. Одновременно не получается значит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 16:02 |
|
||
|
|

start [/forum/topic.php?fid=46&tid=1688788]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 404ms |

| 0 / 0 |
