You could just extend it for each value that you want to check for:
[code]
maximum(if([Column B] = 'X') then (1) else (0) for [Column A])
* maximum(if([Column B] = 'Y') then (1) else (0) for [Column A])
* maximum(if([Column B] = 'Z') then (1) else (0)...
[code]
maximum(if([Column B] = 'X') then (1) else (0) for [Column A])
* maximum(if([Column B] = 'Y') then (1) else (0) for [Column A])
* maximum(if([Column B] = 'Z') then (1) else (0)...