For part A, you probably want to make both of the fields integers. The DAY() function returns an integer value of the day of month for a date field.
Max date = DAY(MAX([Date]))
Days in Month = DAY(DATEADD('month',1,DATETRUNC('month',MAX([Date])))-1)
Note that I also added a MAX() around the date in Days in month for consistency---both calculated fields need to be aggregates.
I don't know if others will be maintaining this, but your Days in Month calculation was a bit difficult to understand for me initially. I might just assume a 30-day month or hard-code the number of days based on month.
For part B. You might try using a parameter for your constant of $1000. Just right-click in the left-hand dimensions/measures pane > Create Parameter. You can use this parameter in a calculated field and you can also show a parameter control on the worksheet or dashboard so that it can be adjusted easily, even in an end user view.
This worked! Thanks for your help, Jim.
One more question:
How can I find the number of days past in a quarter. I know the function 'dayofyear', is there a 'dayofquarter' or equivalent?
Glad it worked. Here's how I might do "Day of quarter"
CASE DATEPART('quarter', [Date])
WHEN 1 THEN DATEDIFF('day', DATE("1/1/"+STR(YEAR([Date]))), [Date])
WHEN 2 THEN DATEDIFF('day', DATE("4/1/"+STR(YEAR([Date]))), [Date])
WHEN 3 THEN DATEDIFF('day', DATE("7/1/"+STR(YEAR([Date]))), [Date])
WHEN 4 THEN DATEDIFF('day', DATE("10/1/"+STR(YEAR([Date]))),[Date])
Alex's link also might be useful to you, as it seems they've covered some similar issues in probably a lot more detail (Alex and Shawn both have deep experience / expertise with Tableau). ...
An even easier formula. ...
Day in quarter = DATEDIFF('day', DATETRUNC('quarter', [Date]), [Date])