ContributionsMost RecentMost LikesSolutionsRe: SheetsJS imported into Quick BaseThe IOL is not the problem. You are probably trying to load xlxs as a global through a <script> tag embedded using $.getScript(). xlxs is written with with module detection logic which will see QuickBase's use of requireJS and consequently load as a requireJS module. You need to do something like this: require.config({ paths: { "xlsx": "https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.14.1/xlsx.full.min"; } }); require(['xlsx'], function(xlsx) { console.dir(xlsx) //your code here }); Re: Convert comma separated values to new child recordsYou can initiate bulk conversions (multiple records) from the press of a single button but there is no way to have an automatic trigger of the bulk action as QuickBase does not currently have the ability to run a user supplied script as the result of records being added or changed.Re: Convert comma separated values to new child recordsThis is easy to do using a Rich Text Formula Field using the 3Q&S Techinque used as a button to invoke a script. The demo below contains three buttons named Demoize, Childize and Parentize place on the view record page. The Demoize button resets the demo and initializes the [Items] and [Quantities] to randomly generates values. The Childize button takes the [Items] and [Quantities] in the Parent record and transfers the values to individual child records. The Parentize button reverses this process. Here is a screenshot after pressing the Demoize button and generating random [Items] and [Quantities] in the Parent record: Here is a screenshot after next pressing the Childize button and transferring the [Items] and [Quantities] values in the Parent record to individual Child records: Pressing the Parentize button will reverse the Childize process. Here is the demo in which you can test and even create your own record: Childize / Parentize ~ View Parent Record #1 https://haversineconsulting.quickbase.com/db/bpcesdwqm?a=dr&rid=1 Pastie Database https://haversineconsulting.quickbase.com/db/bgcwm2m4g?a=dr&rid=726 Notes: (1) This demo has features beyond what you asked for but are appropriate for a demo that hopefully will not require a lot of maintenance on my part. (2) The same core approach can be used to perform bulk operations and a selection or records rather than an individual record. (3) You probably need some additional logic and features to deal with edge case in your data or other feature that were not articulated.Re: Using JavaScript Add Onblur to Form Element When you enter text into a Rich Text Field with fid=6 you are not directly entering text into the <textarea id=_fid_6 name=_fid_6></textarea>. Rather you are entering text into the <div> following the <textarea>. This <div> is content editable and the text you enter is only associated to the <textarea> form element when the form is submitted. So to detect when the <div> is blurred you have to use code similar to this: $("#_fid_6 + div").on("blur", function() { console.log(this.innerHTML) }); Notes: (1) It may seem unusual but it is common for Rich Text Editors (QuickBase uses ACE) to have text entered into an element different from the form element that will get submitted with the form submits. (2) The selector "#_fid_6 + div" uses the "+" sign as the adjacent sibling selector. Re: Adding character countdown to multi-line text fieldNow you got bragging rights and can strut around the office proclaiming your mad skills and get a raise for your good work.Re: Adding character countdown to multi-line text fieldIt is simple. Just change the "6" to the fid you are trying to count the characters of and paste this code into a new Rich Text Formula Field: "<span id=QBU_Message></span>" & "<img src onerror=' $('#_fid_6').on('keyup', function() { var message = (50 - $(this).val().length) + ' characters remaining'; QBU_Message.innerHTML = message; }); '>" On the form place this new field atop the field you are counting the characters of so it will not be obscured by the field completion menu that may popup.Re: Adding character countdown to multi-line text fieldThis can be done with one Rich Text Formula field using the 3Q&S Technique: Characters Remaining ~ Add New Record https://haversineconsulting.quickbase.com/db/bpcddqv64?a=nwr Pastie Database https://haversineconsulting.quickbase.com/db/bgcwm2m4g?a=dr&rid=725 Re: Passing field into Code Page -Yes I go that but PowerBI in their docs makes reference to using both filter= and $filter= ?filter=Store/Territory eq 'NC' https://docs.microsoft.com/en-us/power-bi/service-url-filters Does it take both or is one of these a typo? This seems like a viable way to bring PowerBI into QuickBase so I myself want to understand their API better.Re: Passing field into Code Page -Yes the benefit from using the "inline script" or 3Q&S Technique is that (1) it is self contained and requires no other setup other the the Rich Text Formula field and (2) you don't have to make reference to a section id as the formula field itself can be used as the target: .insertAfter("#sect_s14"); But what did you do with the $filter parameter? PowerBI has docs both with and without the dollar sign. > how else can inline scripts be leveraged Once you get JavaScript loaded - and to some extent it does not matter how you do it - you can do just about anything.Re: Passing field into Code Page -FWIW, I had a quick look at the PowerBI docs last night. One small thing I was confused by is their docs have examples where the filter parameter is specified both with and without the dollar sign so I was wondering which version you got to work: url += "&$filter=\"Accounts%2FCategory\"eq'" + state + "'"; Also, with regard to your own code you might benefit from using backtick quotes when specifying your filter parameter: var state = $("catformula", xml).text(); ... url += '&$filter="Accounts/Category" eq '${state}''; Backtick quotes allow you to do "string interpolation" where any expression with ${} is evaluated and substituted into the string. Quite frankly QuickBase should adopt backtick quotes in their own formula language (or replace it with JavaScript) so you can avoid concatenating dozens of string fragments together.