Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Предложите быстрый способ нахождения ошибки / 25 сообщений из 31, страница 1 из 2
10.04.2020, 07:23
    #39945684
dmitryk1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
В процессе работы и написания отчётов заметил, что самой распространённой проблемой в отчётах и при общении с пользователями является выяснение, по какой причине та или иная запись не попала в какой-то конкретный отчёт.

Если отчёт статистический, с группировками и сложными взаимодействиями, это может вылиться в довольно нудные поиски ключевого условия.
Обычно я делаю как, или пишу отчёт, где нет ограничений, но все условия прописаны в столбцах и отображаются логическими результатами, например:

отчёт выводящий только мужчин
Иванов И.И.
Петров П.П
Лу Джи Ян

проверочный:
ключ мужчина
Иванова И.И. нет
Петров П.П. да
Сидорова А.И. нет
Ху Джи Ян нет
Лу Джи Ян да


Такие запросы для пользователей всё равно не очень информативны (они умные, но кнопки на компах они не обязаны знать), особенно если подобных условий множество. Мне же эти отчёты дольше искать, нужны они не так чтобы часто, но обычно это бывает понадобится в самый неудобный и загруженный момент. И плюс к этому такие отчёты не только долго писать, больше занимаясь форматированием, но ещё и сложно поддерживать, потому что это надо ещё к изменению условия в основном отчёте поменять его и в дополнительном.

Собственно говоря и интересуюсь, какие у кого есть способы решения данной проблемы, помимо проверочного запроса и ручного исключения условий с подставленным айди, пока айди не появится и не выяснится условие, которому этот айди не соответствует. А там может быть ещё и несколько вложенных... Было бы так здорово автоматизировать этот процесс, без парсинга SQLя и генерации запроса с условиями.


Поделитесь знаниями, уважаемые!
...
Рейтинг: 0 / 0
10.04.2020, 07:29
    #39945685
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
dmitryk1
Было бы так здорово автоматизировать этот процесс, без парсинга SQLя и генерации запроса с условиями.
Дай пользователям доступ к исходным данным. Они, при надлежащей мотивации, легко найдут косяки в логике "отчётов".
dmitryk1
проверочного запроса
Заблуждения разработчика о предметной области только обострятся в "нём".
...
Рейтинг: 0 / 0
10.04.2020, 08:44
    #39945693
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
dmitryk1
например:

отчёт выводящий только мужчин
Иванов И.И.
Петров П.П
Лу Джи Ян

проверочный:
ключ мужчина
Иванова И.И. нет
Петров П.П. да
Сидорова А.И. нет
Ху Джи Ян нет
Лу Джи Ян да
Какой вывод позволила сделать приведенная проверка, что между отчетом и его проверкой Иванов(а) сменил пол?
...
Рейтинг: 0 / 0
10.04.2020, 12:17
    #39945784
dmitryk1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
-2-,

Иванов и Иванова - отличаются. Но вы правы, мне стоило написать более полный пример, где встречаются Иванов и Иванова соответственно с разными полами.
...
Рейтинг: 0 / 0
10.04.2020, 12:21
    #39945786
dmitryk1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
Elic
Дай пользователям доступ к исходным данным. Они, при надлежащей мотивации, легко найдут косяки в логике "отчётов".

Если им дать ещё и возможность править то, в чём они разобрались, то смело можно им передать обязанности по разработке запросов а самому идти ... в другое место.
Elic

Заблуждения разработчика о предметной области только обострятся в "нём".


Ну, если в проверочном отчёте ещё и помечать все неподходящие условия, то разбираться будет не сложно. И если для отчёта требуются мужчины, а в проверочном вывести подсвеченными все поля характеризующие женщин, то проверяющему будет проще, гораздо проще найти проблему.
...
Рейтинг: 0 / 0
10.04.2020, 12:56
    #39945807
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
dmitryk1
Если им дать ещё и возможность править то, в чём они разобрались, то смело можно им передать обязанности по разработке запросов а самому идти ... в другое место.
Запретить тебе делать что-либо, что тебе не советовано, сложно.
dmitryk1
то проверяющему будет проще, гораздо проще найти проблему.
Звучит так, что ты, зная о проблеме в основном отчёте, предлагаешь заказчику/работодателю оплатить ещё один исключительно вспомогательный отчёт, помогающий увидеть проблему в основном. Крайне странно. Неужели за такой развод заплатят?
А по следующей проблеме ты сперва поймёшь её, а потом предложишь ещё один отчётик, помогающий её увидеть, вместо того, чтобы просто её исправить?
...
Рейтинг: 0 / 0
10.04.2020, 14:45
    #39945868
Кобанчег
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
dmitryk1
Было бы так здорово автоматизировать этот процесс
Автоматизировать можно только если ты в состоянии внятно и более-менее формально сформулировать требования автоматизции: что есть и что требется.
Вероятно, если наступит просветление, то придет понимание что нужна не автоматизация, а упрощение.

Если с SQL совсем туго, то выгрузи базовую таблицу в эксель.
Там можно мышкой применять фильтр к любой колонке таблицы и смотреть остальные атрибуты.
Очень удобно! Все доярки и комбайнеры в моем колхозе крайне довольны.
...
Рейтинг: 0 / 0
10.04.2020, 14:49
    #39945870
dmitryk1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
Elic

Звучит так, что ты, зная о проблеме в основном отчёте, предлагаешь заказчику/работодателю оплатить ещё один исключительно вспомогательный отчёт, помогающий увидеть проблему в основном. Крайне странно. Неужели за такой развод заплатят?
А по следующей проблеме ты сперва поймёшь её, а потом предложишь ещё один отчётик, помогающий её увидеть, вместо того, чтобы просто её исправить?


Как вы меня!
Вообще проблемы бывают и в исходных данных. Когда сами заказчики утверждают, что сантехники никогда электрикой не занимаются. А потом прибегают в ужасе с вопросом в глазах: как так у нас сантехник попал в списки электриков на оплату. И вот так роешься, ищешь, находишь, что ему было назначено поменять лампочку, что он успешно и сделал. И после какого-то периода поисков и дальнейших разборок выясняется, что сантехник Петров ещё когда-то спал рядом с комнатой где учили электриков и ему доверяют менять лампочки, но вот добавлять его к электрикам никак нельзя потому, что ... электрики только рыжие.
И это возникает с достаточно хорошей регулярностью. И даже предварительные уточнения на тему "а точно никогда, а если вот редко, а на полшишечки? Тоже нельзя. А если свет выключив? Можно? Но только этому? А другому?" тоже не спасают на сто процентов. Тем более, что многое зависит не только от нас и наших идей, но и от головной организации, которое после многих лет разделения сантехников и электриков их объединяет. А спустя месяц после переписывания всех отчётов - разъединяет обратно.

Так что не судите. Лучше помогите, если есть чем.
...
Рейтинг: 0 / 0
10.04.2020, 14:57
    #39945876
dmitryk1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
Кобанчег
Автоматизировать можно только если ты в состоянии внятно и более-менее формально сформулировать требования автоматизции: что есть и что требется.
Вероятно, если наступит просветление, то придет понимание что нужна не автоматизация, а упрощение.

Если с SQL совсем туго, то выгрузи базовую таблицу в эксель.
Там можно мышкой применять фильтр к любой колонке таблицы и смотреть остальные атрибуты.
Очень удобно! Все доярки и комбайнеры в моем колхозе крайне довольны.


Я в состоянии внятно и чётко определить, что требуется:
нужен отчёт, который на основании запроса и айди будет выводить список критериев, по которому данный айди не попадает в результат этого запроса. Отчёт должен использоваться, в идеале, человеком, который не в состоянии установить адблок в хроме, и вызывает для этого специалиста, или, в худшем случае мною, не тратя время на воспоминания, что это за отчёт, какие там условия, какие условия в связанных вьюшках, не переключаясь надолго от другой работы и выдавая, практически мгновенно результат, понятный вышеописанному пользователю. И да, отчёт не должен занимать время на поддержку, или занимать минимум, в идеале, чтобы я просто менял оригинальные запросы по мере необходимости, а результат в отчёте выводился без его дополнительных изменений для изменённых запросов.
...
Рейтинг: 0 / 0
10.04.2020, 15:40
    #39945901
Кобанчег
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
dmitryk1
Я в состоянии внятно и чётко определить, что требуется:
нужен отчёт, который на основании запроса и айди будет выводить список критериев, по которому данный айди не попадает в результат этого запроса.
Прекрасно, это уже боле внятно, но по прежнему не очень формально.
Итак у тебя есть отчет и имеется претензия от пользователя который ожидает строки с определенным ключами, а их нет.
Поскольку отчет статичен и соответственно фильтры в нем тоже, то пишешь запрос из базовой таблицы
добавляя в select list флажки, которые показывают истинность для каждого из предикатов фильтра.
...
Рейтинг: 0 / 0
10.04.2020, 16:29
    #39945910
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
dmitryk1,

авторПредложите быстрый способ нахождения ошибки

имхо
от ошибки зависит
быстрого не бывает, можно сутками искать если плавающая

вернее, бысто для простой ошибки/недосмотра

иногда сразу делают две формы/отчета (красивый для юсера и расcширенный для "аналитиков" разбора полетов), но их и поддерживать надо

....
stax
...
Рейтинг: 0 / 0
10.04.2020, 17:28
    #39945941
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
dmitryk1
нужен отчёт, который на основании запроса и айди будет выводить список критериев, по которому данный айди не попадает в результат этого запроса.
Чудак, ты понимаешь, что условий, по которым строка может не попасть - тыщи тыщ. И тебе не удастся выбить финансирование на твой мегаотчётичек.
...
Рейтинг: 0 / 0
10.04.2020, 17:54
    #39945954
dmitryk1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
Кобанчег
Поскольку отчет статичен и соответственно фильтры в нем тоже, то пишешь запрос из базовой таблицы
добавляя в select list флажки, которые показывают истинность для каждого из предикатов фильтра.


Именно про это речь!
Сейчас я именно так и пишу, или, скорее, делаю, чтобы самому это выяснить, исключая различные условия в запросе, а потом виискивая конкретное значение. И вот хотелось бы именно автоматизировать или написание- генерацию "запроса из базовой таблицы" чтобы не писать это вручную каждый раз.
Вообще я хотел узнать как в принципе с такой проблемой справляются другие разработчики, но, чувствую, те кто бывает на этом форуме не сталкиваются с такой проблемой... Как ни странно.

В общем идея неплохая, использую, но ищу что-то более... лучшее. В конце концов я программист, или руками это должен переделывать? (шутка, если чего)
...
Рейтинг: 0 / 0
10.04.2020, 17:58
    #39945956
dmitryk1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
Elic
Чудак, ты понимаешь, что условий, по которым строка может не попасть - тыщи тыщ. И тебе не удастся выбить финансирование на твой мегаотчётичек.


Где тут смайлик фейспалма?
Чудак, не всё деньгами в этом мире меряется. Я ищу способ освободить себе время для просмотра ютубика в рабочее время, вместо переписывания написанного отчёта.
Такой повод норм? Или только бабки, только хардкор?


И кстати, "условий, [...] - тыщи тыщ" это ли не повод переложить анализ на компуктер?
...
Рейтинг: 0 / 0
10.04.2020, 18:08
    #39945959
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
dmitryk1
это ли не повод переложить анализ на компуктер?
Уверен, что он угадает твою мегаидею?
...
Рейтинг: 0 / 0
10.04.2020, 18:16
    #39945961
dmitryk1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
Elic
dmitryk1
это ли не повод переложить анализ на компуктер?
Уверен, что он угадает твою мегаидею?


Думаю я смогу ему объяснить. Главное мне понять - что объяснять. Вручную рыть мне уже надоело, парсить запрос, и рисовать на его основе условия, которые можно будет выводить как проверочные - то что надо, но мне показалось это слишком сложным и я понадеялся на мировой разум, который объяснит мне, что есть очень простой и быстрый способ, который я, такой глупец, не замечал долгих много времени.

И я всё надеюсь, что тут промелькнёт идея, которую я уже смогу объяснять компьютеру.
...
Рейтинг: 0 / 0
10.04.2020, 18:16
    #39945962
Кобанчег
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
dmitryk1
Вообще я хотел узнать как в принципе с такой проблемой справляются другие разработчики, но, чувствую, те кто бывает на этом форуме не сталкиваются с такой проблемой... Как ни странно.
Ты всё правильно понял!
Не твоего поля ягоды.
...
Рейтинг: 0 / 0
10.04.2020, 18:33
    #39945971
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
dmitryk1
И я всё надеюсь, что тут промелькнёт идея, которую я уже смогу объяснять компьютеру.

Привести отчетные данные к схеме Star или, в крайнем случае, к snowflake.
Это не только серьезно упрощает многие вопросы отчетности, но и позволит использовать инструментарий BI, который склонен радикально снижать потребность в разработке отчетов как таковых.
...
Рейтинг: 0 / 0
10.04.2020, 18:35
    #39945972
Кобанчег
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
dmitryk1
Думаю я смогу ему объяснить. Главное мне понять - что объяснять. Вручную рыть мне уже надоело, парсить запрос, и рисовать на его основе условия, которые можно будет выводить как проверочные - то что надо, но мне показалось это слишком сложным и я понадеялся на мировой разум, который объяснит мне, что есть очень простой и быстрый способ, который я, такой глупец, не замечал долгих много времени.

И я всё надеюсь, что тут промелькнёт идея, которую я уже смогу объяснять компьютеру.
Проблема не в отсутствии идей, а в тугом восприятии.

Если задача в проверке, правильно ли были переведены фильтры с человеческого языка на язык эскуэль,
то ты можешь все фильтры определить в виде столбцов в некоторой вьюхе (которую сделать доступной пользователям) типа
Код: plaintext
case when фильтр then 1 else 0 end rule_xx
и в самой логике использовать предикаты типа rule_xx = 1.

Но если бы всё так можно было автоматизировать, то от тебя бы избавились как от бесполезного звена системы.
А ты ценный, полезный и незаменимый работник!
...
Рейтинг: 0 / 0
11.04.2020, 09:40
    #39946123
dmitryk1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
Кобанчег
а в тугом восприятии


Ну, что-то я не заметил, чтобы вы тут гениальными идеями сыпали, которые я, такой глупый, не могу понять. Пока что все ваши предложения - тупая разработка вручную запросов, проверяющих другие запросы, действие, очевидно приходящее в голову любому, кому потребуется что-то разобрать и от чего я хочу как раз уйти.

Кобанчег
в некоторой вьюхе (которую сделать доступной пользователям)

Это та ручная схема от которой я сейчас и хочу уйти.

Кобанчег
Но если бы всё так можно было автоматизировать, то от тебя бы избавились как от бесполезного звена системы.
А ты ценный, полезный и незаменимый работник!

Избавились бы не от меня, а от тех, кто до этого не то, чтобы не додумался, а готов вручную молотить вьюшки не вспоминая о том, что он программист, а затем вручную же поддерживать всю получившуюся инфраструктуру, которая будет постоянно меняться, более того, всё это требуется не слишком часто, поэтому большая часть всей подобной работы будет бессмысленна.

Так что вариант сделать вручную отметается, как исходный. Тот, от которого требуется уйти.
Хочу кнопку - "работать". И чтобы всё само сработало, нашло, объяснило и подсказало. Но, динамически. И это я готов написать.
...
Рейтинг: 0 / 0
11.04.2020, 09:47
    #39946124
dmitryk1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
andrey_anonymous

Привести отчетные данные к схеме Star или, в крайнем случае, к snowflake.
Это не только серьезно упрощает многие вопросы отчетности, но и позволит использовать инструментарий BI, который склонен радикально снижать потребность в разработке отчетов как таковых.


Данные к схеме Star приводятся. Над инструментарием немножко думали, но как-то несерьёзно. Надо будет повнимательнее посмотреть в этом направлении.
Спасибо, буду копать, изучать. Это немножко другое развитие всей истории, чем то, на что я рассчитывал :) Несколько более глобально, чем я рассчитывал.

Но спасибо.
Может что-то конкретное и желательно бесплатное, хотя бы в усечённом виде, порекомендуете?
...
Рейтинг: 0 / 0
11.04.2020, 12:32
    #39946136
Кобанчег
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
dmitryk1
тупая разработка вручную запросов, проверяющих другие запросы, действие, очевидно приходящее в голову любому
Ну сделай динамическую генерацию проверяющих запросов, тебе благословления не хватало?

На абстрактную проблему получаешь абстрактное решение и это то, что ты не в состоянии понять.

Ниже ты отвечаешь что схема звезда - глобальное развитие всей истории.
Только не понятно чем это помогает в проверке фильтров по сравнению с банальной выгрузкой в Эксель и навешивании фильтров там, что тебе уже было посоветовано.
...
Рейтинг: 0 / 0
11.04.2020, 15:35
    #39946166
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
Кобанчег
Только не понятно чем это помогает в проверке фильтров по сравнению с банальной выгрузкой в Эксель и навешивании фильтров там, что тебе уже было посоветовано.

Помогает, как ни странно.
В корректной "звезде" нет возможности продолбать строчку или, скажем, удвоить обычными BI-инструментами.
По любому агрегату можно элементарно получить детализацию.
И это не требует кодирования, с задачей справится любой аналитик, имеющий базовый навык гуевого мышевозилы.
А excel... Он хорош. До некоторого объема. Потом становится страшно плох и далек от народа :)
...
Рейтинг: 0 / 0
11.04.2020, 16:08
    #39946173
Кобанчег
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
andrey_anonymous
Кобанчег
Только не понятно чем это помогает в проверке фильтров по сравнению с банальной выгрузкой в Эксель и навешивании фильтров там, что тебе уже было посоветовано.

Помогает, как ни странно.
В корректной "звезде" нет возможности продолбать строчку или, скажем, удвоить обычными BI-инструментами.
По любому агрегату можно элементарно получить детализацию.
И это не требует кодирования, с задачей справится любой аналитик, имеющий базовый навык гуевого мышевозилы.
А excel... Он хорош. До некоторого объема. Потом становится страшно плох и далек от народа :)
Если отчетики строятся средствами BI, то несомненно раскопки вести этими средствами проще.
Если же предполагается поддерживать отчетики написанием эскуэль, то BI здесь как рыбе зонтик.
Эксель даже на паршивеньком компе в наши дни вмиг применяет фильтры хоть на 100к строк.
Есть определенные сомнения что у ТС вообще столько данных, но даже если это так никто не мешает немного ограничить до выгрузки.
Я, впрочем, ничего не навязываю. Если у кого хрустальный шар лучше - прекрасно!
...
Рейтинг: 0 / 0
11.04.2020, 17:01
    #39946189
dmitryk1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предложите быстрый способ нахождения ошибки
Кобанчег
Ну сделай динамическую генерацию проверяющих запросов


Мне это показалось достаточно сложной задачей и я решил поискать более простые пути. Особенно если учесть структуру некоторых запросов, которая весьма сильно накручена адской смесью вьюшек, таблиц, вложенных запросов и подзапросов с группировками и групповыми манипуляциями.

Кобанчег
тебе благословления не хватало?

На абстрактную проблему получаешь абстрактное решение и это то, что ты не в состоянии понять.


Действительно не понимаю с какой целью пытаться оскорбить кого-то обхамить и попытаться унизить? Ты смотри, могут же "и по айпи вычислить" :)

Кобанчег
Ниже ты отвечаешь что схема звезда - глобальное развитие всей истории.
Только не понятно чем это помогает в проверке фильтров по сравнению с банальной выгрузкой в Эксель и навешивании фильтров там, что тебе уже было посоветовано.


Ещё раз. Я хочу самоустраниться от этой проблемы. Если все твои пользователи с лёгкостью готовят данные для экселя, выгружают, строят графики и сводные таблицы, я очень рад за тебя и даже немного завидую. У меня не хватает совести сказать своим - "вот вам эксель и ..тесь как хотите". Они хорошие специалисты в своей области и у них хватает своих забот, поэтому если я смогу сделать что-то что разгрузит меня, но не нагрузит их, я постараюсь это сделать.
И здесь я только чтобы узнать разные варианты, которые могут быть полезными. А с оскорблениями и хамством вам, вероятно, стоит в группу ватсапа своего класса пойти. Думаю одноклассники привычны.

Если же ты взрослый и "состоявшийся человек" которые так реагирует на простой вопрос (а вопрос задаёт всегда тот, кто что-то не знает и хочет узнать) то прямо жалко мне ваших коллег... Там, если подойдут и спросят, тоже ушат помоев на головы? Или в лицо вы более сдержаны?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Предложите быстрый способ нахождения ошибки / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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