Это способ настроить соответствующие правила в DQS Проект качества данных игнорировать соответствие пустых доменов? Мне очень странно, если два пустых значения домена считаются совпадением для 100%. Я всегда могу, конечно, написать newid()
во всех пустых областей внутри основного источника данных SQL (вид), но это перебор, и может быть, есть «правильный» способ сделать это ...DQS - сопоставление пустых доменов
1
A
ответ
0
Я нашел приемлемое решение. Пустые поля внутри Составной домен не считается совпадающим.
Кстати, если все составные поля домена двух записей пусты, то эти домены считаются совпадающими на 100%. Но я вполне доволен этим.
1
К сожалению, эта функция в настоящее время не поддерживается, поэтому существуют только описанные выше обходные пути.
«Нулевые значения в соответствующих полях двух записей будет считаться матч»
источники:
http://technet.microsoft.com/en-us/library/hh213071.aspx
примечание когда реализующий любой обходной путь - производительность будет негативно влияют. Вы заметите это больше с большими наборами данных.
FWIW Обходной я реализовал:
- сохранить совпадающие результаты в таблицу, включает столбец isMatchingScoreAdjusted по умолчанию 0
- найти все записи, которые имеют нулевой матч и рассчитать скорректированное значение
- результатов обновления
пример Proc
DECLARE @GIVEN_NAME FLOAT = 22;
WITH adjustedscore
AS (
SELECT c.MatchingScore
+ case when p.GIVEN_NAME is null and c.GIVEN_NAME is null then [email protected]_NAME else 0 end
as [AdjustedMatchingScore]
,c.RecordId
FROM [dbo].[dqs_matches] p
INNER JOIN [dbo].[dqs_matches] c ON c.SiblingId = p.RecordId
WHERE c.IsPivot = 0
AND p.GIVEN_NAME IS NULL
AND c.GIVEN_NAME IS NULL
)
UPDATE m SET MatchingScore = a.AdjustedMatchingScore, isMatchingScoreAdjusted = 1
FROM adjustedscore a
INNER JOIN [dbo].[dqs_matches] m ON m.RecordId = a.RecordId
where m.isMatchingScoreAdjusted = 0