On the face of it from your description, this is a simple merge using conditional fields e.g.
{ IF { MERGEFIELD "Product A" } <> "" "Product A : { MERGEFIELD "Product A" }¶" }{ IF { MERGEFIELD "Product B" } <> "" "Product B : { MERGEFIELD "Product B" }¶" }{ IF { MERGEFIELD "Product C" } <> "" "Product C : { MERGEFIELD "Product C" }¶" }{ IF { MERGEFIELD "Product D" } <> "" "Product D : { MERGEFIELD "Product D" }¶" }
(the field bracket pairs are inserted with CTRL+F9). Press the enter key at ¶.
If there is a value in 'Product A' the field will produce 'Product A : 1%' followed by a paragraph break, otherwise it will do nothing. Similarly the other fields. Modify as required.
The only minor proviso relates to the percentage value in the data source. If necessary use a formatting switch to give the correct result - see
http://www.gmayor.com/formatting_word_fields.htm