if you want to hide a full column, you should not as per your above example.
Because if any of lines have Data, you should not hide all other lines just because those don't have data. if you will do, eventually you will be losing display, where its needed as well.
alternatively you can think to display Discount or Discount% as one column as string Value instead of Int.