You first need to know if the assault charge will be prosecuted as a felony or misdemeanor. Many states have a version for both. The statute of limitations in my state, Florida, allows for two years on a first degree misdemeanor. If its a felony it could, in some cases, be up to four years.
The Statute of Limitations significantly varies from state to state. In Texas a misdemeanor statute of limitations is generally two years, while the limitations vary on felonies from three years to as much as not having a limitation at all for some offenses.
Regardless of the Statute of Limitations, one must look at the perception of the credibility of the complaining witness or victim of the offense is "stale." Although legally, charges can be filed within the statute of limitations, the district attorney may be leary of accepting charges if a lot of time has elapsed and the offense has not been reported without good reason.
In summary, if an alleged crime has been committed, it is generally best for the to report it as soon as possible. From a defense perspective, it generally helps the defendant if a lot of time has passed before charges are filed.
The prosecutor may file a charge at any time until the statute of limitations expires. For a simple assault, specifically a misdemeanor assault, the limitations period is two years (absent some intervening or tolling factor). For felony assaults, the statute is longer and depends upon the facts pled.