Size: a a a

2021 September 01

И

Игорь in Qlik BI chat
В одной один порядок, в другой другой...
источник

А

Алексей in Qlik BI chat
Это же текстовое поле
источник

A

Andrew in Qlik BI chat
на уровне скрипта или визуализаций?
в скрипте можно сделать subfield, потом max
источник

DS

Daniil Semenov in Qlik BI chat
Двойные имена или фамилии через "тире" или через пробелы?
Или произвольно?
источник

DS

Daniil Semenov in Qlik BI chat
источник

И

Игорь in Qlik BI chat
Произвольно. Имена через пробел, фамилии через тире, бывает с пробелами вроде между...
источник

А

Алексей in Qlik BI chat
Скрипт,Супер, не ожидал
источник

И

Игорь in Qlik BI chat
А мне RangeMax сюда не подойдёт? :)
источник

DS

Daniil Semenov in Qlik BI chat
увы :))
источник

V

Valera in Qlik BI chat
Очистить от символов через purgechar() можно
источник

V

Valera in Qlik BI chat
Также привести к lower/upper
источник

DS

Daniil Semenov in Qlik BI chat
так они в произвольном порядке, надо глубже алгоритм
То есть Иванов-Федорв Сергей Анатольевич в одной таблице = Сергей Анатольевич Иванов Федоров
источник

DS

Daniil Semenov in Qlik BI chat
сча ченить напишем
источник

V

Valera in Qlik BI chat
Ну можно слова в массиве отсортировать (хз только как это в клике делать, но как минимум в concat() есть weight)
источник

И

Игорь in Qlik BI chat
Простые UDF в переменных знаю, но с сортировкой не нашёл... Спасибо
источник

А

Алексей in Qlik BI chat
В скрипте не работает, что-то не так в формуле?
источник

V

Valera in Qlik BI chat
Нужно значение из строки в переменную загнать, а ее уже в функцию
источник

И

Игорь in Qlik BI chat
Пока нашёл другой путь - в одном источнике нашёл отдельно поля ф и о, сам одинаково пересоберу. Но такая UDF пригодилась бы... :)
источник

ЕС

Евгений Стучалкин... in Qlik BI chat
нормализовать слова, сгенерить комбинации всех возможных, оставить только совпадающие в 2-х таблицах. Молиться, что нет опечаток внутри слов)))
источник

DS

Daniil Semenov in Qlik BI chat
Ну вот так примерно:
table1:
load * inline [
id, ФИО
1, Иванов Иван Иванович
2, Иванов-Петров Иван Иванович
3, Сергеев Дмитрий Иван Петрович
4, Макаров Дмитриев Петр Иванович
];

table2:
load * inline [
ФИО2
Иванов Иванович Иван
Петров Иванов Иванович Иван
Дмитрий-Иван Сергеев Петрович
Макаров Дмитриев Петр Иванович
];


MappingTmp:
load
id,
Upper(subfield( replace(ФИО,'-',' '),' ',IterNo())) as partOfName
Resident table1
while len(subfield( replace(ФИО,'-',' '),' ',IterNo()))>0;

orderMapTab1:
load id, partOfName, RowNo() as sortWieght
Resident MappingTmp
Order by id, partOfName;

drop table MappingTmp;


left join(table1)
load
id, concat(partOfName,'|',sortWieght) as key
Resident orderMapTab1
Group by id;

drop table orderMapTab1;


MappingTmp:
load
ФИО2,
Upper(subfield( replace(ФИО2,'-',' '),' ',IterNo())) as partOfName
Resident table2
while len(subfield( replace(ФИО2,'-',' '),' ',IterNo()))>0;

orderMapTab2:
load [ФИО2], partOfName, RowNo() as sortWieght
Resident MappingTmp
Order by ФИО2, partOfName;

drop table MappingTmp;


left join(table2)
load
ФИО2, concat(partOfName,'|',sortWieght) as key
Resident orderMapTab2
Group by ФИО2;

drop table orderMapTab2;
источник