Hello @Soyoon , welcome to the QuickSight community!
For the first part of your question, you should be able to achieve this with an ifelse function, something along the same lines as this:
countOver(ifelse({Date} = ${DateParam}, {ID}, NULL), [DATA], PRE_AGG)
For the second part: 1) You will need to link your parameter to your visual. You can do this in two way. First by applying it to a filter that targets your visual or, second, by applying the parameter to a calculated field like above and adding that to the field well of your visual. 2) It will be easier to work this out in an arena with your data but the above calculated field should start you on the path to make sure that you do not have duplicates.
Do you mind creating an arena link for this problem? This will help with troubleshooting: