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

Автор Тема: Не знаю как добавить несколько файлов в 1 проект (Qlikview, Sense, 1c)  (Прочитано 1019 раз)

Оффлайн SEGA

  • Новичок
  • *
  • Сообщений: 13
  • Страна: by
  • Рейтинг: +0/-0
    • Просмотр профиля
Всем доброго дня! У меня появилась новая проблема связанная  с тем что есть куча exel документов выгруженные из 1С соответственно все поля в них сделаны по стандарту. Скрипт для обработки данных у меня может обрабатывать только те документы которые вписал в скрипт. ВОПРОС Такой!!! могу ли я или через скрипт(ОДИН РАЗ ПРОПИСАТЬ И БОЛЬШЕ НЕ ЛАЗИТЬ В СКРИПТ) или через другие функции ДОБАВЛЯТЬ  кучу этих документов в одни проект что бы не лазить постоянно в скрипт и там не прописывать новые пути к файлам!!!

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1215
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
Привет, можно, но надо приводить все к одному стандарту.

Оффлайн SEGA

  • Новичок
  • *
  • Сообщений: 13
  • Страна: by
  • Рейтинг: +0/-0
    • Просмотр профиля
Все данные находятся в одном стандарте это 1С просто подскажите через какие функции или хотя бы направление в котором нужно следовать что бы сделать эту задачу

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


Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1215
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
1c файловая или SQL?
Файлы можно грузит по маске если они одинакового формата и структуры,
load * from Выручка*.qvd (qvd);Загрузит все файлы Выручка2017, Выручка2015, Выручка202222, ВыручкаУдалить и т.д.

Оффлайн SEGA

  • Новичок
  • *
  • Сообщений: 13
  • Страна: by
  • Рейтинг: +0/-0
    • Просмотр профиля
t1:
LOAD Номенклатура, Поставщик, Штрихкод, Количество, PRICEN, Цена_в_рос., ARTICUL
FROM [C:\Users\ASU\Desktop\ПРОЕКТЫ QLIK\АСТАНА\НА_АСТАНУ.xls]
(biff, embedded labels, table is [0353704$], filters(
Remove(Col, Pos(Top, 25)),
Remove(Col, Pos(Top, 23)),
Remove(Col, Pos(Top, 21)),
Remove(Col, Pos(Top, 20)),
Remove(Col, Pos(Top, 19)),
Remove(Col, Pos(Top, 18)),
Remove(Col, Pos(Top, 17)),
Remove(Col, Pos(Top, 13)),
Remove(Col, Pos(Top, 12)),
Remove(Col, Pos(Top, 11)),
Remove(Col, Pos(Top, 10)),
Remove(Col, Pos(Top, 9)),
Remove(Col, Pos(Top, 8)),
Remove(Col, Pos(Top, 7)),
Remove(Col, Pos(Top, 6)),
Remove(Col, Pos(Top, 5)),
Remove(Col, Pos(Top, 4)),
Remove(Col, Pos(Top, 3))
));
DIRECTORY;
left join (t1)

LOAD Штрихкод, [Количество товаров], Период
FROM [C:\Users\ASU\Desktop\ПРОЕКТЫ QLIK\АСТАНА\Продажи*.xls]
(biff, embedded labels, table is TDSheet$, filters(
Remove(Col, Pos(Top, 12)),
Remove(Col, Pos(Top, 11)),
Remove(Col, Pos(Top, 10)),
Remove(Col, Pos(Top, 9)),
Remove(Col, Pos(Top, 6)),
Remove(Col, Pos(Top, 5)),
Remove(Col, Pos(Top, 4)),
Remove(Col, Pos(Top, 3)),
Remove(Col, Pos(Top, 2)),
Remove(Col, Pos(Top, 1)),
Remove(Row, Pos(Top, 10)),
Remove(Row, Pos(Top, 9)),
Remove(Row, Pos(Top, 8)),
Remove(Row, Pos(Top, 6)),
Remove(Row, Pos(Top, 5)),
Remove(Row, Pos(Top, 4)),
Remove(Row, Pos(Top, 3)),
Remove(Row, Pos(Top, 2)),
Remove(Row, Pos(Top, 1))
));

DIRECTORY;

left join (t1)
 load Штрихкод,
num(Количество)-num("Количество товаров") as Остаток,
num(Цена_в_рос.)*num("Количество товаров") as Сумма_реализации
resident t1;

left join (t1) 
load Штрихкод,
NUm(Остаток)/num(Количество)*100 as Процент
resident t1;

Не получилось показывает только первый документ в папке а все остальные игнорит

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








Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1215
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
Для начала, следует отладить загрузку из файлов Продажи*.xls в одну таблицу.
Загрузка простых таблиц Excel по маске без преобразований работает без проблем.

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1215
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
Если не получится по маске - сделайте загрузку в цикле.

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


Оффлайн SEGA

  • Новичок
  • *
  • Сообщений: 13
  • Страна: by
  • Рейтинг: +0/-0
    • Просмотр профиля
Загрузка в цикле не получится так как документы будут постоянно добавляться а по поводу 1 варианта можете хотя бы примерчик подкинуть а то вообще не соображаю как и что буду очень благодарен 

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1215
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1215
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
по вашему коду.
Вы грузите по маске с присоединением. Так нельзя.
Сначала сделайте без join
LOAD Штрихкод, [Количество товаров], Период
FROM [C:\Users\ASU\Desktop\ПРОЕКТЫ QLIK\АСТАНА\Продажи*.xls]
(biff, embedded labels, table is TDSheet$, filters(
Remove(Col, Pos(Top, 12)),
Remove(Col, Pos(Top, 11)),
Remove(Col, Pos(Top, 10)),
Remove(Col, Pos(Top, 9)),
Remove(Col, Pos(Top, 6)),
Remove(Col, Pos(Top, 5)),
Remove(Col, Pos(Top, 4)),
Remove(Col, Pos(Top, 3)),
Remove(Col, Pos(Top, 2)),
Remove(Col, Pos(Top, 1)),
Remove(Row, Pos(Top, 10)),
Remove(Row, Pos(Top, 9)),
Remove(Row, Pos(Top, 8)),
Remove(Row, Pos(Top, 6)),
Remove(Row, Pos(Top, 5)),
Remove(Row, Pos(Top, 4)),
Remove(Row, Pos(Top, 3)),
Remove(Row, Pos(Top, 2)),
Remove(Row, Pos(Top, 1))
));

Оффлайн SEGA

  • Новичок
  • *
  • Сообщений: 13
  • Страна: by
  • Рейтинг: +0/-0
    • Просмотр профиля
Добрый день! Принципе по задачам получилось но проблема в топ что записи почему то дублируются все перепробовал не получается
вот когд
t1:
LOAD Штрихкод, [Количество товаров], Период
FROM [C:\Users\ASU\Desktop\ПРОЕКТЫ QLIK\АСТАНА\Продажи*.xls]
(biff, embedded labels, table is TDSheet$, filters(
Remove(Col, Pos(Top, 12)),
Remove(Col, Pos(Top, 11)),
Remove(Col, Pos(Top, 10)),
Remove(Col, Pos(Top, 9)),
Remove(Col, Pos(Top, 6)),
Remove(Col, Pos(Top, 5)),
Remove(Col, Pos(Top, 4)),
Remove(Col, Pos(Top, 3)),
Remove(Col, Pos(Top, 2)),
Remove(Col, Pos(Top, 1)),
Remove(Row, Pos(Top, 10)),
Remove(Row, Pos(Top, 9)),
Remove(Row, Pos(Top, 8)),
Remove(Row, Pos(Top, 6)),
Remove(Row, Pos(Top, 5)),
Remove(Row, Pos(Top, 4)),
Remove(Row, Pos(Top, 3)),
Remove(Row, Pos(Top, 2)),
Remove(Row, Pos(Top, 1))
));
DIRECTORY;

left join (t1)

LOAD Номенклатура, Поставщик, Штрихкод, Количество, PRICEN, Цена_в_рос., ARTICUL
FROM [C:\Users\ASU\Desktop\ПРОЕКТЫ QLIK\АСТАНА\НА_АСТАНУ.xls]
(biff, embedded labels, table is [0353704$], filters(
Remove(Col, Pos(Top, 25)),
Remove(Col, Pos(Top, 23)),
Remove(Col, Pos(Top, 21)),
Remove(Col, Pos(Top, 20)),
Remove(Col, Pos(Top, 19)),
Remove(Col, Pos(Top, 18)),
Remove(Col, Pos(Top, 17)),
Remove(Col, Pos(Top, 13)),
Remove(Col, Pos(Top, 12)),
Remove(Col, Pos(Top, 11)),
Remove(Col, Pos(Top, 10)),
Remove(Col, Pos(Top, 9)),
Remove(Col, Pos(Top, 8)),
Remove(Col, Pos(Top, 7)),
Remove(Col, Pos(Top, 6)),
Remove(Col, Pos(Top, 5)),
Remove(Col, Pos(Top, 4)),
Remove(Col, Pos(Top, 3))
));
DIRECTORY;

left join (t1)
 load Штрихкод,
num(Количество)-num("Количество товаров") as Остаток,
num(Цена_в_рос.)*num("Количество товаров") as Сумма_реализации
resident t1;

left join (t1) 
load Штрихкод,
NUm(Остаток)/num(Количество)*100 as Процент
resident t1;

помогите разобраться в чем проблема почему дублируются по два и три раза записи в таблице!

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1215
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
Ну правильно, начиная со второй таблицы вы для каждого штрихкода каждого периода грузите данные.
А что при этом с уникальностью штрихкодов во второй таблице?

Оффлайн SEGA

  • Новичок
  • *
  • Сообщений: 13
  • Страна: by
  • Рейтинг: +0/-0
    • Просмотр профиля
Эталон штрихкода находится во второй таблице а первая таблица, которая загружает все файлы в папке там тоже по одному штрихкоду который находится в первой таблице и соответственно почему то она показывает сразу несколько вариантов и делает расчет в некоторых ячеек правильно а в некоторых не правильно и получается белеберда 

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1215
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
Сложно понять, не видя данные.
Разделите этап получения данных на два: загрузка с сохранением в qvd и преобразование.

t1:
LOAD Штрихкод, [Количество товаров], Период
FROM [C:\Users\ASU\Desktop\ПРОЕКТЫ QLIK\АСТАНА\Продажи*.xls]
(biff, embedded labels, table is TDSheet$, filters(
Remove(Col, Pos(Top, 12)),
Remove(Col, Pos(Top, 11)),
Remove(Col, Pos(Top, 10)),
Remove(Col, Pos(Top, 9)),
Remove(Col, Pos(Top, 6)),
Remove(Col, Pos(Top, 5)),
Remove(Col, Pos(Top, 4)),
Remove(Col, Pos(Top, 3)),
Remove(Col, Pos(Top, 2)),
Remove(Col, Pos(Top, 1)),
Remove(Row, Pos(Top, 10)),
Remove(Row, Pos(Top, 9)),
Remove(Row, Pos(Top, 8)),
Remove(Row, Pos(Top, 6)),
Remove(Row, Pos(Top, 5)),
Remove(Row, Pos(Top, 4)),
Remove(Row, Pos(Top, 3)),
Remove(Row, Pos(Top, 2)),
Remove(Row, Pos(Top, 1))
));

store t1 into продажи.qvd (qvd);
drop table t1;

t2:
LOAD Номенклатура, Поставщик, Штрихкод, Количество, PRICEN, Цена_в_рос., ARTICUL
FROM [C:\Users\ASU\Desktop\ПРОЕКТЫ QLIK\АСТАНА\НА_АСТАНУ.xls]
(biff, embedded labels, table is [0353704$], filters(
Remove(Col, Pos(Top, 25)),
Remove(Col, Pos(Top, 23)),
Remove(Col, Pos(Top, 21)),
Remove(Col, Pos(Top, 20)),
Remove(Col, Pos(Top, 19)),
Remove(Col, Pos(Top, 18)),
Remove(Col, Pos(Top, 17)),
Remove(Col, Pos(Top, 13)),
Remove(Col, Pos(Top, 12)),
Remove(Col, Pos(Top, 11)),
Remove(Col, Pos(Top, 10)),
Remove(Col, Pos(Top, 9)),
Remove(Col, Pos(Top, 8)),
Remove(Col, Pos(Top, 7)),
Remove(Col, Pos(Top, 6)),
Remove(Col, Pos(Top, 5)),
Remove(Col, Pos(Top, 4)),
Remove(Col, Pos(Top, 3))
));
store t2 into справочник.qvd (qvd);
drop table t2;


Сначала добейтесь корректной загрузки на этом этапе, сверяя результаты с источниками.
Затем уже работайте с qvd-файлами. Ясности будет больше.

Оффлайн SEGA

  • Новичок
  • *
  • Сообщений: 13
  • Страна: by
  • Рейтинг: +0/-0
    • Просмотр профиля
Добрый день! вроде как сделал как вы сказали все получилось данные не дублируются и находятся в qvd файлах, но ! когда начинаешь делать расчет например высчитать остаток начинается очередная каша (дублируются данные опять) из за того что дублируются данные в остатке все остальные расчеты начинают падать и все в чем может быть проблема???

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