Неофициальный форум разработчиков QlikView и Qlik Sense

Форум разработчиков QlikView и Qlik Sense. Получи любые ответы на вопросы по QlikView и Qlik Sense в течении нескольких часов!

Вы не вошли.

Готовые решения на платйорме QlikView

#1 2016-01-20 13:10:36

Yulia
Участник
Зарегистрирован: 2016-01-13
Сообщений: 34
Windows XPChrome 47.0.2526.111

Удаление временных таблиц

Добрый день!

Использую временные таблицы при расчетах внутри QlikView и столкнулась с проблемой: возникла ситуация, когда во временную таблицу ничего не записалось. А после использования временной таблицы пишу
Drop Table tempTable1;
что соответственно вываливается на ошибку, так как таблица пуста - в нее ничего не было записано, она не была создана и соответственно уничтожать нечего.

Можно ли перед выполнением этой строки, проверить, есть ли в таблице данные, какой функцией?

Заранее спасибо!


новичок в QlikView

Неактивен

#2 2016-01-20 15:36:51

Prive
Участник
Зарегистрирован: 2015-12-18
Сообщений: 27
Windows 7Mozilla 5.0

Re: Удаление временных таблиц

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

Второй способ - через количество строк в таблице:

let ehhh  = NoOfRows('ll');
if ehhh > 0 then
    TRACE Таблица существует;
Else
    TRACE Таблица не существует;

Неактивен

#3 2016-01-20 16:30:53

Yulia
Участник
Зарегистрирован: 2016-01-13
Сообщений: 34
Windows XPChrome 47.0.2526.111

Re: Удаление временных таблиц

Спасибо, попробую.

А чего-нибудь наподобие
try
   drop table Tbl1;
except
   TRACE Таблица не существует;
end

в QV нет?


новичок в QlikView

Неактивен

#4 2016-01-20 17:43:54

Prive
Участник
Зарегистрирован: 2015-12-18
Сообщений: 27
Windows 7Mozilla 5.0

Re: Удаление временных таблиц

Yulia пишет:

Спасибо, попробую.

А чего-нибудь наподобие
try
   drop table Tbl1;
except
   TRACE Таблица не существует;
end

в QV нет?

Нет, обработки исключений в таком виде нет.

Неактивен

#5 2016-01-21 15:36:51

Oleg Orlov
Участник
Зарегистрирован: 2015-02-16
Сообщений: 14
Windows 8Firefox 43.0

Re: Удаление временных таблиц

Добрый день!

Также для проверки можно использовать функцию TableNumber(), возвращающую номер таблицы в модели QlikView.
Пример:

if IsNum(TableNumber('Таблица')) then
    Drop Table [Таблица];
    Trace Table 'Таблица' is successfully dropped;
else
    Trace Table 'Таблица' is not dropped because it does not exist;
end if

С уважением,
Орлов Олег

Неактивен

Сейчас в этой теме форумчан: 0, гостей: 1
[Bot] AppleWebKit

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.009 сек, 9 запросов выполнено - Использовано памяти: 1.61 Мбайт (Пик: 1.73 Мбайт) ]