({{, (RefLink[KeyCollisionFunction, paclet:ref/KeyCollisionFunction]) 
is an option for (RefLink[JoinAcross, paclet:ref/JoinAcross]) that specifies how to handle pairs of elements that are not being joined but nevertheless have the same key.}})

OpenersNotesSection(Spacer1)Details

Possible settings for (RefLink[KeyCollisionFunction, paclet:ref/KeyCollisionFunction]) include:

OpenersPrimaryExamplesSection(Spacer1)Examples  (4)

OpenersExampleSection0(Spacer1)Basic Examples  (4)

When a matching key b is not used for joining, the left value for this key is used by default:

JoinAcross[{<|a->1,b->X|>},{<|a->1,b->Y|>},Key[a],"Inner"]

Use (RefLink[KeyCollisionFunction, paclet:ref/KeyCollisionFunction]) to specify which value of the colliding key should be returned:

JoinAcross[{<|a->1,b->X|>},{<|a->1,b->Y|>},Key[a],"Inner",KeyCollisionFunction->Right]

Generate new keys instead of a colliding key:

JoinAcross[{<|a->1,b->X|>},{<|a->1,b->Y|>},Key[a],"Inner",KeyCollisionFunction->Function[x,{left[x],right[x]}]]

Omit colliding keys:

JoinAcross[{<|a->1,b->X|>},{<|a->1,b->Y|>},Key[a],"Inner",KeyCollisionFunction->None]

Specify which values to take for colliding keys:

JoinAcross[{<|a->1,b->2|>},{<|a->2,b->1|>},{Key[a]->Key[b],Key[b]->Key[a]},"Left",KeyCollisionFunction->Left]

Specifically pick the right values for colliding keys:

JoinAcross[{<|a->1,b->2|>},{<|a->2,b->1|>},{Key[a]->Key[b],Key[b]->Key[a]},"Left",KeyCollisionFunction->Right]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[JoinAcross, paclet:ref/JoinAcross])  ▪  (RefLink[KeyUnion, paclet:ref/KeyUnion])  ▪  (RefLink[KeyIntersection, paclet:ref/KeyIntersection])}})}})