Обработка таблицы

jun_dev

Пользователь
Регистрация
04.08.2017
Сообщения
121
Благодарностей
7
Баллы
18
Всем привет. Нужна помощь в вопросе с обработкой значений в таблице.
Есть таблица, значение поля (D "цена") сортируется руками( по убыванию). Необходимо отобрать данные из столбца "D", взять все значения (числовые) которые больше 100 тысяч. Что меньше не брать. Полученные данные столбцов А и D(название "текст.поле" и цена(числовое)) записать в таблицу. Кто подскажет как проще и куда копать? Спасибо большое.
 

AgentRassilok

Известная личность
Регистрация
08.11.2016
Сообщения
1 272
Благодарностей
466
Баллы
83
выбери в екселе все столбцы, нажми условное форматирование и выбери любой стиль. дальше в столбиках будут выпадающие списки, убираешь не нужные галочки и оставляются нужные тебе значения
 

jun_dev

Пользователь
Регистрация
04.08.2017
Сообщения
121
Благодарностей
7
Баллы
18
выбери в екселе все столбцы, нажми условное форматирование и выбери любой стиль. дальше в столбиках будут выпадающие списки, убираешь не нужные галочки и оставляются нужные тебе значения
Зачем мне эксель? Мне нужно что бы это делала зенка. У меня данных на 1 лям. Я буду выделять сидеть сточки которые мне нужно форматировать?
 

AgentRassilok

Известная личность
Регистрация
08.11.2016
Сообщения
1 272
Благодарностей
466
Баллы
83
Зачем мне эксель? Мне нужно что бы это делала зенка. У меня данных на 1 лям. Я буду выделять сидеть сточки которые мне нужно форматировать?
тебе зенку надо связывать с бд иначе у тебя зависнет все с твоей таблицей на 1 лям
и в таблице ты сделаешь это быстрее раза в 3-4 чем на зенке )) ну делай на зенке кто против ))
 

jun_dev

Пользователь
Регистрация
04.08.2017
Сообщения
121
Благодарностей
7
Баллы
18
тебе зенку надо связывать с бд иначе у тебя зависнет все с твоей таблицей на 1 лям
и в таблице ты сделаешь это быстрее раза в 3-4 чем на зенке )) ну делай на зенке кто против ))
по поводу "ну делай на зенке" Я как бы по этому вопросу здесь... Как я могу делать, если я не пойму как это запилить.
 

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43
Всем привет. Нужна помощь в вопросе с обработкой значений в таблице.
Есть таблица, значение поля (D "цена") сортируется руками( по убыванию). Необходимо отобрать данные из столбца "D", взять все значения (числовые) которые больше 100 тысяч. Что меньше не брать. Полученные данные столбцов А и D(название "текст.поле" и цена(числовое)) записать в таблицу. Кто подскажет как проще и куда копать? Спасибо большое.
Может, я не самое простое решение предложу (сам еще учусь) - но я вижу решение вопроса с использованием цикла - берем строку 1, проверяем условие по ячейке D, если да, то записываем во вторую таблицу, если нет, то переходим сразу ко второй строке.
 

jun_dev

Пользователь
Регистрация
04.08.2017
Сообщения
121
Благодарностей
7
Баллы
18
Может, я не самое простое решение предложу (сам еще учусь) - но я вижу решение вопроса с использованием цикла - берем строку 1, проверяем условие по ячейке D, если да, то записываем во вторую таблицу, если нет, то переходим сразу ко второй строке.
это буде долго очень. + к этому мне нужно записать сразу 2 поля это название и цена допустим.
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
это буде долго очень. + к этому мне нужно записать сразу 2 поля это название и цена допустим.
Это в PM будет медленно, а ZP в цикле быстренько перегонит все. Ты попробуй, вдруг устроит скорость. И кодить ничего не надо, все на кубиках.
 

jun_dev

Пользователь
Регистрация
04.08.2017
Сообщения
121
Благодарностей
7
Баллы
18
Это в PM будет медленно, а ZP в цикле быстренько перегонит все. Ты попробуй, вдруг устроит скорость. И кодить ничего не надо, все на кубиках.
а как мне считать несколько полей в таблице одновременно? можно подобное деяние в студию ?
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
1. {-Variable.i-} = 0
2. Таблица - взять строку - под номером {-Variable.i-}, в переменные: Имя столбца A={-Variable.A-} , Имя столбца D={-Variable.D-} .
3. Делаем проверку D>100, если сработало, то пишем в новую таблицу строку {-Variable.A-} ;{-Variable.B-}
3. i++
4. Возвращаемся к шагу №2
 

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43
а как мне считать несколько полей в таблице одновременно? можно подобное деяние в студию ?
можно это сделать, я на днях относительно похожее решение сделал.
у меня нужная тебе часть выглядит так

тебе надо небольшие изменения внести
 
Последнее редактирование:

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
C#:
IZennoTable sourceTable = project.Tables["SourceTable"];
IZennoTable destTable = project.Tables["DestTable"];

lock (SyncObjects.TableSyncer) {
    string[] cells = null;
    for (int i = 0; i < sourceTable.RowCount; i++) {
        cells = sourceTable.GetRow(i).ToArray();
        if (double.Parse(cells[3].Replace(".", ",").Trim()) >= 100000)
            destTable.AddRow(cells[0] + ";" + cells[3]);
    }
}
значение поля (D "цена") сортируется руками( по убыванию)
Если так, то код отработает быстрее, если заменить строку
if (double.Parse(cells[3].Replace(".", ",").Trim()) >= 100000)
на
if (double.Parse(cells[3].Replace(".", ",").Trim()) < 100000) break;
 
  • Спасибо
Реакции: orka13

jun_dev

Пользователь
Регистрация
04.08.2017
Сообщения
121
Благодарностей
7
Баллы
18
C#:
IZennoTable sourceTable = project.Tables["SourceTable"];
IZennoTable destTable = project.Tables["DestTable"];

lock (SyncObjects.TableSyncer) {
    string[] cells = null;
    for (int i = 0; i < sourceTable.RowCount; i++) {
        cells = sourceTable.GetRow(i).ToArray();
        if (double.Parse(cells[3].Replace(".", ",").Trim()) >= 100000)
            destTable.AddRow(cells[0] + ";" + cells[3]);
    }
}
Если так, то код отработает быстрее, если заменить строку
if (double.Parse(cells[3].Replace(".", ",").Trim()) >= 100000)
на
if (double.Parse(cells[3].Replace(".", ",").Trim()) < 100000) break;
Спасибо большое. Проверю, отпишу.
 

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)