Instead of one internal table, define two, and select zemail into one and the zmobile into the other, using separate SELECT statements. The internal tables should be hashed - one with unique key email, the other with unique key mobile. You may need to use the key word DISTINCT in the select to ensure there are no duplicates. Create two separate indexes for the dso you are selecting from, one for email one for select.
Use TABLE KEY instead of key when reading from the new internal tables.
If you are unable to follow what I've written, I suggest getting an ABAP expert in to do it.
By the way, I notice a common misunderstanding in your BW set up. User defined DSOs, cubes, InfoObjects do not have to begin with Z!