Вернуть строку с наиболее вероятным совпадением - PullRequest
0 голосов
/ 24 марта 2020

Я застрял в проблеме, касающейся того, как выполнить vlookup для наиболее вероятного совпадения

Теория основы c состоит в том, что у меня есть таблица с бизнес-правилами, например:

| Key1 | Key2 | Key3 | Key4 | ID |
|------|------|------|------|----|
| 1    | 2    | S    |      | 1  |
| 1    | 2    | R    | USD  | 2  |
|      | 1    | S    |      | 3  |
|      |      | S    |      | 4  |

И таблица транзакций выглядит следующим образом:

| Key1 | Key2 | Key3 | Key4 |
|------|------|------|------|
| 1    | 2    | S    | BRL  |
| 1    | 2    | R    | USD  |
| 2    | 2    | S    | USD  |
| 1    | 1    | S    | USS  |

Правила, которые я хочу запрограммировать:

  1. Если одно из совпадений ключей добавляет 1 к вероятности совпадение
  2. Если один из ключей не совпадает точно, но бизнес-правило пусто, следуйте, добавьте 0
  3. Еще вычтите 1000 (Никогда не используйте правило с несовпадающими ключами)

Как бы вы, ребята, запрограммировали эту функцию sudo vlookup?

Большое спасибо за помощь, вот мой пример результата таблицы

Для строки 1 таблицы транзакций наиболее вероятна Идентификатор правила: 1

строка 1 1 == 1> + 1, 2 == 2> + 1, S == S> +1, ключ 4 пуст>> 0, общее сходство правил = 3
строка 2 1 == 1> + 1, 2 == 2> + 1, R! = S> -1000, USD == USD> + 1, общее сходство правил = -997
строка 3 Ключ 1 это emp ty> + 0, 1! = 2> - 1000 ...
строка 4 S == S> +1, общее сходство правил = 1

Для всей таблицы совпадений

| ID | Most Likely match |
|----|-------------------|
| 1  | 1                 |
| 2  | 2                 |
| 3  | 4                 |
| 4  | 3                 |

Спасибо за внимание

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...