July 2024 Newsletter#

What’s new#

Cumulative functions: PREVIOUS(), NEXT() and RANK()#

Cumulative functions

If you’ve ever tried to get a running total in a Grist table, or access previous values for calculations, we have some good news. We’ve added a series of new functionality related to cumulative functions that greatly expand what you can do in the grid:

  • PREVIOUS() finds the previous record in a full table. NEXT() is the same, but in the other direction.
  • RANK() returns the rank of the record within the group, starting with 1.

Check out our complete documentation in our Help Center.

New kinds of lookups: find.* methods#

Even for a Python pro, it can be tricky to look up items based on nearness to a threshold, especially if the lookup needs to be efficient. These new find.* methods make it far easier. Essentially, lookupRecords() now allows search in sorted results! Here’s an example, showing the old way (🐢🙅) and the new way (🏃‍➡️):

Pay rate example

More details:

  • The find.* methods are le, lt, ge, gt, and eq (less than or equal, less than, greater than or equal, greater than, equal).
  • The order_by argument now supports tuples, as well as the “-” prefix to reverse order, e.g. ("Category", "-Date").

See the full documentation in our Help Center.

Tutorial progress#

If you’re reading this, you probably don’t need to complete our basics tutorial. Still, we wanted to show off this cool new progress bar and hint at further onboarding improvements to help get new users up to speed! You are also now approximately 38% through this newsletter. Good job! 📈

Tutorial progress

Grist Enterprise: now a toggle!#

Enterprise toggle

For our large enterprise users, installing Grist just got easier: you can now use the standard Docker image! We’ve consolidated images so that enabling and activating Enterprise is done in the admin console. This also means non-Enterprise users can trial Enterprise features like GristConnect and Azure/S3 storage for 30 days. The full Enterprise plan also includes installation support and professional services provided by our Grist experts. Check out our Pricing page for details.

Grist ActivePieces integration#

ActivePieces integration

Open source automation tool ActivePieces now has a bunch of Grist-specific actions & triggers. Thanks to Kishan Parmar for the pull request!

Improved column rename syncing#

A small but mighty fix that addresses several usability frustrations across Grist. Now, when you rename a column, associated access control and conditional formatting rules update automatically!

Column renaming

Fly.io build previews for external contributors#

If you’re a grist-core contributor working on a PR, we now have automatic previews for your work. Everyone can now see live demos, which should help move the review process along! We use Fly.io to run a self-hosted instance of Grist including your code.

User spotlight – Callum Spawforth/Savage Game Design#

Grist game design database

When he isn’t working on Grist, Callum (@Spoffy on GitHub) works with the team at Savage Game Design to develop Vietnam War-era video games. The Savage team and their military advisors strive to make their game historically accurate, which means keeping track of a ton of real-world events, places, people, units, etc… and then relating them all back to each other.

The team uses Grist to build an event database as they create their storylines, treating it as a “starting point to map out what [they] want to happen during a certain time period.” As storylines evolve and become more complex, they connect their Grist documents with other tools like Google Docs, maintaining a link with their single source of truth. Instead of just having a Game Design Document, they now also have a Game Design Database.

Community highlights#

  • A new Basque translation is nearly complete, thanks to xabirequejo! See here for more information on helping translate Grist.
  • If you’ve used our Proposals & Contracts template (or even followed our tutorial on how to build it!), you’ll be interested to see this updated Markdown widget templating function from Discord user celine de france. This function is an easier way to replace fields within a template (even nested within references!), effectively automating the process for most cases. See their original post here, or check out a live demo.

Working on something cool with Grist? Let us know by posting in the Showcase forum or our #grist-showcase Discord channel!

Learning Grist#

Webinar: Grist 101: A New User’s Guide#

Join us for an introductory webinar designed to help new users navigate the basics of Grist. This session will provide you with the essential tools and knowledge to get started. We’ll cover key features and best practices to maximize your productivity.

Perfect for beginners, this webinar will set you on the path to becoming a Grist pro. Don’t miss out—reserve your spot today!

Thursday August 15 at 3:00pm US Eastern Time.

Grist 101 webinar

SIGN UP FOR AUGUST’S WEBINAR

In July, Natalie explained how to use one of Grist’s coolest and least explored features: link keys. We covered how to use Grist’s link keys to share partial data - even just a single row - with third parties.

WATCH JULY’S RECORDING

Help spread the word#

If you’re interested in helping Grist grow, consider leaving a review on product review sites. Here’s a short list where your review could make a big impact. Thank you! 🙏

We are here to support you#

Professional services. Grist often surprises people with its capabilities. Schedule a free call to assess your needs and help connect you with a Grist expert. Learn more.

Have questions, feedback, or need help? Search our Help Center, watch video tutorials, share ideas in our Community Forum, or contact us at support@getgrist.com.