We have been quiet for some time, but let us assure you - we have been cooking :) Our latest release comes packed with lots of new features which will take our PowerPoint data merge service to a whole different level. In the coming days (maybe weeks, as there's lots to unpack and show you) we will unravel the whole power of our new expression engine. This might sound vague, but in this post we will try to show some examples of how you can leverage it to make data-driven slides faster than ever. Remember that below is we just present "fraction of our power" - visit us every few days as a lot of more is coming.
How the expression engine worked in PPTXMailMerge.com until last release
First let us explain what we mean when we write about expression engine. Until our latest release you could write just a few basic expressions when processing data uploaded in you XLSX, CSV or JSON files. These were the following:
-
{{firstName}}
- this was example of the most basic text replacement expression; when our PowerPoint generation engine found one of those, it looked for a "firstName" column in Excel or CSV file in the current row being processed (or in the current JSON object) and replaced this placeholder with the text found -
img:profilePicture
- when our engine encountered text like this one in the "Alt-text" field of a placeholder image, it tried to find a relevant field in the Excel, CSV or JSON and download file pointed to by the URL (or look it up in the images embedded in the uploaded Excel file) -
qr:contactData
- worked similarly to image replacement, but instead of trying to download the image it instructed our templating engine to generate a QR code, which encoded the data in the specified column
Those options already proved powerful enough to create over thousands of data-driven PowerPoint presentations, with the largest ones consisting of over thousand slides.
As mighty as it was, previous engine showed limitations ,if your processing was more complex, e.g.:
- you would like to use data from more than one active sheet in your Excel file
- you would like to address single cells from your Excel file
- you would like to leverage named ranges or tables available in the Excel file
- you would like to select data from JSON objects, which have a more complex structure than only single level of properties
- lastly - it did not support creating of whole table with a single expression (you had to manually specify what goes where, cell by cell)
How the new and improved expression engine works now in PowerPoint mail merge service?
We wanted to address all the identified limitations, so our users can even better streamline their data-driven PowerPoint creation. This is especially important for more complex, but common use cases - like creating a monthly marketing report or financial data presentation. To give you a sneak-peak of how you can now address the data in you files take a look at the following examples:
-
{{firstName}}
- basic syntax for text replacement still works :) It is the most basic use case, but we see how much success our users have had with it. We would not like to break their current workflows, so we worked extra hard to maintain backwards compatibility. -
{{profilePicture}}
,{{type=imge data=profilePicture}}
- image replacement is the first feature upgraded by new expression engine. Here we wanted to introduce a more consistent way for template designers to address the data, hence now image replacement expressions also require double curly braces (they are still placed in the "Alt-text" field). If you want to be more expressive - use the long component syntax{{type=imge data=profilePicture}}
- in future this will support adding extra options to image processing (if you have any in mind - please drop us a message through Contact page).
To see how to use the new syntax check our updated post on Creating certificates with Excel and PowerPoint.
-
{{type=qr data=contactEmail}}
- QR code generation has also been upgraded to the new syntax. As you can see, it uses the long component form, almost identical to the long form of image replacement component with tiny detail - thetype=qr
part tells our engine to create a QR code in place of the placeholder image. As with image component, this too should be placed inside the "Alt-text" field of the image to be replaced.
Example of QR code generation is available in our updated post about Creating personalized discount coupons with QR codes using PowerPoint and Excel.
-
{{xlsx.Sheet1!A1}}
,{{xlsx.Sheet2!Table1}}
,{{xlsx.Sheet3!namedRange}}
- and now for something completely different :) We know that when you work with Excel, addressing data using Excel expressions is the most natural - now we made it possible.
You can use in your template expressions which reference single cells, tables (an Excel construct which has defined headers) or a named range (another Excel construct - just a range of cells).
If you are wondering how can you use it here's an idea to to spark your imagination:
Assume you want to present marketing monthly report, where you have a bunch of KPIs (single cell data) and tables. You can now prepare one slide where you present KPIs and embed the source tables on others (e.g. KPI is the number of visits to your website from Google Analytics - a single value and the table shows the top 10 articles/ URLs on your website ordered by the number of visits).
Currently our engine expects you will insert a table with empty first row, and it will fill the headers and data according to the order in which they appear in the data file.
-
{{json.marketing.kpis.nrOfVisits}}
- depending on the data source you want to use, this expression can be treated in multiple ways. If you use this kind of expression with CSV or Excel data file, this will work the same as usual - it will find the column name which matches with the text inside the curly braces.
If you want to use it with JSON data file then you get the power of full object traversal. Assume you have uploaded a JSON file with top-level element marketing
which has a child element called kpis
, which in turn has value of each KPI you would want to have in the marketing report (and we use here the nrOfVisits
as an example of one of the KPIs). You can address every one of those values individually.
-
{{json.marketing.tables.topByVisit}}
- if you would like to create a whole table on another slide use our table component as in this example. You just insert a table into PowerPoint template and change its name to table component expression (to change the name of an object you find the "Selection pane" on main ribbon of PowerPoint user interface and rename the table you want processed by our engine). Currently our engine expects you will insert a table with empty first row, and it will fill the headers and data according to the order in which they appear in the data file.
New release of PPTXMailMerge.com - Summary
The examples above do not exhaust the complete list of new features, but we are already over thousand words in and we know it is a lot to ingest in a single sitting :) However, we hope those already give you a glimpse of the new and exciting possibilities on how to use our tool in a number of new ways. We count on you to push our expression engine to its limits, as we already saw our customers use our tools in ways we could not have imagined while creating them.
Happy PowerPointing :)!