|
Можно ли на СКД сделать такое ? | ☑ | ||
---|---|---|---|---|
0
onx1
04.09.17
✎
13:50
|
Начальный запрос возвращает таблицу вида:
Организация, ЦеннаяБумага, Котировка (число или ноль). Надо вывести его в отчет на СКД в виде таблицы, где колонки - группировка по Организации, строки - группировка по ЦеннойБумаге, ресурс - Котировка, НО ТАК чтобы, если по конретной паре "Организация1, ЦеннаяБумага1" нет записи - в таблице бы выводилось "нет". То есть проблема в том, чтобы как-то отличить наличие в изначальной таблице записи с нулевой котировкой от полного отсутствия такой записи. |
|||
1
1dvd
04.09.17
✎
13:54
|
Можно
|
|||
2
aka MIK
04.09.17
✎
13:55
|
Нельзя
|
|||
3
aka MIK
04.09.17
✎
13:55
|
Без правки первоначального запроса разумеется )
|
|||
4
Сильф
04.09.17
✎
13:55
|
(0) Через условное оформление группировки попробуйте, с условием "Заполнено".
|
|||
5
Вафель
04.09.17
✎
14:01
|
У поля поставить флажок NULL
|
|||
6
onx1
04.09.17
✎
14:04
|
(4) Попробовал: заполнено выделяет только где есть конкретные цифры (0 и NULL - оно считает пустым)
(5) "Ингорировать значения NULL" ставил и так и так - не помогает. (1) Как? |
|||
7
1dvd
04.09.17
✎
14:05
|
(6) Запрос править
|
|||
8
ELEA26
04.09.17
✎
14:08
|
Если запрос править - то IsNull, если не править - то не знаю. Тоже послежу за темой :)
|
|||
9
onx1
04.09.17
✎
14:09
|
(7) Это то понятно.
Просто неужели СКД с такой понятной и довольно распространенной задачей справиться не в состоянии ? |
|||
10
Fragster
гуру
04.09.17
✎
14:10
|
Прописать выражение ресурса Вида ЕстьNULL(Сумма(Ресурс),"Это NULL")
|
|||
11
Fragster
гуру
04.09.17
✎
14:10
|
результат: https://i.imgur.com/wfDVkz8.png
|
|||
12
ELEA26
04.09.17
✎
14:11
|
Сумма(Ресурс) null не выдаст же....
|
|||
13
Fragster
гуру
04.09.17
✎
14:12
|
еще формат у поля для нуля если задать, то вообще норм получается: https://i.imgur.com/gNyfyK4.png
|
|||
14
Fragster
гуру
04.09.17
✎
14:12
|
(12) ну долби дальше
|
|||
15
Вафель
04.09.17
✎
14:15
|
Чтобы отличить - нужно левое соединение делать: возможные пары и реальные количества
|
|||
16
Fragster
гуру
04.09.17
✎
14:16
|
(15) не нужно
|
|||
17
Fragster
гуру
04.09.17
✎
14:17
|
у меня текст запроса такой:
ВЫБРАТЬ "А1" КАК Строка, "Б1" КАК Колонка, 0 КАК Ресурс ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "А2", "Б1", 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "А1", "Б2", 1 |
|||
18
ELEA26
04.09.17
✎
14:21
|
А где
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "А2", "Б2", NULL Тоже выходит правильно? Не на чем сейчас проверить. |
|||
19
Fragster
гуру
04.09.17
✎
14:25
|
(18) да
|
|||
20
ELEA26
04.09.17
✎
14:34
|
А не. Виноват. Сумма null не считает, если хоть что-то есть. Если все измерение null - то да, будет null.
Виноват. Щас на MS SQL затестил и понял где не понял :) |
|||
21
onx1
04.09.17
✎
15:17
|
(10) за идею спасибо, но имелось ввиду что если "если по конретной паре нет записи - в таблице бы выводилось "нет".
То есть в начальной таблице нет записи: "А2", "Б2", NULL Видимо в такой постановке задачу только на СКД не решить. |
|||
22
mistеr
04.09.17
✎
15:26
|
(21) В выражении ресурса пропиши: если Количество(Котировка) = 0 то "нет" иначе Максимум(Котировка)
|
|||
23
Fragster
гуру
04.09.17
✎
15:26
|
(21) прочитай, что я пишу, еще раз. посмотри тексты запроса, картинки, которые получаются...
|
|||
24
Вафель
04.09.17
✎
15:27
|
(17) Оно конечно в запросе "гораздо лучше" текстом все создать )))
|
|||
25
Fragster
гуру
04.09.17
✎
15:33
|
(24) не понимаю, в чем претензия?
|
|||
26
Вафель
04.09.17
✎
15:41
|
Похоже на то как во времена 8.0 делали псевдо временные таблицы
|
|||
27
onx1
04.09.17
✎
15:55
|
(23) сорри, думал что (18) - это часть запроса
В вычисляемые поля я добавил поле Ресурс2=ЕстьNULL(Сумма(Ресурс),"Это NULL") но когда добавляю это поле на закладку "Ресурсы" при запуске отчета возникает ошибка "Использование вложенных агрегатных функций не допускается" |
|||
28
onx1
04.09.17
✎
16:05
|
Подскажи плиз, что ещё докрутить забыл?
|
|||
29
Вафель
04.09.17
✎
16:08
|
в вычисляемых полях нельзя использовать агрегатные функции типа СУММА.
пиши выражение прямо в ресурсах |
|||
30
onx1
04.09.17
✎
16:19
|
(29) Блин, все время забываю, что выражение в ресурсе можно не только из списка выбирать, но и самому писать.
Fragster, Вафель спасибо Вам за помощь. |
|||
31
Хрыч
04.09.17
✎
16:49
|
(21) зато легко можно сделать наоборот: условным оформлением проставлять 0, когда Котировка=0. А в случае NULL поле останется пустым
|
|||
32
Хрыч
04.09.17
✎
16:56
|
(29) Можно, только тогда в ресурсах в выражении надо указывать само вычисляемое поле, а не агрегатную функцию от него
|
|||
33
onx1
04.09.17
✎
17:24
|
(32) Полезное замечение, спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |