Неофициальный форум пользователей Qlik Sense & Qlikview

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: Tatsiana от 08 июня 2018, 01:51:10

Название: Оставить строку с пустым значением
Отправлено: Tatsiana от 08 июня 2018, 01:51:10
Всем привет!

Нужно в таблице оставить строку с незаконченным процессом, т.е. там где EndTime = '-'.

Load * Inline [
Machine, StartTime, EndTime, Duration,Describe
11111, 08.06.2018 08:32:48, -,  04:06:56, Process1
11111, 08.06.2018 08:32:42, 08.06.2018 08:32:48, 04:09:02, Process2
11111, 08.06.2018 08:31:19, 08.06.2018 08:32:42, 04:12:25, Process3
]

Мне казалось, что это так просто, но у меня ничего не получается.
Название: Re: Оставить строку с пустым значением
Отправлено: admin от 08 июня 2018, 02:17:34
Привет, а что не так?
Надо оставить именно одну строку где нет EndTime  ?
Название: Re: Оставить строку с пустым значением
Отправлено: Tatsiana от 08 июня 2018, 02:25:22
Я это понимаю, но как?

Название: Re: Оставить строку с пустым значением
Отправлено: millik от 08 июня 2018, 02:33:16
Цитата: Tatsiana от 08 июня  2018, 02:25:22  
Я это понимаю, но как?
where?
Where EndTime= '-'


Название: Re: Оставить строку с пустым значением
Отправлено: Tatsiana от 08 июня 2018, 02:56:02
Большое спасибо за ответ, но я не знаю как записать выражение с Where и нигде не могу найти примеров.
Не могли бы вы написать предложение полностью.
Название: Re: Оставить строку с пустым значением
Отправлено: millik от 08 июня 2018, 03:21:55
Load
*
Inline [
Machine, StartTime, EndTime, Duration,Describe
11111, 08.06.2018 08:32:48, -,  04:06:56, Process1
11111, 08.06.2018 08:32:42, 08.06.2018 08:32:48, 04:09:02, Process2
11111, 08.06.2018 08:31:19, 08.06.2018 08:32:42, 04:12:25, Process3
]
Where
EndTime = '-';
Название: Re: Оставить строку с пустым значением
Отправлено: Tatsiana от 08 июня 2018, 04:04:47
Спасибо, пример работает, но когда я вставляю в свою таблицу, то получаю сообщение об ошибке:
The following error occurred:
Connector reply error: SQL##f - SqlState: 22008, ErrorCode: 242, ErrorMsg: [Microsoft][SQL Server Native Client 11.0][SQL Server]The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

Формат даты изменила на
SET TimestampFormat='YYYY-MM-DD hh:mm:ss[.fff]';
Всё равно выдает ошибку.

Название: Re: Оставить строку с пустым значением
Отправлено: admin от 08 июня 2018, 07:42:02
У вас скорей всего идет запрос к MS SQL.
Какой текст запроса?
В sql нет понятия "пустая дата", в поле даты будет возвращаться дата по умолчанию, начальная.
Т.е. 0 это будет 01/01/1900 или другая,  стартовая для СУБД источника.
Название: Re: Оставить строку с пустым значением
Отправлено: Tatsiana от 11 июня 2018, 11:12:37
Спасибо!

В операторе Select:
Where EndTime is NULL

или  NullDisplay()

SET NullDisplay='<NULL>';
В операторе Load:
If(EndTime='<NULL>', EndTime) as EndTime

http://blog.atkcg.ru/qlik-sense-rabota-so-znacheniyami-null/ (http://blog.atkcg.ru/qlik-sense-rabota-so-znacheniyami-null/)