Four (4) Awesome Techniques for Leveling Up Your NPrinting Report
- -Ditch the manually scheduled app and NP trigger times by kicking off NPrinting tasks within Qlik
- -Collect metadata on your NPrinting environment using NPrinting APIs
- -Maintain your environment with email updates rather than waiting to find failures
- -Also leverage web-embedded API calls to let your SMEs approve report distributions

What is Qlik NPrinting?
For those of you unfamiliar with the tool, Qlik NPrinting allows an organization to create different content templates from their Qlik Environment and distribute them via email in a variety of formats including HTML, XLSX, PDF, DOC, and PPT. You develop the analytics inside a Qlik application and then create NPrinting reports from your apps to email and distribute to your users. The distribution tasks can be scheduled across regular intervals or utilizing exception-based reporting, to flag anomalies in your data as they surface. NPrinting lets you filter users, tasks, reports, and objects within reports based on dimension values in your application, so you’re able to send customized reports to different people, departments, etc. Matt, the U.S. rep, can receive the same report as Sally, the EMEA rep, but filtered on their respective geographical territory, while Larry, the head of sales, can receive an unfiltered version.

Here at Pomerol, we use NPrinting daily for both internal and external use-cases across several client environments. Our developers have seen first-hand the trials and errors of using the tool. Once set up correctly, it truly becomes a powerful product which can expand and automate your company’s reporting capabilities beyond just web content. Below are a few of the spoils of our toils that we wanted to share with you all and your BI teams.
1) NPrinting APIs
You may not know that NPrinting APIs even exist, or how to use them, so we’re hoping this post sheds some light on what is possible. There are several calls you can make that help you to understand your NPrinting environment, trigger various NPrinting operations, and manage your NPrinting deployment.

One way to use the NPrinting APIs is to create a Qlik application that can be used to pull together bits of information about your NPrinting environment. With the correct calls, we can pull in details on users, tasks, reports, connections, etc. This can make your developers’ lives a lot easier when trying to understand what apps are being connected to, who’s a user in NPrinting, what their roles are, what filters and groups are out there and more. This can reduce duplication of efforts and serve as a place where users can check to see which reports exist from which data sources in a visual manner without having to check each individual object in NPrinting.

This next use-case is something that we deal with a lot, and it’s a great way to tap into the NPrinting APIs. Have you ever struggled with timing up your report distributions (through NPrinting or otherwise) with the scheduled reload of your application? We try to limit human assumptions as much as possible when engaging with our clients, and estimating how long you think the app reload will take and then setting your NPrinting task to execute when you think that reload will be complete is not a reliable practice that we’d recommend. This NPrinting API call lets you trigger a report distribution from within your Qlik script, eliminating the guessing game that can go very wrong if a report goes out to the business with old data in it. Mitigate this risk by automatically triggering your report as soon as the fresh data is loaded in.
2) How to use NPrinting to Monitor NPrinting?
This title may sound weird, but nope, it’s a real use-case. You really can use NPrinting to monitor itself and update you on when your tasks are failing or if there is an error with your distributions. By giving Qlik Sense access to the Postgres tables that feed the NPrinting web console, you can create an application that reads the different tables and produces an output to catch errors, while explaining the distribution. It’s also handy for updating you on the status of NPrinting.
Most organizations set a scheduled distribution and either report in the morning or in the evening to their consumers. I schedule this email after those specified times, and if I don’t see this email, I know the services have had an issue and I can intervene before the users notice. This capability complements the new task error notifications well and allows us to have a 360 view of our distributions. We can see dynamic filtering and the changing environment at a high level and then connect to the app and dig into the details if necessary.

3) Future Use Case Ideas
Another way we could utilize the NPrinting APIs is for approvable distributions. We’ve seen cases where a BA or SME serves as the “gatekeeper” for a report, to ensure its accuracy before it is distributed out to a broader user base who may be making real-time operational decisions on this report. The way this process can be set up, is first to distribute the report exclusively to the SME, they will get an email with the report attached. They will review the report, and then click a link embedded in the email that will take them to a web page. This web page will contain a button that serves as the approval button for the SME. When they click this button, we can use the JavaScript encoded in the web page to call the NPrinting On-Demand Task Execution API and trigger the task that distributes the report to the entire user base.
Are you getting the most out of your Qlik Sense monitoring tools?
One of the first things I do at the beginning of the month is review the activity in the monitoring applications. We use Qlik everyday to analyze data that drives strategic decision making, so it only makes sense to take that same approach to understanding how Qlik is being utilized within our environment. In order to do this, we take a quick look at a few key elements of those monitoring tools.
For our clients that have NPrinting, we’ve developed a standard report that shows those key elements of the operations monitor and the license monitor for the past month. For those that don’t, we have created additional views in the monitoring applications to do the same.
First up is a quick glance at the engine CPU and engine RAM monitoring for the past month to be aware of any spikes to these two graphs. We can quickly investigate any significant or consistent spikes across the previous month leading us to important questions about our environment: Do we have a cluttered reload process? Is there a problematic app causing spikes in the CPU or RAM? Are there users causing issues with a private sheet?
The next item to consider is a review of the most active applications in the environment by tracking sessions in the last month. Usually, I split this out to look at the last 14 days, 21 days, month and 90 days. By analyzing this you can quickly spot any trends in the applications usage while also understanding which applications are getting the most attention in your environment. With this information, you find timely answers to important questions about how your applications are being utilized.
Understanding application usage can be furthered in more recent versions of Qlik Sense by analyzing sheet usage. Monitoring sheet activity can help you consolidate large apps if needed or begin an investigation into why sheets are being underutilized: Are those sheets delivering accurate results? Is more detail needed? Do users understand the visualization created?
We also want to review user session activity. By monitoring this you can quickly understand which users are utilizing their Qlik access and which are not. Understanding your most active users can identify internal champions to drive collaboration and more advanced development. Monitoring your inactive users can raise essential questions around how to drive engagement from allocated users who have no recent or very limited activity. Are these users getting the information they need? Is training required for the users to better understand their dashboards? Can these allocated licenses be put to better use elsewhere?
With the above considerations, we can leverage the monitoring tools to answer questions about our environment, but more importantly, we can leverage these tools to drive engagement of our users towards our most critical applications and get the most out of your Qlik environment.
Qlik OpenAI Connector: 3 Essential Benefits
Qlik’s OpenAI connector is a powerful tool that allows you to leverage the capabilities of OpenAI’s natural language models within your Qlik apps.
What is the Qlik OpenAI Connector?
The Qlik OpenAI Connector is a Qlik Sense extension that enables you to send prompts to OpenAI’s natural language models and receive responses in your Qlik apps. You can use the connector in various ways, such as:
- In chart expressions, to generate natural language insights or explanations based on your data
- In the data model, to enrich your data with additional information or analysis from OpenAI
- In application automation, to automate tasks or workflows that involve natural language processing or generation
How does the Qlik OpenAI Connector work?
To use the Qlik OpenAI Connector, you need to have an account at platform.openai.com and pay a fee based on the computing resources you use. However, there is a free trial available. You will find the connector under “analytics sources” when creating a new data connection.
With the connector, you can create prompts using variables, fields, or expressions from your Qlik app. A prompt is a text input that tells OpenAI what kind of response you want. For example, you can ask OpenAI to write a summary, suggest a reply, generate a question, or complete a sentence.
You can select different models to send your prompts depending on your use case. OpenAI offers several models with different capabilities and trade-offs, such as:
Davinci: The most advanced and versatile model, capable of generating high-quality and diverse responses for any prompt
Curie: A smaller and faster model than Davinci, suitable for tasks that require less creativity or complexity
Babbage: A specialized model for numerical or tabular data analysis
Ada: The smallest and cheapest model, suitable for simple tasks that require factual or straightforward responses
You can also customize other parameters of your prompts, such as:
Temperature: How creative or diverse the responses are. A higher temperature means more randomness and variety, while a lower temperature means more predictability and consistency.
Max tokens: The maximum number of tokens (words or symbols) the model can generate as a response. A higher max tokens means a longer response, while a lower max tokens means a shorter response.
Top P: The probability threshold for selecting the next token. The model will only consider the tokens with a cumulative probability of less than or equal to the top P value. A higher top P means more diversity and exploration, while a lower top P means more confidence.
Frequency penalty: How much the model avoids repeating words or phrases. A higher frequency penalty means less repetition and redundancy, while a lower frequency penalty means more repetition and emphasis.
Presence penalty: How much the model prefers using new words or phrases. A higher presence penalty means more novelty and diversity, while a lower presence penalty means more familiarity and similarity.
What are some use cases for the Qlik OpenAI Connector?
The Qlik OpenAI Connector opens a world of possibilities for using natural language in your Qlik apps. Here are some examples of how you can use it.
Summarizing public sentiment toward a product or company
You can use the connector to analyze social media posts, reviews, or feedback about a product or company and generate a summary of the main themes or sentiments. For example, you can send a prompt like “Write a summary about the reception towards ” & [Product] & ” by ” & [Company] and get a response like:
“The reception towards Product X by Company Y is mostly positive, with customers praising its quality, design, and functionality. However, some customers have complained about its high price and poor customer service.”
Suggesting responses to customer support tickets
You can use the connector to help your customer support representatives handle tickets faster and more effectively. You can send a prompt like “Suggest a response for a customer support representative for the following case: ” & [ticket_text] and get a tailored response like:
“Dear Customer,
Thank you for contacting us. We are sorry to hear that you are having trouble logging in to your account. We apologize for any inconvenience this may have caused you.
We have fixed the issue, and you should be able to log in now. Please try again and let us know if you still need any help.
Thank you for choosing our service.
Sincerely, Customer Support Team”
You can then use application automation to send this suggestion to a Teams channel or an email address.
Generating social media posts from job descriptions
You can help your Marketing department by generating social media posts. You can send a prompt like: “Write a LinkedIn post for the following job description: “ & [raw_job_description] and get a response like:
“📢 Are you a junior/mid-level BI consultant looking for an exciting opportunity? 🤔 Pomerol Partners is hiring! 🎉 We are looking for someone with a degree in Computer Science or equivalent, 2-3 years of Software Engineering experience, knowledge/experience with Microsoft Power BI, ETL processes and Data Modelling, Data Bases (Postgres, SQL Server, Oracle) and SQL. You should have functional knowledge on reporting and data analysis, an analytical mind with a problem-solving aptitude, self-motivation and commitment to deadlines, be a team player and have good verbal and written English communications skills. 🌍 You will participate in technologically attractive and international projects; receive training and certifications; enjoy hybrid work; and be integrated into a young, solid, ambitious and motivated team. 🤝 Send us your CV in English! #PomerolPartners #BIConsultant #JobOpportunity #DataAnalysis #ProblemSolving #TeamPlayer #HybridWork”
You can do this in the data model to store responses and create a results library.
These are just some ways you can use the Qlik OpenAI Connector to enhance your data analysis and communication. Don’t hesitate to get in touch with us if you want to learn more about this connector or see it in action.
We hope you enjoy using the Qlik OpenAI Connector and discover new insights and opportunities with OpenAI’s natural language models.
Discover and Solve Business Intelligence Collaboration Challenges
The Problem
So here’s the problem. How do you foster sharing and collaboration between users of your analytics platform? How do you transform ‘Consumers’ of analytics to ‘Contributors’? The data flow shouldn’t be a one-way street, and we shouldn’t be consuming the final output in silos. It turns out this is partly a working culture challenge, breaking down our ‘old way’ of working can be difficult, but there’s also a lack of ‘in-app communication’ within most BI tools. How can we expect workers to drive value from the information we’re providing if we’re not giving them an effective way to communicate and share insights?
Business Intelligence is Changing……..Fast!
The demand for data, how we’re filling those data requests and who’s doing it is undergoing a massive transition. ‘First Generation’ BI was centrally controlled and delivered by IT, while ‘Second Generation’ BI saw small analytic groups within business functions querying data sources and building their own reporting. ‘Third Generation’ business intelligence is a new beast based on ‘democratization of data’, but what does this really mean? Well, we’re starting to rethink the custodianship/stewardship/ownership roles around our business data. There’s often a tug-of-war going on between I.T and ‘The Business’. One core objective of ‘self service BI’ is to reach a new audience. It’s about delivering data and insights to the far reaches of the organization in a timely, structured and governed way. The potential impact to improve business operations is immense……..when we get it right.

But democratization of data creates a new challenge…..
How does this broad and disparate user base, sometimes at the periphery of the organization, communicate with each other? Picture a sales rep on the road, a utilities maintenance worker out in the field, or a nurse working the ward. How do they raise data quality issues, share insights with peers, record comments and chat about what they’re discovering? It’s a common thread I’ve seen in all self-service BI environments. Users are taking screen shots, exporting data back out to excel, emailing each other, copying and pasting URLs and setting up teams in external messaging platforms. The missing link here is ‘in-app communication’……and thanks to ‘VizLib Collaboration’, we have a nifty solution for Qlik – and boy have they hit the mark.
VizLib’s extension for Qlik Sense appears as either a popup or embedded chat window within a Qlik Sense app. Users of the app can chat in real time with all the bells and whistles we’ve come to expect from a modern messaging app. Even gifs and emojis for those who have left text communication behind!

Comments can be associated with an individual chart or the entire sheet, and you can comment to the whole user group, or send as a private note. To add context to your comments, bookmarks or current selections can be included so that others can easily recreate on their end the scenario you’re seeing. There’s Slack and MS Teams integration, and the extension will even auto-generate an email with screenshots, the underlying data as an attachment, and a hyperlink for the recipient to navigate directly back to the app in question.

Collaborate and discuss insights in the same place you discovered them!
No more editing screenshots in MS Paint, no more emailing urls, no more explaining what filters you’ve applied in hope that your colleague can recreate your scenario on their end.
Qlik has always been ahead of the game in the self-service BI department, and this innovative new extension by VizLib is the catalyst that can really empower self service analytics from the organization’s core right out to the furthest edges.
Contact Pomerol to see how your analytics consumers can become contributors!
Smart Chicken’s Inspiring Success: Leading the Way in BI and Analytics
Tecumseh Poultry was founded in 1998 based on a simple goal, “to produce the best fresh chicken in the United States”, and that’s what they do! Over 20 years they have defined and then implemented methods which result in the highest quality finished products. In other words, they do things the right way. Not necessarily the easiest, fastest or most efficient way. Simply the right way.
So, what exactly does this mean? Proper treatment and care of their chickens and people, and the utmost care and discretion in how they process and package their product. Furthermore, they do all this while keeping a careful eye on the environment and on the sustainability and renewability of the resources they rely on.
Beyond being industry innovators in their day to day operations, they’re also 10 steps ahead when it comes to how they analyze their business and are visionary in how they use data to identify opportunity for improvement. In fact, Smart Chicken has more advanced predictive analytics than many investment banks we’ve worked with. Recognizing this vision early on, Pomerol was very excited to be given the opportunity to help Smart Chicken take their BI and analytics to the next level.
“Smart Chicken has more advanced predictive analytics than many investment banks”
No shortage of business challenges….
There are many challenges unique to producing a perishable fresh product. The shelf life is short, high wastage would make the business model unfeasible, and there’s no real opportunity for inventory. So, supply and demand need to be in sync, and this requires precision planning and a perfect understanding of your market. Supply is relatively fixed in the short term, but demand can fluctuate wildly depending on time of year, weather and promotional activities. Believe it or not, demand for white breast meat skyrockets for the short period of time that our new year’s resolutions are still intact, before settling back down in February. Try planning around that!
Beyond this, there are a raft of challenges unique to poultry production. Football season sees a huge uptick in wings consumption, but last time we checked, a chicken only has two wings, so there’s no ability to increase production of this single SKU. In another twist, Thanksgiving and Christmas is a time of year where we all get together and eat whole Turkey, but that sees the demand for whole chickens plummet for November and December. Planning around these erratic peaks and troughs causes plenty of pain, but together with the Smart Chicken team we’ve developed some novel ways of optimizing the planning process through a combination of live analytics in Qlik dashboards, and machine learning assisted forecasting with Data Robot.
Using Qlik to shed light on the business
The power of Qlik is leveraged for both its ETL capabilities and as a data visualization and reporting platform. Powerful associative models consolidate data from ERP, CRM, live production and planning tools giving managers an asset to empower decision making.
The customer demand forecasting process is a critical step in the chain to running a successful operation. Visualizing the forecast in Qlik, managers can quickly move from a brand level right down to individual SKUs. Different ordering patterns unique to geographies are easy to see, and the demand fluctuations driven by weather, events, promotions and holidays are all evident when trended or exposed through geographic maps.
Qlik provides a great view into the forecasting and sales data, but with such diverse ordering patterns there’s real opportunity in perfecting the forecasting process right down to the SKU and customer level. Smart Chicken and Pomerol enlisted the help of Data Robot to apply Automated Machine Learning technology to the demand forecasting process.
Taking forecasting to the next level with Data Robot and Automated Machine Learning
What really separates Smart Chicken apart from their competitors is how tight their forecasting and planning process is. Representatives in the field have their finger on the pulse by chatting to customers in supermarkets and they feed anecdotal information back into the planning team, while back at head office demand is forecast right down to the SKU and customer level, something most companies would not dare attempt.
Instead of applying a single forecasting algorithm across all customers and SKUs, Data Robot has enabled Smart Chicken to mathematically cluster and segment similar customers and products based on volume and ordering behaviors. Unique forecasting models are then auto-generated for each unique cluster.
Pulling from a library of hundreds of predictive models, Data Robot ranks its recommended models based on performance, error and speed, and then recommends a model to be put into production. Without an in-house data science team, Smart Chicken uses the power of automated machine learning and predictive analytics to further refine customer demand forecasting.
Beyond demand forecasting
While customer demand is a pivotal data point for Smart Chicken, there are other parts of the business that can also benefit from the power of Data Robot. Predicting the growth trajectory and final weight of chickens can inform the planning process of anticipated supply. In a sector where inventory is almost non-existent, having a keen eye on supply avoids surprises and lets the customer support team know exactly how much produce they have available to distribute. Having advance notice of any expected shortfalls lets customer service pro-actively manage expectations.
In another industry first, Smart Chicken have installed a full end-to-end ‘air chill’ system – the only one of its kind in the US. While the impact this has on product quality is beyond measure, it’s a tricky piece of equipment to run and presents a risk should it fail. Smart Chicken are looking to Data Robot for predictive maintenance. By analyzing the events leading up to previous parts failures, we can begin to predict when another failure is looking likely. IOT sensors constantly measure conveyor belt motor amperage, temperature and tension. The most minute change in tension may indicate a stressed or worn ball-bearing, or a slight increase in motor temperature might indicate an increased level of strain. Being able to pro-actively identify issues before they fail during production hours can have a massive impact on continuity of supply.
Looking to the future
As consumers place a higher importance on the quality and origin of their produce, the market for Smart Chicken’s products is on the rise. The game-changing innovator from small-town Nebraska is setting the bar for the larger producers. We’re excited to be on the analytics journey with them!
Visit the Smart Chicken website: https://www.smartchicken.com