Decomposing complex contingency tables to reduce storage requirements