Formula-Numeric Field Returning Null Instead of 0
Hello: My current formula-numeric field returns null, instead of 0. How could I tweak the formula below to return 0? Please note: A. The numeric fields below have the "treat blank values as ''0' in calculations" enabled: GPA - Associate Degree GPA - Bachelor's Degree B. The Primary Program Name and Secondary Program Name are text fields. ********************************************************* var number AssociatesDegreeScore = If([GPA - Associate Degree]>=3.3, 2); var number BachelorsDegreeScore = If([GPA - Bachelor's Degree]>=3.3, 3); var number FinalScore = If( not IsNull([GPA - Bachelor's Degree]), $BachelorsDegreeScore, not IsNull([GPA - Associate Degree]), $AssociatesDegreeScore, 0 ); If([Primary Program Name]="Nursing, Associate Degree - LPN to ADN Option (A45110L)" or [Secondary Program Name]="Nursing, Associate Degree - LPN to ADN Option (A45110L)", $FinalScore)*1.5 ********************************************************* Thank you, RoulaSolved14Views0likes2CommentsIn-App Formulas - Removing Duplicates From A List or String
I'm working on a formula to concatenate values from multiple multi-select text fields while removing any duplicates in the output. My goal is to create a unique, semicolon-delimited list that’s easy to process further. Here’s a breakdown of the fields I’m working with: [Related Modification - Operator Access] [Related Project - Operator Access] [Related Phase - Operator Access] [Note Replying To - Operator Access] [Related User - Affiliation] Quickbase’s formula language doesn’t support loops, assignments, or a direct Unique() function to filter out duplicates. Here are some of the approaches I’ve tried: Using Conditional If Statements I set up If statements that check each field’s value with Contains to see if it’s already present in the accumulating list. While this approach works in theory, I have been having trouble with type and syntax errors. It also quickly becomes verbose and difficult to maintain as the list of fields grows. var text initialList = ToText([Related Modification - Operator Access]); var text withProject = If(not Contains(ToText(initialList), ToText([Related Project - Operator Access])), List("; ", ToText(initialList), ToText([Related Project - Operator Access])), ToText(initialList)); ... and so on for each field Using List and Split Functions with Unique() Equivalent I attempted to split the concatenated list and simulate unique functionality by adding fields conditionally. Unfortunately, Quickbase lacks a direct Unique() function for removing duplicates from lists, so this approach didn’t work as expected. Help Requested Has anyone found an efficient way to concatenate and de-duplicate multi-select text fields in Quickbase? Ideally, I’d like a solution that’s concise, scalable, and doesn’t require manually adding each field with repeated If and Contains checks. Are there workarounds, or perhaps Quickbase functionality I’m overlooking, that could streamline this task? I would much prefer to keep the processing in the table as it pulls from other tables where the data can change. So it needs to be quite responsive and I don't want to have to declare an excessive amount of triggers. Any insights, examples, or alternative approaches would be greatly appreciated!48Views0likes3CommentsEmbedding Report Link in Rich Text Field
Hi, I have an embedded report and each record on the report has a bunch of children records that feed up to it's total dollar amount. That dollar amount is represented as a rich text field. I want the number to be a clickable hyperlink that pulls up the Related Records. This Related Records field name is "Monthly Accounting Review - CM - Related Actuals Records." I've referenced this field in the rich text field via this: "<a href="&[Monthly Accounting Review - CM - Related Actuals Records]&">"&$SummaryNumber&"</a>" This does the job in making the number a hyperlink. But the problem I'm running into is that the link is now operating differently in the rich text field than how it does as it's own field. Here is the report view: But here are the URLs I get for them (top link is the rich text field and the bottom link is the report link field): Thanks in advance for any help on this!32Views0likes2CommentsFormula Date Field
I have a formula date field and this is my formula: If (not IsNull([Date ReOpened]) and ([ReOpened Reason]="Mishandled"),[Date ReOpened],"") I get an error on the last "" expecting date but found text. How do I tell it to do nothing if the the formula is not true?Solved21Views0likes2CommentsMerging 2 Fields into a Formula-Text Field for Reporting Purposes
Hello: I have two fields that I want to merge for reporting purposes. Application Status - Primary Application Status - Secondary I created a formula-text field named,Merge Primary/Secondary Application Status. I tried the formulas below, but none are working. Could someone assist me with tweaking any of my formulas, please? First Try If([Nursing]="",[Application Status - Primary Program],[Application Status - Secondary Program]) Second Try If( [Nursing]="Application Status - Primary Program", [Nursing]="Application Status - Secondary Program" , true, false, ) Thank you, RoulaSolved38Views0likes5CommentsHow should I set up this Formula URL button
I’ve been trying to set up a notification email for approvers, where when a leave request is submitted by a faculty member, approvers receive the email notification that there is a leave request pending that they then need to approve or deny. The email text will be pulled from a form I’ll create including approve/deny buttons. My problem is the two tables that hold the approve/reject statuses: REQUEST DECISIONS and DECISION STATUS CHANGES, which you helped set up by having REQUEST DECISIONS be the table containing the single approval record for each approver for each request and the DECISION STATUS CHANGES table contain all status records over time (ie: pending/approved or rejected). I’m not sure how the process for the buttons would work correctly. Should I: Create Formula-Rich Text button fields that use API_EditRecord from related REQUEST DECISIONS RID and then add copy of this info to new record in DECISION STATUS CHANGES or Create Formula-Rich Text button fields that uses API_AddRecord to add a new record to the DECISION STATUS CHANGES (akin to the Add Form Temp form you created in this table) I asked chatgpt what it thought and this is what it came up with. Do you agree? For your notification and status update setup, both approaches could work, but each has its advantages. Here’s a breakdown of the two options: 1. Using API_EditRecord in REQUEST DECISIONS How it works: A Formula-Rich Text field with API_EditRecord could be used to directly update the status in the REQUEST DECISIONS table, making it easy to capture each approver's decision (approve/reject) for a specific request. After updating REQUEST DECISIONS, you could use an additional API_AddRecord action to copy the status change details into the DECISION STATUS CHANGES table for historical tracking. Pros: Directly updates the status in REQUEST DECISIONS, so you can see the current status for each approver in one place. Easier to manage a single source of truth for each approver's decision. Cons: Requires an additional step to create a historical log in DECISION STATUS CHANGES. 2. Using API_AddRecord in DECISION STATUS CHANGES How it works: Here, you would create Formula-Rich Text button fields that trigger API_AddRecord actions to add a new status change record to the DECISION STATUS CHANGES table directly. Each time an approver makes a decision, a new record in DECISION STATUS CHANGES will capture the action, with fields indicating the approver, request ID, and decision. Pros: Automatically generates a history of all status changes without needing extra steps. Each decision action creates a new entry, making it simple to see all status changes over time. Cons: Would require additional queries or formulas to retrieve the current status for each approver since DECISION STATUS CHANGES would hold multiple records per request. Recommendation To streamline the workflow while maintaining both current and historical statuses: Use API_EditRecord in REQUEST DECISIONS to update the status directly when an approver takes action. Immediately after, use API_AddRecord to insert a new record into DECISION STATUS CHANGES to log the decision. This approach leverages the strengths of each table while ensuring that both the current status and historical log are maintained. The Formula-Rich Text buttons can trigger both API calls sequentially to achieve this without user intervention.59Views0likes9CommentsAdd 1 day to date formula
Hello, I need help with writing a formula to add a day to a date formula. If([RX Trigger]<[RX Ready Date] add 1 day to the RX Trigger date to be the new RX Ready date. Ex: RX Trigger 10/30/2024 and RX Date 10/29/2024. Result needs to be RX Ready Date 10/31/2024. Thank you Kathy Benjamin14Views0likes1CommentFORMULA ASSISTANCE NEEDED
This is my goal...getting error message tho. Have tried several other ways, but can't get it to work...thanks for your help. If( [Task - USE DEFAULT UNIT COUNT]=true,[Task - Default Unit Count], [Task]="CAULK HVAC VENTS", [Task - Default Unit Count], [Task]="HANG",[FIELD BOARD COUNT.TO PAY], [Task]="Drywall.Item",[Take/Off Calc - NON-STRUCTURAL ITEM COUNT], [Task]="SCRAP",[Job - Maximum FIELD BOARD COUNT.TO PAY], [Task]="FINISH" and [Job - Project - GARAGE.FINISH-TAPE ONLY]=true,([Job - Maximum FIELD BOARD COUNT.TO PAY]-13), [Job - Maximum FIELD BOARD COUNT.TO PAY], ****GETTING ERROR MESSAGE-expecting boolean, but found number***** [Task]="SAND" and [Job - Project - GARAGE.NO SAND]=true, ([Job - Maximum FIELD BOARD COUNT.TO PAY]-24), [Job - Maximum FIELD BOARD COUNT.TO PAY], [Task]="PRIME P/U" and [Job - Project - GARAGE.NO PRIME PT/UP]=true,([Job - Maximum FIELD BOARD COUNT.TO PAY]-24), [Job - Maximum FIELD BOARD COUNT.TO PAY], [Task]="PRIME", [Job Specific Take/Off - Take/Off - Total CEILING CALC HSF], [Task]="2nd COAT",[Job - Maximum Take/Off - BASE HOUSE.CALCULATED HSF], [Task]="FINAL T/U",[Job - Total Take/Off Calc - CEILING CALC HSF], [Task - Task Phase]="Paint.Interior.Item", [Take/Off Calc - NON-STRUCTURAL ITEM COUNT], [Task - Task Phase]="Paint.Exterior.Item", [Take/Off Calc - NON-STRUCTURAL ITEM COUNT])15Views0likes1Comment