Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 264
  • Last Modified:

Min Date of a column that contains NULLS

Hello

I would like to return the Min Date of a column that contains NULLS, which means the Min Date is always a NULL. I cannot remove these records from the record set.
I thought about a formula field that said something "if date is NULL then 01/01/2999 (a date miles in the future)" then running a MIN down this formula field but that seemed like an odd way of tackling the problem.

What is the correct solution to this problem?

Thanks
0
BananaFury
Asked:
BananaFury
3 Solutions
 
ste5anSenior DeveloperCommented:
Change the data source. Use COALESCE() to set an appropriate minimum value.
0
 
mlmccCommented:
Your idea is probably the easiest way in Crystal to handle the issue.

Something like

If IsNull({YourDateField}) then
      Date(2099,1,1)
Else
     {YourDatefield}

Open in new window


You can use any date for the default.  If you know the dates are generally in the past then you could use CurrentDate as the date.  In that way the formula could potentially also be used to find the maximum.

Another other way to do this would be to use a VIEW/Stored Procedure in the database or a Crystal COMMAND as the datasource.  You would then have the minimum date in each record.  That would use the suggestion above.

You could use a subreport to get the minimum date using a selection filter in the subreport that is the same as the main report with an added filter to eliminate the NULL dates.

Depending on the database you may be able to use a SQL Expression to get the minimum date.

mlmcc


mlmcc
0
 
PCIIainCommented:
Another way would be to use a running total, reset whenever necessary and evaluated on a formula, where the formula is :-
not isnull(<fieldname>)
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
BananaFuryAuthor Commented:
Thanks mlmcc, using a CurrentDate as a default is an obviously better idea than my massive future date, but not one that I had thought of actually. The report is bolted onto a stored procedure, running from some tables in a SQL DB so I could tweak the source, but I don't really want to do that. What is a Crystal COMMAND though? Never heard of that.

Thought about the sub reports idea, and passing out the value via a variable, but I have half a dozen or so formulas like this to create, so didn't really fancy that many subs all with there own link to a table, seemed a little data hungry.

The running totals is something I hadn't thought about either. That would be a slightly painful solution for me as I believe I would need to move everything to footers to use RT's.

thanks all
0
 
mlmccCommented:
A Crystal command is a data source for the report.  You select it then build the SQL in the command window.  

mlmcc
0
 
BananaFuryAuthor Commented:
Thanks, I went with the CurrentDate solution.

The Crystal Commands are interesting, never seen or used these before. I can imagine using these at some point

thanks all
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now