Автор Тема: Фильтр по диапазону строковых данных  (Прочитано 1584 раз)

Vitoks

  • Ученик
  • *
  • Сообщений: 7
  • Благодарностей 0
Фильтр по диапазону строковых данных
« : Декабрь 17, 2016, 10:39:20 am »
Здравствуйте. У меня есть таблица со списком людей у который есть колонка с шифром. Шифр такого вида J45.6, т.е. буква две цифры точка и две цифры.  Можно ли как-то сделать, чтоб в фильтре можно было указать: вывести от J45 до j50? Это важная колонка, по ней нужно составлять отчёт, а код шифра это зарегистрированный код заболевания в медицине, его менять нельзя.
Спасибо!

vladimir.runa

  • Главный модератор
  • Мастер
  • **
  • Сообщений: 341
  • Благодарностей 22
  • skype: vladimir.runa
Re: Фильтр по диапазону строковых данных
« Ответ #1 : Декабрь 17, 2016, 03:13:39 pm »
Надо сделать поле шифра составным, которое будет собираться из полей, составляющих шифр.
Одно из полей - это код заболевания. Его можно сделать числовым или ссылкой на объект с кодами заболеваний (так красивее и удобнее), а в служебное числовое поле копировать числовое значение кода.
Фильтр задать по числовому коду заболевания, которое можно убрать на скрытую вкладку.
Фильтр по числовому полю позволяет задавать диапазон значений (больше и меньше).

Vitoks

  • Ученик
  • *
  • Сообщений: 7
  • Благодарностей 0
Re: Фильтр по диапазону строковых данных
« Ответ #2 : Декабрь 17, 2016, 06:44:39 pm »
Спасибо за ответ. Я сегодня пошел похожим путём, но упёрся в проблему: в таблицу весь список заболеваний и шифров был импортирован из excell. Шифр вбит в одну колонку вместе с буквой. Отделить букву от цифр получилось, а как отделить отдельно цифры от буквы не нашел. В некоторых шифрах есть формат J26.6.1? Т.е. количество цифр может быть разная. Как мне удалить букву от цифр?

РУНАТВОРЕЦ.РФ

  • Партнёры
  • Посвященный
  • *
  • Сообщений: 85
  • Благодарностей 15
Re: Фильтр по диапазону строковых данных
« Ответ #3 : Декабрь 19, 2016, 05:52:42 pm »
Vitoks, пожалуйста проанализируйте общий вид кода и представьте его здесь. Я думаю что смогу вам помочь. Например <Б.ЦЦ.Ц>, где Б - буква Ц - цифра. К посту прилагаю файл эксель, в котором специально для вас реализовал разбиение кода на три группы: 1. Один символ слева; 2. Группа символов до первой точки; 3. остальные символы после первой точки. Воспользовавшись этой табличкой вы сможете реализовать в Руна структуру вида:
[Поле1] = Буква
[Поле2] = Число (добавить в фильтр)
[Поле3] = Хвост кода
[Поле4] = [Поле1][Поле2][Поле3] код целиком

Думаю, вы разберетесь.


___________________________________________________________________
Если сочтете пост полезным, поблагодарите автора - нажмите [плюс] слева.

РУНАТВОРЕЦ.РФ

  • Партнёры
  • Посвященный
  • *
  • Сообщений: 85
  • Благодарностей 15
Re: Фильтр по диапазону строковых данных
« Ответ #4 : Декабрь 19, 2016, 05:53:45 pm »
Обещанный файл

Vitoks

  • Ученик
  • *
  • Сообщений: 7
  • Благодарностей 0
Re: Фильтр по диапазону строковых данных
« Ответ #5 : Декабрь 19, 2016, 06:41:54 pm »
Спасибо за ответ. В основном общий вид кода <Б.ЦЦ.Ц>. Но встречаются и <Б.ЦЦ.Ц.Ц>. Последняя и предпоследняя это цифры 1-9. Я посмотрел, в принципе хватит фильтрации и по Б.ЦЦ

Vitoks

  • Ученик
  • *
  • Сообщений: 7
  • Благодарностей 0
Re: Фильтр по диапазону строковых данных
« Ответ #6 : Декабрь 20, 2016, 01:05:22 pm »
Ещё появился вопрос: можно как-то заставить цифровое поле не игнорировать цифры с 0 впереди? Например у меня есть шифр J00.1. или J06. В фильтре он обрезает ноли.

runa.natalia

  • Главный модератор
  • Подмастерье
  • **
  • Сообщений: 118
  • Благодарностей 9
  • vk.com/runabase
Re: Фильтр по диапазону строковых данных
« Ответ #7 : Декабрь 20, 2016, 03:33:56 pm »
Фильтр по числу понимает только синтаксис для чисел. Нет таких чисел "00.1" или "06", поэтому ноли обрезаются.
Информация о новых версиях и список изменений: http://vk.com/runabase

 

Яндекс.Метрика