powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Есть ли методы для получения условий выбора данных из DW ?
19 сообщений из 19, страница 1 из 1
Есть ли методы для получения условий выбора данных из DW ?
    #39548693
Bor159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день

Подробнее - в DW есть функция GetSqlSelect() возвращающая актуальный select. Добавил условия в DW - в вывод этой функции тоже добавились соответствующие условия.
Собственно вопрос - есть методы чтобы получить не весь select, а именно добавленные условия.
(Получение 'разницы' вывода GetSqlSelect до добавления условий и после представляется ненадежным - 'съедут' пробелы, табуляция и т.д.)
PB 10.0.
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39549912
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bor159,
А какова цель этого упражнения?
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39549974
Bor159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Филипп,
Надо вычислить 'свою' функцию от выбранных данных. В данном случае количество разных элементов в столбце.
Как вариант решения - сделать SELECT DISTINCT c WHERE таким же как в DW. Чтобы собрать правильный WHERE нужен вышеназванный метод.
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39550112
Фотография ChV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bor159,
возможно я Вас не правильно понял, но данный метод Вам придется создавать самому.
Есть возможность облегчить настройку и тестирование DW.
Давным давно Филипп ( если не ошибаюсь. Если ошибаюсь, то искренне извиняюсь перед автором ) выкладывал на форуме ряд объектов замечательно подходящих для отладки и работы с datawindow, datastore, datawindowchild.
Работа через функцию f_Display_dao_debugger.
До сих пор её с удовольствием использую.
Использую или добавляя, при отладке, в скрипт, или, если позволяет проект, можно вызывать из общего предка по сочетанию клавиш, выбирая, например, DW на котором находится фокус.
Визуально это выглядит так :
Содержимое объекта ( dw, ds, dwc) отображается в трех вкладках :
• Data
-----------o Красным цветом отображаются модифицированные поля ( данные внесены, но update еще не было ).
-----------o Отображаются данные в буферах :
.........................PrImary
.........................Deleted
.........................Filtered
-----------o Данные из объекта можно сохранить в нескольких форматах
• Describe
-----------o Отображает свойства
.........................самого объект ( Attributes, SQL, ... )
.........................его полей
.........................других визуальных объектов ( текстовые поля, кнопки, ... )
• Functions. Набор функций работы с объектом :
-----------o DeleteRow
-----------o InsertRow
-----------o GetItem
-----------o SetItem
-----------o Modify
-----------o Retrieve
-----------o RowCount

Т.е. можно просмотреть и модифицировать свойства и изменить данные рассматриваемого объекта в режиме отладки.
Правее вкладок отображается наименование текущего DataObject просматриваемого объекта. Но оно отображается в выпадающем списке. Если Объект использует datawindowchild, то они отображаются в э этом выпадающем списке и можно сразу перейти к просмотру и редактированию любого из этих DWC.
Т.к. есть исходники, то легко можно добавлять свои объекты и функции, необходимые для работы.
Я, например, добавил в новые вкладки - перечень предков объектов и адреса библиотек, в которых они расположены, а так же сразу вкладку с SQL, чтобы не искать её в свойствах объекта.

Приношу заранее извинения автору, если что-то описал не верно.
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39550130
Фотография ChV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажется я вступил на "тонкий лед".
На форуме я эту функцию сейчас не нашел. И не дай Бог, ( дело-то было очень давно ) если автором окажется другой.
Делились тогда охотно своими наработками.
Прошу меня поправить.
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39550166
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
09.11.2017 12:14, ChV пишет:

> И не дай Бог, ( дело-то было очень давно ) если автором окажется другой.

Не думаю, что в этом случае небо упадёт на землю :).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39550543
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChV, Ни б, я выкладывал
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39550545
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bor159Филипп,
Надо вычислить 'свою' функцию от выбранных данных. В данном случае количество разных элементов в столбце.
Как вариант решения - сделать SELECT DISTINCT c WHERE таким же как в DW. Чтобы собрать правильный WHERE нужен вышеназванный метод.
Ни хрена не понял. Вам надо WHERE CLAUSE поменять? Вы окошко поиска делаете?
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39550641
Bor159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Филипп,
Есть форма, на ней DW с SELECT f1, f2, ..., fn FROM t1 JOIN t2 ON ...... WHERE ..... .
Надо на эту форму вывести SELECT COUNT(*) FROM (SELECT DISTINCT fk FROM t1 JOIN t2 ON ...... WHERE .....)
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39551342
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странный вопрос для такой простой задачи
Может вам просто нужно количество уникальных строк в dw?
Совсем необязательно перезапрашивать БД для этого
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39553956
Bor159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spas2001
мне нужно количество уникальных значений в столбце
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39554087
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Достаточно сделать сортировку и наложить фильтр
Потом посчитать количество строк в dw
Примерно так
Код: sql
1.
2.
3.
4.
5.
6.
long ll_count
dw.SetSort("(If(isNull(column),'',column) a")
dw.Sort()
dw.SetFilter( "(If(isNull(column),'',column) <> if(isNull(column[-1]),'',column[-1]) or GetRow () = 1 )")
dw.Filter()
ll_count = dw.rowcount()
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39554090
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Снять фильтр потом не забудьте
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39554095
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код набросал для строкового столбца
Для числового соответственно в IsNull поставьте 0 или -1 вместо пустой строки
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39554111
Фотография ChV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001Достаточно сделать сортировку и наложить фильтр
Потом посчитать количество строк в dw
Примерно так
Код: sql
1.
2.
3.
4.
5.
6.
long ll_count
dw.SetSort("(If(isNull(column),'',column) a")
dw.Sort()
dw.SetFilter( "(If(isNull(column),'',column) <> if(isNull(column[-1]),'',column[-1]) or GetRow () = 1 )")
dw.Filter()
ll_count = dw.rowcount()


Красиво. Жалко сам не додумался раньше.
Только Bor159, скорее всего, не стоит трогать DW, которая отображается в окне, а скопировать все в DataStore и обработку сделать в ней.

Good Luck !
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39554209
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не хочу вас расстраивать, но тынц .
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39554571
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Марк, а кто сказал, что расстраиваешь))
Да, точно, самое быстрое сделать evaluate переменной
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39554585
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то так
Код: sql
1.
ll_count = long(dw.Describe(“Evaluate(‘LookupDisplay(Count( X for all DISTINCT))”, 1)”))
...
Рейтинг: 0 / 0
Есть ли методы для получения условий выбора данных из DW ?
    #39557266
Bor159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем, многого в PB еще не знаю.

Вопрос -
есть форма, на ней DW со следующим Select-ом
------------- < Запрос 1 > ----------------------------------------
SELECT < список полей и вложенных запросов >
FROM < JOIN нескольких таблиц 1 >
WHERE < постоянная часть WHERE CLAUSE >
< переменная часть WHERE CLAUSE >
-------------

Надо вывести на ту же форму
------------- < Запрос 2 > ----------------------------------------
SELECT COUNT(*) AS cnt
FROM (SELECT DISTINCT dba.b4.f1
FROM < JOIN нескольких таблиц 1 >
< дополнительный JOIN >
WHERE < постоянная часть WHERE CLAUSE >
< переменная часть WHERE CLAUSE >
) tmp
----------------

Причем
< Запрос 1 >.< JOIN нескольких таблиц 1 > = < Запрос 2 >.< JOIN нескольких таблиц 1 >;
< Запрос 1 >.< переменная часть WHERE CLAUSE > = < Запрос 2 >.< переменная часть WHERE CLAUSE > и равна условиям которые пользователь выбрал для DW;
таблицы dba.b4 нет в < JOIN нескольких таблиц 1 >;
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Есть ли методы для получения условий выбора данных из DW ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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