Матричный фильтр QBO3 не сортируется должным образом
У меня есть две матрицы QBO:
- Матрица А имеет 1 вход и 1 выход,
- Матрица B имеет 3 входа и 1 выход
Когда я перехожу к Матрице А, я вижу что-то вроде этого:
| Client | Price |
| ------ | ------ |
| | 120.00 |
| A,B,C | 100.00 |
| D,E | 90.00 |
| F | 95.00 |
когда я ввожу E в фильтр клиента, матрица сортируется, как я и ожидал, с первой строкой 'valid', а остальные вычеркнуты:
| Client | Price |
| ------ | ------ |
| D,E | 90.00 |
| | 120.00 |
| A,B,C | 100.00 |
| F | 95.00 |
Матрица Б выглядит так:
| Client | State | Investor | Price |
| --------- | ----- | -------- | ------ |
| | CA | NOT(2,3) | 100.00 |
| San Diego | CA | | 110.00 |
| | FL | | 95.00 |
| Miami | FL | 3 | 105.00 |
Когда я ввожу "Miami" в фильтр столбцов клиента, сортировка выглядит так, что все столбцы вычеркнуты:
| Client | State | Investor | Price |
| --------- | ----- | -------- | ------ |
| | CA | NOT(2,3) | 100.00 |
| | FL | | 95.00 |
| San Diego | CA | | 110.00 |
| Miami | FL | 3 | 105.00 |
Почему я не вижу скандал с Майами наверху?
1 ответ
Во втором примере строка с Miami также требует State = 'FL', поэтому строка не совпадает. Чтобы строка Майами соответствовала, вы должны ввести City = 'Miami' и State = 'FL'.
Когда Матрица оценивается, она вычисляет следующее:
- для каждой строки матрицы
- для каждого входа матрицы
- если строка имеет значение, равное вашему вводу, это "совпадение"
- если строка имеет значение и вы не указали ввод, это "несоответствие"
- если строка имеет значение NOT(значение) и вы не указали ввод, это "совпадение"
- для каждого входа матрицы
- Сортировать по
- снижение веса,
- затем по количеству несовпадений,
- затем по количеству совпадений
Для выхода матрицы B:
| Client | State | Investor | Price |
| --------- | ----- | -------- | ------ |
| | CA | NOT(2,3) | 100.00 | Mismatch = 1, Match=1
| | FL | | 95.00 | Mismatch = 1, Match=0
| San Diego | CA | | 110.00 | Mismatch = 2, Match=1
| Miami | FL | 3 | 105.00 | Mismatch = 2, Match=1
Короче:
- Линия "Майами" требует 3 входа для сравнения, а 2 - нет, поэтому она внизу
- первая строка (CA) фактически соответствует вашему "пустому" вводу, потому что она просто заботится о том, чтобы инвестор НЕ был инвестором 2 или 3 - ни один инвестор не соответствует этому требованию!