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

jun_dev

Пользователь
Регистрация
04.08.2017
Сообщения
121
Реакции
7
Баллы
18
Всем привет. Нужна помощь в вопросе с обработкой значений в таблице.
Есть таблица, значение поля (D "цена") сортируется руками( по убыванию). Необходимо отобрать данные из столбца "D", взять все значения (числовые) которые больше 100 тысяч. Что меньше не брать. Полученные данные столбцов А и D(название "текст.поле" и цена(числовое)) записать в таблицу. Кто подскажет как проще и куда копать? Спасибо большое.
 
выбери в екселе все столбцы, нажми условное форматирование и выбери любой стиль. дальше в столбиках будут выпадающие списки, убираешь не нужные галочки и оставляются нужные тебе значения
 
выбери в екселе все столбцы, нажми условное форматирование и выбери любой стиль. дальше в столбиках будут выпадающие списки, убираешь не нужные галочки и оставляются нужные тебе значения
Зачем мне эксель? Мне нужно что бы это делала зенка. У меня данных на 1 лям. Я буду выделять сидеть сточки которые мне нужно форматировать?
 
Зачем мне эксель? Мне нужно что бы это делала зенка. У меня данных на 1 лям. Я буду выделять сидеть сточки которые мне нужно форматировать?
тебе зенку надо связывать с бд иначе у тебя зависнет все с твоей таблицей на 1 лям
и в таблице ты сделаешь это быстрее раза в 3-4 чем на зенке )) ну делай на зенке кто против ))
 
тебе зенку надо связывать с бд иначе у тебя зависнет все с твоей таблицей на 1 лям
и в таблице ты сделаешь это быстрее раза в 3-4 чем на зенке )) ну делай на зенке кто против ))
по поводу "ну делай на зенке" Я как бы по этому вопросу здесь... Как я могу делать, если я не пойму как это запилить.
 
Всем привет. Нужна помощь в вопросе с обработкой значений в таблице.
Есть таблица, значение поля (D "цена") сортируется руками( по убыванию). Необходимо отобрать данные из столбца "D", взять все значения (числовые) которые больше 100 тысяч. Что меньше не брать. Полученные данные столбцов А и D(название "текст.поле" и цена(числовое)) записать в таблицу. Кто подскажет как проще и куда копать? Спасибо большое.
Может, я не самое простое решение предложу (сам еще учусь) - но я вижу решение вопроса с использованием цикла - берем строку 1, проверяем условие по ячейке D, если да, то записываем во вторую таблицу, если нет, то переходим сразу ко второй строке.
 
Может, я не самое простое решение предложу (сам еще учусь) - но я вижу решение вопроса с использованием цикла - берем строку 1, проверяем условие по ячейке D, если да, то записываем во вторую таблицу, если нет, то переходим сразу ко второй строке.
это буде долго очень. + к этому мне нужно записать сразу 2 поля это название и цена допустим.
 
это буде долго очень. + к этому мне нужно записать сразу 2 поля это название и цена допустим.
Это в PM будет медленно, а ZP в цикле быстренько перегонит все. Ты попробуй, вдруг устроит скорость. И кодить ничего не надо, все на кубиках.
 
Это в PM будет медленно, а ZP в цикле быстренько перегонит все. Ты попробуй, вдруг устроит скорость. И кодить ничего не надо, все на кубиках.
а как мне считать несколько полей в таблице одновременно? можно подобное деяние в студию ?
 
1. {-Variable.i-} = 0
2. Таблица - взять строку - под номером {-Variable.i-}, в переменные: Имя столбца A={-Variable.A-} , Имя столбца D={-Variable.D-} .
3. Делаем проверку D>100, если сработало, то пишем в новую таблицу строку {-Variable.A-} ;{-Variable.B-}
3. i++
4. Возвращаемся к шагу №2
 
а как мне считать несколько полей в таблице одновременно? можно подобное деяние в студию ?
можно это сделать, я на днях относительно похожее решение сделал.
у меня нужная тебе часть выглядит так
EA4vd7ZswkZW8m.jpg

тебе надо небольшие изменения внести
 
Последнее редактирование:
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
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;
Спасибо большое. Проверю, отпишу.
 

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