Here are some possible reasons and the solutions:
You might be using the wrong amount of detergent. Use the correct amount of detergent for the hardness of the water. Follow the package directions and the guidelines in your owner's manual to determine how much detergent to use.
The water might not be hot enough. Adjust your water heater so the water temperature is at least 120 degrees Fahrenheit when it reaches the dishwasher.
You might be loading the dishes so tightly that the water spray can't reach them. Follow the guidelines in your owner's manual for loading dishes.
The dishwasher detergent might be too old. Use detergent that's less than 8 months old.
The dishes dry too slowly. Use a rinse aid to reduce soap deposits and so the dishes dry faster.
Check whether the filter is warped; if so, replace it.
Soap residue on a glass can be run under water and rubbed with your thumb to remove it. If after the glass dries and the film is gone, this would indicate soap residue.
If the film will not rinse off, it is usually from mineral deposits in the water.
One thing to try is to put some glasses in the dishwasher that have film and starting a rinse only cycle. After it fills then pause the dishwasher and add approximately 2-3 cups of vinegar directly to the water in the tub. The vinegar should remove any film and leave the glasses sparkling clean after the cycle.
Also next time you are at the grocery store check the dishwasher soap area for a product called "Dishwasher Magic." This will clean out all the mineral/film build up on the filters, screens and spray arm. This may help as well.
I hope this helps. You can reply to this thread with any additional details for further assistance.