Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
This space offers a variety of blogs, all written by Qlik employees. Product and non product related.
By reading the Product Innovation blog, you will learn about what's new across all of the products in our growing Qlik product portfolio.
The Support Updates blog delivers important and useful Qlik Support information about end-of-product support, new service releases, and general support topics.
This blog was created for professors and students using Qlik within academia.
Hear it from your Community Managers! The Community News blog provides updates about the Qlik Community Platform and other news and important announcements.
The Qlik Digest is your essential monthly low-down of the need-to-know product updates, events, and resources from Qlik.
The Qlik Education blog provides information about the latest updates of our courses and programs with the Qlik Education team.
How “flipping” the way we teach and assess students will actually improve their learning.
Today most classes conduct quizzes offering binary grades: you either pass, or fail, or somewhere in between. As a student, what can you learn or apply from this type of grading? Not much, unfortunately. All of these learning approaches are actually getting in the way of how adult students should learn. There’s a better way: flip the classroom, flip the assessment.
To learn more visit this months blog post at
http://global.qlik.com/us/blog/posts/kevin-hanegan/are-grades-getting-in-the-way-of-our-learning
Dear NPrinting users,
As we always remind our users, it is always important to backup your installation before running any software upgrades. We have unfortunately discovered an issue when upgrading to NPrinting 17.X, if the installation fails for some reason and the install rolls back, it may delete the NPrinting repository. Please ensure that you backup the repository prior to upgrading. Known issue OP-2919, article 000023289.
We apologize for any inconvenience.
Kind regards
Global Support Team
Today I'll be posting on behalf of Yang Yang who recently came up with this interesting article around the geospatial functions available in Qlik Sense, I'm sure you'll enjoy it.
Arturo
Qlik Sense is Gorgeous and Genius. So far, you probably have seen the intelligent visualizations that are out-of-the-box in Qlik Sense, including maps. What about advanced geospatial functions such as merging geometries or the converting spatial projections? Will those features be added in Qlik Sense product? I recently bumped into a few geospatial functions that are not yet well known. Here are the findings from my experimenting of those functions. The QVF and supporting data are also available for download at the bottom of the article.
Two categories of functions
There are two categories of these geospatial functions: aggregation and non-aggregation.
Aggregation functions will take the input of a set of geometries (points or areas) and output with one geometry. For example, you can merge multiple areas together and draw a single boundary for the aggregation on the map. On the other hand, non-aggregation function will only take the input of one geometry and then output one geometry. For instance, you provide the boundary geometry of one area to a function called GeoGetPolygonCenter, it will return the point geometry (longitude and latitude) for the center of that area.
There are two types of parameters that may required by the geospatial functions:
- Geometry, can be any of the following:
- a point (latitude, longitude)
- an area
- Projection, With Mercator projection you can represent maps in square format, correcting for the distortion created by stretching. This can be any of the following:
- 'unit' (default) - projection is 1:1
- 'mercator'
Aggregation functions
There are five aggregation functions available in the current release of Qlik Sense (1.0.1).
GeoAggrGeometry
This function can be used to aggregate a number of areas into a larger area, for example aggregating a number of sub-regions to a region.
GeoAggrGeometry(geometry).
A typical use case of this function is: A company has geospatial boundary data for each postcode areas in Sydney and the sales revenue from each area. A sales person has his or her sales territory that covers a number of postcode areas. The sales territory will be adjusted from time to time and there's no geospatial data for the boundary of this changing territory. How can the company present the total of sales by region on a color filled map?
With GeoAggrGeometry(), we can calculate the aggregation of multiple suburb level geometries and generated the merged territory geometry in the data model. If the sales territory changes, the new merged boundary can be reflected on map after the reload.
GeoReduceGeometry
This function can be used in scripts to aggregate a geometry into an area.
GeoReduceGeometry(geometry)
This function is similar to GeoAggrGeometry(). The only difference is, though the areas are aggregated, area level boundary lines are still kept on the map display.
GeoBoundingBox
This function can be used in scripts to aggregate a geometry into an area and calculate the smallest GeoBoundingBox that contain all coordinates.
A GeoBoundingBox is represented as a list of four values: left, right, top, bottom.
As explained above, this function will firstly aggregate a set of geometries together, then it will produce four coordinates for the smallest rectangle that contains all the coordinates of that aggregated geometry.
To visualize the result on map, you need to transfer the 4 coordinates string into ordinary polygon format, tag the transferred field with certain geopolygon format, drag and drop that field into the map object, then you can see rectangle boxes.
GeoInvProjectGeometry
This function can be used in scripts to aggregate a geometry into an area and apply the inverse of a projection.
GeoInvProjectGeometry(projection, geometry)
GeoProjectGeometry
This function can be used in scripts to aggregate a geometry into an area and apply a projection.
GeoProjectGeometry(projection, geometry)
Non-aggregation functions
There are four non-aggregation geospatial functions in the current release of Qlik Sense (1.0.1).
GeoGetPolygonCenter
This function can be used in scripts and chart expressions to calculate and return the center point of a geometry.
GeoGetPolygonCenter(geometry)
In some case, we want to plot dot instead of color fill on map. If the existing geospatial data is only available in the form of area geometry (e.g. boundary), we need function that can retrieve one pair of longitude and latitude for the center of area. Therefore, GeoGetPolygonCenter() is provided in Qlik Sense.
For example, we can still create bubble map like below to plot the central points of Sydney suburbs, though we only have boundary information in the data source.
GeoGetBoundingBox
This function can be used in scripts and chart expressions to calculate the smallest GeoBoundingBox that contain all coordinates of a geometry.
A GeoBoundingBox is represented as a list of four values, left, right, top, bottom.
As described in the previous section, with a few extra steps, you can visualize rectangle boxes on a map object.
GeoProject
This function can be used in scripts and chart expressions to apply a projection to a geometry.
GeoProject(projection, geometry)
This is a projection function for a single geometry. As explained in the previous section, this function will be useful for map areas that are close to the north or south pole.
GeoMakePoint
This function can be used in scripts and chart expressions to create and tag a Point with latitude and longitude.
GeoMakePoint(latitude, longitude)
Those non-aggregation functions can be called in load script. Error message will be thrown if they are used together with "group by" clause.
It's exciting to play with the brand new geospatial functions. When you enjoy discovering more business insights with those out-of-the-box features, please remember, this is just the beginning of Qlik Sense.
Yang Yang - Qlik Senior Solution Architect
Who this project template is for
Developers creating Qlik Sense mashups with Qlik Sense 3.0 or above, who have at least a decent understanding of Angular.js and Require.js and would like to use a project template to speed up development.
Anyone only looking for a predesigned layout in which to simply add Qlik Sense objects
This project template helps organize all your config code in one place, and provides you with a decent architecture for a component based approach to an angular app. It has a few useful prebuilt components specific to qlik sense mashups, which use a nice pattern which can be borrowed to create more components.There's also a gruntfile to compile less and build your app using the r.js optimizer. I'll go over the parts of the template now.
The project template has a top level main.js file that contains the config code for the Qlik Sense Root API and Require.js, and acts as the entry point for most of the proejct, requiring the Qlik Sense API code as well as all the project app code. It's here, for instance, that you can change the the app id you would like to connect to, and add paths and shims to require. The default Require.js context is used for loading the Qlik Sense API code, while a second context, named "requireApp", is used to require the app code from the app folder.
This file is found under the app folder, and is the entry point for the app. The main app angular module is created here, the templates are loaded, and the angular app is bootstrapped with the project app and Qlik Angular API app.
This is an angular service which opens a Qlik Sense app using the Root API with the app id specified in the main.js file, and provides access to it throughout the rest of your app. The service also has methods which can be used in place of the App API createCube, createGenericObject, createList, and createTable methods, which act just like the corresponding App API methods, but allow you to pass $scope as a parameter, which then takes care of the destruction of session objects when their scope is destroyed.
This component gives you the ability to use the App API getObject method as a directive, with the added functionality of closing the object when its scope is destroyed.
This component exposes the App API getResults method as an easy to use directive, using the typeahead from UI Bootstrap to display results, and allowing selections from those results.
This is a directive for a dropdown component, which allows you to add a field from the Qlik Sense app and make selections. It displays the name of single selections, or the count of multiple selections, as well as indicating the state of each individual value in the dropdown. It also makes use of virtual scrolling, to prevent too many watchers.
This is a view component which is simply here as an example. It requires the dropdown, search, and senseObject components and uses them, and is itself required by the app.js file and injected into the main angular app module.
The gruntfile is configured to compile all of the less in each individual component, as well as the main.less file located in css/less folder, compile the templates.js file from all html files found in components, and run the r.js optimizer from the app entry point.
You can find this project on Qlik Branch @ Qlik Lars Project Template
Greetings Qlik Community. I pleased to introduce you to our newest Guest Blogger, David Freriks. David is a Technology Evangelist on the Innovation and Design team at Qlik. He has been working in the "big data" space for over three years, starting with Hadoop and moving onto Spark in this continuously evolving ecosystem. He has 18+ years in the BI space, helping launch new products to market. David is here today to discuss a few approaches on how Qlik can address...."Big Data".
"Big Data"
The term "Big Data" has been thrown around for several years, and yet it continues to have a very vague definition. In fact, there are no two big data installations and configurations alike – insert snowflake paradigm here. It’s no surprise, given the unique nature of “big data”, it cannot be forced into an abstract model. These type of data systems evolve organically, and morph based on the ever changing business requirements.
If we accept that no two big data systems are alike, how can one deliver analytics from those systems with a singular approach?
Well, we can’t – in fact it would be quite limiting to do so. Why?
Picking one and only one method of analysis prevents the basic question “What problem is the business user trying to solve?” from being answered. So what do I mean by “picking one version of analysis”?
The market breaks it down into the following narrow paths:
These solutions have their place, but to pick only one greatly limits a user’s ability to succeed, especially when the limits of each solution are reached.
So how does Qlik differentiate itself from the narrow approaches and tools that exist in the market?
Simple answer, variety. Qlik is in a unique position that offers a set of techniques and strategies that allow the widest range of capabilities within a big data ecosystem.
Below are some of the approaches Qlik addresses the big data community with:
In summary, to prevent limited interactions with whatever “big data” system you use, you need options. Qlik is uniquely positioned in this area due to the power of the QIX engine and our ELT + Acceleration + Visualization three-in-one architecture. Since no two big data systems are alike, Qlik offers the most flexibility with solutions in the market to adapt to any data scenario big, or small.
Regards,
David Freriks
Emerging Technology Evangelist
Follow me: David Freriks (@dlfreriks) | Twitter
Qlik Sense 3.0 has expanded the capabilities of Smart Search by including visual results when you perform a search in your Qlik Sense app. Not only can you search for field and dimension values in your data model, you can now search chart types, chart names (titles, subtitles and footnotes), dimension and measure definitions and labels.
Let’s use the Consumer Goods Sales demo to see some of the ways the Visual Search works. To begin a search you simply click the Search icon in the upper right corner of the sheet. Say I want to find all maps in my app. I can search for map and the results will show me the map objects in my app. I can click on the map to view it on the sheet.
My map search did not return any results (in the Apply a selection section) that I could make selections on so let’s do another search to see where I have used the Product dimension in my app. In the image below you can see that this search returns not only visualizations but data fields that I can make selections on. I can navigate through the visualizations returned by my search by using the arrow on the right. At the bottom in the Apply a selection section, I can make a selection in the search results to filter the data in my app.
Under the charts in the Explore section there is an info icon. Clicking this icon will show where my search string was found in the chart. For instance in the first chart, the Product dimension was used in the chart. In the third chart, product was found in the title, dimension name and data value.
Above you can see how we can search for a dimension. The same can be done for a measure but note that the search does not return measure values. I really like the ability to search measures because now I can quickly check to see if I am using a specific field in one of my measures without manually checking each measure. In this example, I want to see where I am using the Sales Amount field in my app. If I search for “Sales Amount” with double quotes, I can find all the charts that use this field in the measure.
In this example, I used double quotes because I knew the field was named Sales Amount. If I did not use the quotes, the search would have searched for the words Sales and Amount separately. Arturo Munoz created a Qlik Sense Search Cheat Sheet that has some helpful tips on performing searches.
The new Visual Search in Qlik Sense 3.0 expands the search capabilities that can be performed in an app by searching objects and master items as well as field values making it easier to find what you are looking for and to filter your data. Michael Tarallo created a brief video on this new feature – check it out!
Thanks,
Jennell
In a project that I am currently working on, we thought that it would be a great idea, if we displayed data much like Google Finance, with line chart and annotations. Of course this does not currently exist in Qlik Sense so I decided first to create it in my Angular Template (Qlik Branch). Once that was done, I moved it into a directive for easier distribution and then created an extension for it, so we can use it in other projects straight from Sense without the need of my template.
For the Directive, we need to define the options in our controller like:
$scope.googleAnnotation = {
id: 'cases',
title: 'New Cases by Department over time',
height: 600,
dimensions: [
'Case Created Date',
'Case Owner Group', // Title
'Case Owner', // Description
],
measures: [
"=Sum([Number of New Cases])",
],
headers: ['Date', 'Number of New Cases','Case Owner Group','Case Owner'],
options: {
displayAnnotations: true,
colors: ['#cc3c3c','#395878','#c88d8d','#6f92b5'],
displayAnnotationsFilter: true,
displayDateBarSeparator: true,
displayZoomButtons: true,
displayRangeSelector: true,
thickness: 2,
},
}
$scope.dt = {
from: new Date(2015, 0, 1),
to: new Date(2015, 3, 1)
};
And in our html view
<google-annotation-chart data-data="googleAnnotation" data-dt="dt"></google-annotation-chart>
For this example I am connected to helpdesk that is bundled in Qlik Sense Desktop.
We have to get the data in this specific order, Date, Annotation Title, Annotation Description, X-Axis data for the first line as a measure
dimensions: [
'Case Created Date',
'Case Owner Group', // Title
'Case Owner', // Description
],
measures: [
"=Sum([Number of New Cases])",
],
There are some headers that appear on top of the line chart as we move our mouse. We define those in the headers array
headers: ['Date', 'Number of New Cases','Case Owner Group','Case Owner'],
The options are described here and you can pass any of those if you want:
Annotation Chart | Charts | Google Developers
The final results should look like
Here is another version for the Presidential Election where we pass selections and zooming, found at
For the Extension, you can get it from
The various settings that I have so far:
For installation instructions and usage, please follow the guidelines at the project's homepage.
Angular Template:
Directive Example :
http://webapps.qlik.com/yianni/playground/index.html#/google-annotation-chart
Google Referance:
Annotation Chart | Charts | Google Developers
Download Extension from:
GitHub - yianni-ververis/google-annotation-chart: Google Annotation Chart
Yianni
How Qlik is helping address today’s skill gap in analytics and data visualization.
According to a recent CNN report, over 8 million Americans alone are looking for a job, and many of them do not have the necessary skills to apply for those jobs. What is being done about it? Universities are adding in analytics-related majors and minors and companies are trying to pivot faster to create more on-the-job training to address the skills gap.
At Qlik, we recognize the skills gaps and that students preparing for careers in today’s global data-driven environment need to raise the bar to succeed. As a result, over the last several years, Qlik has been providing free software and learning resources to universities through the Academic Program.
To continue to meet a growing demand, Qlik is excited to add a Data Analytics curriculum to the program which covers analytics and visualizations. This curriculum can be used by professors to help ensure that they are instructing with the best course material. It is not sufficient to just teach people how to create a bar chart, if they don't know how to interpret it, and ask basic analytic questions of it. Students need to understand ‘why’ and be able to interpret data in an analytic way; this curriculum will help them with that.
In addition, Qlik is also pleased to announce that we are now providing free access to our self-service online learning platform, Qlik Continuous Classroom (qcc.qlik.com) to all program participants. The Qlik Continuous Classroom provides not just training on Qlik’s products, but also best-in-class training on analytic concepts, basic statistics, data visualization techniques and best practices.
To read the full story visit Solving the Data Literacy Gap | Qlik
To learn more about the Qlik Academic Program visit The Qlik Academic Program
In this blog, I am going to discuss some things you should do before you publish and/or share your Qlik Sense app with others. These tips are steps that can be taken to improve the user experience whether they are simply viewing the app or making edits to the app.
Or this one?
Presented here are a few tips that can be taken to polish your Qlik Sense app before you share it with others. These tips take a few minutes to implement and can improve the user experience thus their understanding of the app. You should also check out Michael Anthony’s blog on UX Best Practices for Data Analysis. It provides a detailed overview of some topics I discussed such as color, mobile design, layout and so much more.
Thanks,
Jennell
The Qlik Sense Business Analyst Certification Exam is now available globally at Pearson VUE Test Centers!!
For more information about the exam, visit http://www.qlik.com/us/services/training/certification/qlik-sense-analyst.
This exam is the THIRD Qlik Sense Certification released - the other two are Qlik Sense System Administrator and Qlik Sense Data Architect. To learn more about Qlik certifications and read the FAQ visit the Certification web pages: http://www.qlik.com/us/services/training/certification
We encourage all Qlik users to attend training, gain hands-on experience, and get certified! To register for your certification exam on the Pearson VUE web site. Go to http://www.pearsonvue.com/qlik
Hello all
We are pleased to announce that Qlik Sense 3.0 is now available on our download site.
This is a big release that comes with several new features, for example:
On top of that we are also including:
For additional details around the Qlik Sense 3.0 release, please see the attached release notes and this video index:
Kind regards
Global Support Team
The introduction of Qlik Sense APIs provided us with a flexible toolset to build, extend, and combine Qlik Sense with other technologies. The Qlik Sense APIs enable data to be freely exchanged between Qlik Sense and any web application, which means developers can build true data mashups with any web services or third-party library.
If you are interested in understanding more in detail how the APIs work please check Qlik Sense Developers help and Francis or Yianni posts in this blog.
I’d like to show you some of the most recent projects we have been involved in that may motivate you to try out the Qlik Sense APIs.
We partnered with The Telegraph to create a visualization that tries to help to answer questions such as, how many refugees are coming into Europe and what route do they take. The visualization piece is embedded as a part of a larger article at their online site.
See it live here.
We have worked on several surveys data visualization projects during the last months but I will pick two examples and I'm sure you will get the idea.
We built interactive pieces for their survey’s data adding the power of the associative engine to the survey's responses making it much more interesting, allowing us to filter the resultset to our particular interests.
The Economist. Unique selling points. See it live here.
Forbes Insights. The agile, data-driven company. See it live here.
"When you’re buying a plane ticket, there’s a lot to consider: how much it costs, what time the flight leaves, whether there’s a layover—and which airline to fly." That's how Time Magazine introduced this piece that will help us, based on our own criterias, discover which airline fits you better.
See it live here.
I hope you like these examples.
AMZ
Few things are as important to understand as the concept of nothingness. Or, rather, the fact that there are always many levels of nothingness.
In physics, vacuum is the word used for nothingness. But whereas the best vacuum on earth contains billions of molecules per cubic meter, vacuum in outer space contains fewer than a dozen. So, these two vacua are completely different. And neither is really empty.
What if we find some space completely void of molecules? Would that represent nothingness? No, because the space would still be traversed by force fields, e.g., gravitation from distant stars. But space void of force fields, then? No, you would still have vacuum fluctuations, a quantum mechanical effect that can create particles from nothing. True nothingness may perhaps not exist. But one thing we know for sure is that there are levels of nothingness; one vacuum is not the same as the other.
In Lund there is a statue of Nothingness (Swedish: “Intighet”). There is nothing there, except the void of statue. But the statue’s existence is shown by a small plaque in the ground.
To complicate matters, there is a second plaque some centimeters away that announces that the statue has been stolen. The two plaques illustrate both the sense of humor in the student city of Lund and the universal existence of different levels of nothingness.
In databases and in QlikView, NULL is the word used for nothingness. But this is not the only type of nothingness. Also here you have different levels:
If you want to present data in a correct way and at the same time enable the user to search for missing values, e.g., customers that have not bought a specific product, you need to understand the different cases of nothingness. Nothing could be more important.
More on nothingness:
Excluding values in Set Analysis
Also, see more about this topic in this Technical Brief: NULL and Nothingness
The Visualization API is a cool new API introduced in Qlik Sense 2.2 that allows you to create visualizations right in javascript, removing the need to create visualizations in the Qlik Sense client before they can be used in a mashup.
Here's a simple example, using the "Consumer Goods Sales" app.
app.visualization.create('linechart',['Month', '=Sum([Sales Margin Amount])'])
.then(function(vis){
vis.show("QV01");
});
This will create a line chart with the one dimension, the "Month" field, and one measure, the expression "=Sum([Sales Margin Amount])". If you try this though, you'll notice that the y-axis label is equal to the expression, and you may want to name the label instead. In this case, we need to use the third, optional, parameter to the Visualization API create() method, which is an options object.
In the options object we can specify a qHyperCubeDef instead of using the second, optional, column parameter to the create() method. We also have to do it this way if we wish to use a custom Dimension or Measure created in the Qlik Sense client, as the column parameter will only accept field names and expressions. Here's an example
app.visualization.create('linechart',[],
{
qHyperCubeDef: {
qDimensions: [
{
qDef: {
qFieldDefs: [
"Month"
]
}
}
],
qMeasures: [
{
qDef: {
qDef: "Sum([Sales Margin Amount])",
qLabel: "Sales Margin"
}
}
],
qInitialDataFetch: [
{
qHeight: 12,
qWidth: 2
}
]
}
})
.then(function(vis){
vis.show("QV01");
});
Notice, we left the column parameter as a blank array. If you try to enter text into the column parameter array in addition to the including the qHyperCubeDef option, you may end up with an error.
You can set quite a few options like above, or you can use the Visualization API setOptions() method, which lets you change options on an already existing object. For instance, if we wanted the chart above to display sales over time instead of sales margin over time, we could update the hypercube with the setOptions() method, like below.
visRef.setOptions({
qHyperCubeDef: {
qDimensions: [
{
qDef: {
qFieldDefs: [
"Month"
]
}
}
],
qMeasures: [
{
qDef: {
qDef: "Sum([Sales Margin Amount])",
qLabel: "Sales Marginffff"
}
}
],
qInitialDataFetch: [
{
qHeight: 12,
qWidth: 2
}
]
}
})
Notice we called the setOptions() method on visRef, which is a reference to the vis object returned in the create() method callback.
This is really just scratching the surface of the possibilities of the Visualization API. Be sure to check it out!
One of QlikView’s key differentiators is the associative experience, the ability for business users to easily navigate through data sets to not only find answers to their questions, but to also discover new insights, and spot hidden trends. Only QlikView provides business users with this level of flexibility and insight.
Once the business users find a key insight or trend though, they might want to compare that with a slightly different view. For example, if they find that bike and accessory sales in Europe have flattened out over the last few quarters, they might wonder how that compares with the rest of Europe. Of course with QlikView they could immediately select the other European countries instead of France and immediately get the answer. But what if they wanted to see those two or more different views side by side?
One of the approaches that are used in those situations is using set analysis. With set analysis, it is possible to create data groups in charts and use them for visual comparison. The limitation of set analysis is the person creating set analysis should know about the type of groups that the other users would like to compare and set it up in advance accordingly.
QlikView 11 Comparative Analysis (Alternate State is the technical name of the feature) overcomes this challenge. The goal of Comparative Analysis is to make it easier and flexible for business users to see two or more data sets in the same application, alongside each other in the same graph, in graphs next to each other, or even as reference points for calculations and comparisons.
Comparative Analysis is a developer enabled capability, meaning developers need to set up the basic framework for comparison in an application. But it is a user-driven feature; meaning business users can then define the selections they want to compare. This video shows how to create alternate states, assign QlikView objects to them, and the concept of inheritance of alternate states. I will post about more creative ways of using alternate states in a couple of weeks, stay tuned!
There are two string operators that can be used in Qlik Sense and QlikView. They are & (ampersand) and like. While I use the ampersand all the time, I have never used like before but I will start after learning how easy it is to use. The & operator is used to concatenate two strings. I often use this when I want to combine text and the results of a calculation in a chart title or Text and Image object. For example in the bar chart below from the Executive Dashboard demo, this expression is used for the title:
'Total Revenue by Product Group = ' & num(Sum([Sales Quantity]*[Sales Price]), '$#,##0')
The expression uses the ampersand to concatenate the string 'Total Revenue by Product Group = ' and the results of the total revenue calculation: num(Sum([Sales Quantity]*[Sales Price]), '$#,##0') into one string. It will place the strings right after one another so do not forget to add spacing in between your strings if necessary.
The like operator has another purpose. It compares two strings using wildcard characters and returns the Boolean value of True if the string before the operator matches the string after the operator. The two wildcard characters that can be used in the string after the operator are * and ?. The * represents any number of characters while the ? represents only one character. Take a look at how this works in the examples below.
The like operator can be used when you need to compare two strings that may vary slightly. Assume you have a full list of products that look like this:
The like operator can be used to display products that start with ‘Product’ and end with the number 1.
The expression below could also have been used returning all products that end in 1.
If(ProductName like '*1', ProductName)
Ampersand and like are string operators that can be used in charts and in the script to concatenate or compare strings. They are both binary operators meaning they take two operands. When using the & operator, each string on either side of the & is an operand. The same applies to the like operator with the operands being on each side of the like operator. Happy Qliking!
Thanks,
Jennell