Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Ноябрь 17, 2018, 03:43:25 pm

Автор Тема: Объединение таблиц из csv  (Прочитано 1902 раз)

Оффлайн asdlegioner

  • Наставник
  • **
  • Сообщений: 63
  • Рейтинг: +2/-0
    • Просмотр профиля
Объединение таблиц из csv
« : Ноябрь 12, 2014, 12:25:23 am »
Помогите решить проблему. Есть cvs файл с данными по заказчикам в нем Фамилия Имя Отчество вынесены в отдельные столбцы, как их можно объединить скриптом при загрузке данных в один столбец? И доп. вопрос, поле дата выгружаться с указанием даты и времени в одном столбце, как в этом случае исключить время из поля дата?


Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1215
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
Re: Объединение таблиц из csv
« Ответ #1 : Ноябрь 12, 2014, 08:48:26 am »
Доброе утро.
По объединению строк.
Существуют текстовые операторы, &и like
Первый из них (амперсанд - &) возвращает строку из строковых значений. Т.е.
Фамилия &' '& Имя &' '& Отчество as [ФИО]даст нам необходимый результат.
Что касается исключения значений времени из поля Дата создания.
Существует функция date(expression [ , format-code ]) ,
которая форматирует expression как дату по шаблону format-code. Если  format-code не указан, то используется формат даты, установленной в исполняемой среде (по умолчанию SET DateFormat='DD.MM.YYYY' ).

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1215
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
Re: Объединение таблиц из csv
« Ответ #2 : Ноябрь 12, 2014, 09:38:58 am »
Дополню.
При импорте из формата CSV поле может восприниматься как текстовое.
В этом случае потребуется интерпретация из текстового формата в формат даты функцией date#(expression [ , format-code ])
часы и минуты просто игнорируем и получаем:
date( Date#( left([Дата создания],10),'DD.MM.YYYY'),'DD.MM.YYYY') as [ДатаСоздания]Еще вариант, с использованием timestamp#
date(Timestamp#([Дата создания], 'DD.MM.YYYY hh:mm' )) as [ДатаСоздания]Есть еще вариант, с использованием функции Makedate, он не для этой ситуации но результат будет тот же.
MakeDate(Mid([Дата создания],7,4),mid([Дата создания],4,2),left([Дата создания],2))  as [ДатаСоздания]

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

Re: Объединение таблиц из csv
« Ответ #2 : Ноябрь 12, 2014, 09:38:58 am »

Оффлайн asdlegioner

  • Наставник
  • **
  • Сообщений: 63
  • Рейтинг: +2/-0
    • Просмотр профиля
Re: Объединение таблиц из csv
« Ответ #3 : Ноябрь 12, 2014, 10:17:49 am »
Спасибо за помощь, все получилось.

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

Re: Объединение таблиц из csv
« Ответ #3 : Ноябрь 12, 2014, 10:17:49 am »