Since your segment calculation is dependent on the Customer and it uses an aggregation, Customer needs to be on the view in for segment not to return null.
I'm not sure I understand the reason on not being able to put Customer on the level of detail shelf. Could you go into further detail?
I thought level of detail is restricted to around 98k elements. But I made some tests and it looks like a field in that shelf con contain a lot more unique data. So my question might be obsolete.