Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Преобразовать текст в дату

Коллеги, нужна помощь.

провайдер изменил формат отчета.

нужно преобразовать дату из текстового формата в дату.

Ковырялись в Клике (используем 11 версию) что-то не получается адекватно определить дату и время.

спасибо.

3 Replies
ovcharenko
Partner - Contributor II
Partner - Contributor II

Прямого преобразования такого фармата даты в клике нет. Но несколько манипуляций и получите дату. Решение в приложении. !

Not applicable
Author

Привет!

Сначала делаем меппинг месяцев а дальше преобразование:

MapMonth:

Mapping

load * inline [

TEST,        NUMBER

января,        01

февраля,    02

марта,        03

апреля,        04

мая,        05

июня,        06

июля,        07

августа,    08

сентября,    09

октября,    10

ноября,        11

декабря,    12

];

и

LOAD Num(Left([Фактическое время местоположения абонента], 1), 00) & '.' & MapSubString('MapMonth', SubField([Фактическое время местоположения абонента], ' ', 2)) & '.' & SubField([Фактическое время местоположения абонента], ' ', 3) as 01

FROM 12-15-2015-108.xls (biff, embedded labels, table is Отчет$);

Anna_Klimkova
Employee
Employee

 

Добрый день, Павел!

 

Можно немного схитрить (если в приложении в других местах не используются полные названия месяцев в именительном падеже)

 

и сделать вот так:

 

SET LongMonthNames='января;февраля;марта;апреля;мая;июня;июля;августа;сентября;октября;ноября;декабря';
Даты:
LOAD
date(date#([Фактическое время местоположения абонента],'DD MMMM YYYY г. hh:mm' )) as Тест
FROM пример.xls
(
biff, embedded labels, table is Отчет$);

 

  Прием для создания поля Тест используется при загрузке даты с форматом, не совпадающим с системным форматом, а точнее с форматом, указанном в начале скрипта в переменной  DateFormat, например:

   

SET DateFormat='DD.MM.YYYY';

  Сначала в маске функции date#() мы описываем формат даты в источнике , а затем применяем текущий формат с помощью функции date.