There's probably some fancy reagent based method, but the most direct analytical way would be ICP-MS or ICP-AES. Calcium and sodium are simple. Sulfur is tricky but doable. I think EPA has ICP-based methods validated for sulfate quantification in drinking water.
You might be able to get at carbonate by TGA because carbonates are susceptible to thermal decomposition (so are nitrates for that matter), but I think the temperature for sodium carbonate is extremely high, maybe over 1000 C. If you could do some kind of ion exchange and make everything calcium, TGA would be a piece of cake to determine the carbonate content.
You could also probably get at the carbonate content by treatment with acid. So, maybe you could get the easy CaCl2 content by ICP-MS and then measure the volume of CO2 liberated when treated with sulfuric acid or something.