|
|
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
Всем привет, Проблема следующая. Есть две таблицы, "Заказ" и "План". Нужно сделать отчет, где для каждого менеджера выводилась бы сумма по заказам и сумма по планам, разбитые по месяцам. У каждого менеджера десятки-сотни заказов в месяц, а план обычно один, то есть тупо вывести нужные данные в один dataset и потом просуммировать их по менеджеру и по месяцу не получится (тогда план за каждый месяц просуммируется столько же раз, сколько и заказ). Нужно, чтобы в отчете присутствовали только уникальные значения из столбца "план". Попробовал следующее решение: (с опорой на http://social.msdn.microsoft.com/forums/en-US/sqlreportingservices/thread/4563c797-df05-43bf-80d1-e1757d06daf6/) В dataset выгружаю данные следующим запросом Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Дальше суммирую поле "План" в таблице следующим выражением: =SUM(IIF(Fields!new_ownerid.Value = Fields!owneridname.Value, Fields!new_billing.Value, 0)) При выводе отчета получаю Error во всех ячейках с этим выражением, хотя отчет запускается без ошибок и предупреждений. Может быть, есть другой способ соединить эти две таблицы так, как мне нужно? Очень надеюсь на вашу помощь. Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2011, 11:18 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
Нужно сделать отчет, где для каждого менеджера выводилась бы сумма по заказам и сумма по планам, разбитые по месяцам. У каждого менеджера десятки-сотни заказов в месяц, а план обычно один, то есть тупо вывести нужные данные в один dataset Нечто похожее делал когда-то, там все легко решилось на стороне SQL одним запросом. Давайте сюда заполенные тестовые данные, что-то типа такого: Код: plaintext 1. 2. 3. 4. 5. И желаемый результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2011, 14:36 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
Начинающий SQL 2008, Надеюсь я правильно вас понял с тестовыми данными. Что-то такое будет: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. А желаемый результат: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. С SQL "работаю" вторую неделю, поэтому возможны ошибки:( Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2011, 16:39 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
timotheus, На таких тестовых данных Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Можно так Код: plaintext 1. 2. 3. 4. 5. 6. Результат: managermonbillingplanIvanovmarch100250Ivanovmarch2000Ivanovmarch3000Petrovapril20055Petrovapril1000Sidorovapril300200 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2011, 17:40 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
Спасибо! Пытаюсь приспособить ваше решение к своему запросу, все с виду гладко до предпоследней строки: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Получаю ошибку Incorrect syntax near '.'. Error Number: 102 Severity: 15 State: 1 Line Number: 24 Не могу понять, что именно не так... Третий день уже запрос кручу, и так, и сяк, все без толку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2011, 13:51 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
timotheus, А чего раньше не написали? Замените Код: plaintext на Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2011, 16:06 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
timotheus, А что выдает Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2011, 16:09 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
Начинающий SQL 2008, Этот запрос сработал, спасибо! Правда это не совсем то, что мне нужно. Я его немного изменил, сделав Код: plaintext Кажется, что здесь можно использовать DISTINCT для отбора уникальных значений, но не могу сообразить, как:( Спасибо еще раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2011, 20:38 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
Кажется, что здесь можно использовать DISTINCT для отбора уникальных значений, но не могу сообразить, как:(SQL под рукой нет... Навскидку: Код: plaintext 1. 2. 3. 4. Приведите конечный результат в виде: Код: plaintext 1. 2. 3. 4. 5. В понедельник подскажу. З.Ы. Есть подозрение, что решается через Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2011, 14:25 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
Начинающий SQL 2008, Я выше приводил тестовые данные и желаемый результат.. Я где-то допустил ошибку, или нужно что-то другое? Код: plaintext 1. 2. 3. Не думаю что это оно т.к. отбирается всего 1 план, а их может быть несколько (1-2-3, причем сколько именно заранее неизвестно). Есть ли какой-нибудь способ узнать, сколько именно значений в том или ином столбце, и отобрать только их? Код: plaintext 1. 2. Если я правильно понял, такой запрос включит в набор первую строку и и все ниже идущие строки, у которых значения совпадают со значением в первой строке. Это явно не то, что нужно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 11:44 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
timotheusЯ выше приводил тестовые данные и желаемый результат.. Я где-то допустил ошибку, или нужно что-то другое? На этих 10630600 тестовых данных дублей как раз нет Давайте сюда все шесть колонок Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 13:08 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
Начинающий SQL 2008, Не понял вас про "не уникальные данные" для этих полей.. Если я соединяю данные с помощью INNER JOIN (он же FilteredNew_planwebsite.new_billing), как я раньше делал, то в столбце plan встает 1 повторяющееся значение в месяц для каждого менеджера. То есть невозможно узнать из результирующей таблицы, сколько реально значений в столбце plan - один или несколько. Примерно как здесь: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Насколько я понял при использовании INNER JOIN sql просто берет из столбца plan первое значение и вставляет его в каждую строку. А нужно следующее. Предположим, у Иванова 1 план (на 250), у Петрова 2 (55 и 100), у Сидорова 0. Тогда результат выполнения запроса должен быть таким: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 20:45 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
timotheus, А вот эта таблица managermonthbillingplanIvanovmarch100250Ivanovmarch200250Ivanovmarch300250Petrovapril20055Petrovapril10055Sidorovapril300200 с чем джойнится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2011, 16:37 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
Начинающий SQL 2008, Это данные из трех таблиц Джойним таблицу FilteredNew_planwebsite (из нее берем plan) с FilteredNew_month (оттуда month) и с FilteredNew_orderdetail (из нее берем order). Первоначальный запрос приведен в первом сообщении. Я видимо совсем вас запутал:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2011, 12:20 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
timotheusЯ видимо совсем вас запутал:( Ага Для полной ясности надо заполнить таблицы Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2011, 13:19 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
Начинающий SQL 2008, Что-то такое будет: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2011, 17:04 |
|
||
|
проблема с соединением двух таблиц в Report Builder
|
|||
|---|---|---|---|
|
#18+
timotheus, Здесь для сравнения я вывел изначальный план и новый план Код: plaintext 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. Результат:managermonthorderplanplan_newIvanovmarch10010001000Ivanovmarch20010000Ivanovmarch30010000Ivanovmarch15010000Ivanovmarch5010000Ivanovapril100900900Ivanovapril1509000Ivanovapril3509000Ivanovapril10011001100Ivanovapril15011000Ivanovapril35011000Petrovmarch250700700Petrovmarch3507000Petrovapril150800800Petrovapril1008000Petrovapril4008000Petrovmay350800800Petrovmay5508000Petrovmay4508000Sidorovmarch150500500Sidorovmarch2505000Sidorovmarch150600600Sidorovmarch2506000Sidorovapril50400400Sidorovapril1004000Sidorovapril3004000Sidorovapril50750750Sidorovapril1007500Sidorovapril3007500Sidorovmay250750750Sidorovmay4507500Sidorovmay3507500 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2011, 17:55 |
|
||
|
|

start [/forum/topic.php?fid=31&msg=37271212&tid=1534922]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 273ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...