Solved

Min Date of a column that contains NULLS

Posted on 2014-07-28
6
247 Views
Last Modified: 2014-08-02
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
Comment
Question by:BananaFury
6 Comments
 
LVL 32

Expert Comment

by:Stefan Hoffmann
Comment Utility
Change the data source. Use COALESCE() to set an appropriate minimum value.
0
 
LVL 100

Accepted Solution

by:
mlmcc earned 167 total points
Comment Utility
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
 
LVL 13

Assisted Solution

by:PCIIain
PCIIain earned 83 total points
Comment Utility
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
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 

Author Comment

by:BananaFury
Comment Utility
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
 
LVL 100

Assisted Solution

by:mlmcc
mlmcc earned 167 total points
Comment Utility
A Crystal command is a data source for the report.  You select it then build the SQL in the command window.  

mlmcc
0
 

Author Closing Comment

by:BananaFury
Comment Utility
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

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Crystal Reports: 5 Tests for Top Performance It is complete, your masterpiece report.  Not only does it meet your customer’s expectations, it blows them out the water, all they want is beautifully summarised and displayed in a myriad of ways. …
There have always been a lot of questions related to when Crystal Reports evaluates report components (such as formulas, summaries, cross-tabs, charts, to name a few examples). Crystal Reports uses a two-pass reporting process to provide greater …
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now