

{"id":37847,"date":"2018-11-07T12:22:30","date_gmt":"2018-11-07T06:52:30","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=37847"},"modified":"2021-12-07T11:23:48","modified_gmt":"2021-12-07T05:53:48","slug":"qlikview-backus-naur-form-bnf","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/","title":{"rendered":"QlikView Backus Naur Form &#8211; Example of BNF in QlikView"},"content":{"rendered":"<p>In our last tutorial, we discussed <a href=\"https:\/\/data-flair.training\/blogs\/qlikview-publisher-repository-qvpr\/\"><strong>QlikView Publisher Repository<\/strong><\/a>. Now, we will learn Backus Naur Form, in which we studied example of QlikView BNF. Along with this, we will learn what is QlikView\u00a0Backus Naur Formalism.<\/p>\n<p>An important part of QlikView functioning is the QlikView scripting as nearly all the operations being performed on the data or on the application are done through script commands. You must have seen and dealt with commands and scripting before while working with any computer language.<\/p>\n<p>Now a thing to wonder is how these computer languages are formulated. It is done by setting standardized forms like <strong>Backus Naur form (BNF)<\/strong>.<\/p>\n<p>So, let&#8217;s start\u00a0QlikView Backus Naur Form Tutorial.<\/p>\n<h3>What is Backus Naur Form (BNF)?<\/h3>\n<p><strong>Backus Naur Form<\/strong> is a metalanguage. Metalanguages are the languages which are used to explain other natural or computer languages. Any metalanguage follows a specific notation technique or metasyntax through which rules of a language are defined and explained.<\/p>\n<p>In the world of computing, there are several widely used metalanguages are <em>Backus Naur Form (BNF), Extended Backus Naur Form (EBNF), Augmented Backus Naur Form (ABNF).<\/em><\/p>\n<p>Formulating a language for computers in a well-defined and formatted structure is very important for the language to properly convert into a machine language during execution.<\/p>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/qlikview-web-server-qvws\/\">Do you know What is\u00a0QlikView Web Server (QVWS)?<\/a><\/strong><\/p>\n<p>The Backus Naur Form is designed in a specific way with a set of derivation rules expressed as,<\/p>\n<p><strong>&lt;symbol&gt; ::= __expression__<\/strong><\/p>\n<p>Every BNF statement follows this rule, where the symbol is a value defined using \u2018::=\u2019 sign and the __expression__ are the possible and valid variables that can take up for the defined value. Let us understand this by dividing the above statement into a right half and a left half. The right half has a Non-terminal value and the left half has Terminal values.<\/p>\n<ul>\n<li><strong>Non-Terminals-<\/strong> The Non-terminals are syntactic or lexical entities that use to define a symbol to be used in a language abiding the formal grammar rules. These are always enclosed in &lt;&gt;.<\/li>\n<li><strong>Terminals-<\/strong> The Terminals are symbols\/values that are the probable outcomes of the defined (non-terminal entity\/symbol) as per the rule. These values are not susceptible to change by the rule.<\/li>\n<\/ul>\n<p>In an expression, let\u2019s suppose that we are defining an entity &lt;digit&gt; then on the right side of the expression will be all the terminal values i.e. the possible values that can be taken up by the system as Digits like 0,1,2,3.. etc.<\/p>\n<div id=\"attachment_37850\" style=\"width: 905px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/BNF1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-37850\" class=\"size-full wp-image-37850\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/BNF1.png\" alt=\"QlikView Backus Naur Form - Example of BNF \" width=\"895\" height=\"253\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/BNF1.png 895w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/BNF1-150x42.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/BNF1-300x85.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/BNF1-768x217.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/BNF1-520x147.png 520w\" sizes=\"auto, (max-width: 895px) 100vw, 895px\" \/><\/a><p id=\"caption-attachment-37850\" class=\"wp-caption-text\">QlikView Backus Naur Form<\/p><\/div>\n<p>The values or symbol sequences defined on the right are separated by \u201c|\u201d, in case of more than one values. A Non-Terminal can also be defined in or replaced by one or more Non-Terminals on the right side. For instance, if after defining &lt;digits&gt; we want to define &lt;integer&gt; we can do it by creating a rule so that integer is replaced by one or more digits.<\/p>\n<p><strong>&lt;integer&gt; ::= &lt;digit&gt; | &lt;digit&gt;&lt;digit&gt;<\/strong><\/p>\n<p>Here, both &lt;integer&gt; and &lt;digit&gt; are Non-Terminals and will give an output like,<\/p>\n<p><strong>&lt;integer&gt; ::= 5<\/strong><\/p>\n<p><strong>&lt;integer&gt; ::= 86<\/strong><\/p>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/qlikview-snmp-tutorial\/\">Follow this link to know about QlikView SNMP<\/a><\/strong><\/p>\n<h3>QlikView Backus Naur Form Examples<\/h3>\n<p>Let us gain a better understanding of Backus Naur Form through some examples of statements used commonly. Like the BNF is given for a postal address can see below.<\/p>\n<p align=\"justify\"><span style=\"font-family: Courier New, serif\">&lt;postal-address&gt; ::= &lt;name-part&gt; &lt;street-address&gt; &lt;zip-part&gt;<\/span><\/p>\n<p align=\"justify\"><span style=\"font-family: Courier New, serif\">&lt;name-part&gt; ::= &lt;persona1-part&gt; (last-name&gt; &lt;opt-suffix-part&gt; &lt;EOL&gt;<\/span><\/p>\n<p align=\"justify\"><span style=\"font-family: Courier New, serif\">| &lt;personal-part&gt; &lt;name-part&gt;<\/span><\/p>\n<p align=\"justify\"><span style=\"font-family: Courier New, serif\">&lt;personal-part&gt; ::= &lt;initial&gt; &#8220;.&#8221; | &lt;first-name&gt;<\/span><\/p>\n<p align=\"justify\"><span style=\"font-family: Courier New, serif\">&lt;street-address&gt; ::= &lt;house-num&gt; &lt;5treet-name&gt; &lt;opt-apt-num&gt; &lt;EOL&gt;<\/span><\/p>\n<p align=\"justify\"><span style=\"font-family: Courier New, serif\">&lt;zip-part&gt; ::= &lt;town-name&gt; &#8220;,&#8221; &lt;5tate-code&gt; &lt;ZIP-code&gt; &lt;EOL&gt;<\/span><\/p>\n<p align=\"justify\"><span style=\"font-family: Courier New, serif\">&lt;opt-suffix-part&gt; ::= &#8220;Sr.&#8221; | &#8220;Jr.&#8221; | &lt;roman-numeral&gt; | \u201c\u201d<\/span><\/p>\n<p align=\"justify\"><span style=\"font-family: Courier New, serif\">&lt;opt-apt-num&gt; ::= &lt;apt-num&gt; | \u201c\u201d<\/span><\/p>\n<p>Here, if we translate the given BNF line by line into English, then it will be something like this. The first line states that the postal address (non-terminal) will consist of parts like name, street, zip-part. Then the name part can be a personal-part followed by last-name followed further by an optional suffix like Mr. Mrs. etc., (the EOL defines the ending of a line) or it can be just personal part and name part.<\/p>\n<p>Defining further, the personal part may consist of an initial followed by a dot or just be the first name. The same logic follows for the other lines for street address, zip part. The opt-suffix-part defines all the possible values that can be taken up as a suffix while writing the address. The opt-apt-num is the optional apartment number string.<\/p>\n<p>The entire block of code is called the syntax and a complete statement is known as a rule. A rule in this example is &lt;postal-address&gt; statement, &lt;name-part&gt; statement and so on. On the right of these rule, statements are the expressions which count as two or more lists separated by a pipe |.<\/p>\n<p>In the information provided in the image below, Backus Naur Form syntax express by BNF rules.<\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;Synta&gt; ::= (rule) | &lt;rule&gt; &lt;Syntax&gt;<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;rule&gt; ::= &lt;opt-whitespace&gt; \u201d&lt;\u201d &lt;ru1e-name&gt; \u201d&gt;\u201d &lt;opt-whitespace&gt; &#8220;::=&#8221; &lt;opt-whitespace&gt; &lt;expression&gt; &lt;1ine-<\/span><\/span><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\"><b>end<\/b><\/span><\/span><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&gt;<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;opt-whitespace&gt; ::= &#8221; \u201d &lt;opt-whitespace) | \u201c\u201d <\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;expression&gt; ::= &lt;list&gt; | &lt;list&gt; &lt;opt-whitespace&gt; \u201c|\u201d &lt;opt-whitespace&gt; &lt;expression&gt;<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;line-<\/span><\/span><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\"><b>end<\/b><\/span><\/span><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&gt; ::= &lt;opt-whitespace&gt; &lt;EOL&gt; | &lt;line-<\/span><\/span><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\"><b>end<\/b><\/span><\/span><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&gt; &lt;line-<\/span><\/span><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\"><b>end<\/b><\/span><\/span><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&gt;<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;list&gt; ::= &lt;term&gt; | &lt;term&gt; &lt;opt-whitespace&gt; &lt;1ist&gt;<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;term&gt; ::= &lt;1iteral&gt; | &#8220;&lt;&#8221; &lt;ru1e-name&gt; \u201c&gt;\u201d<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;literal&gt; ::= \u2018\u201d\u2019 &lt;text1&gt; \u2018\u201d\u2019 | \u201c\u2019\u201d &lt;text2&gt; \u201c\u2019\u201d<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;text1&gt; ::= \u201c\u201d | &lt;character1&gt; &lt;text1&gt;<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;text2&gt; ::= \u201c\u201d | &lt;character2&gt; &lt;text2&gt;<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;character&gt; ::= &lt;letter&gt; | &lt;digit&gt; | &lt;symbol&gt;<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;letter&gt; ::= \u201cA\u201d | &#8220;B&#8221; | &#8220;C&#8221; | \u201cD\u201d | &#8220;E&#8221; | \u201cF\u201d | \u201cG\u201d | \u201dH&#8221; | \u201dI\u201d | \u201cJ\u201d | &#8220;K&#8221; | \u201cL\u201d | \u201dM\u201d | \u201cN\u201d | &#8220;O&#8221; | &#8220;P&#8221; | \u201dQ\u201d | \u201dR&#8221; | &#8220;S\u201d | \u201dT\u201d | \u201cU\u201d | \u201cV\u201d | &#8220;W\u201d | \u201dX\u201c | \u201dY&#8221; | &#8220;Z\u201d <\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;digit&gt; ::= \u201d0\u201d | \u201d1&#8243; | &#8220;2&#8221; | \u201d3\u201d | &#8220;4\u201d | \u201d5\u201d | \u201d6&#8221; | &#8220;7&#8221; | \u201d8\u201d | &#8220;9&#8221;<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;symbol&gt; ::= \u201d|\u201c | \u201d &#8221; | \u201d!\u201c | \u201d#\u201d | &#8220;$\u201d | \u201d%\u201c | \u201d&amp;\u201d | \u201d(\u201c | \u201d)\u201d | &#8220;*\u201d | \u201c+\u201d | \u201c,\u201d | \u201c-\u201c | \u201c.\u201d | \u201c\/\u201d | \u201c:\u201d | \u201c;\u201d | \u201c&gt;\u201d | \u201c=\u201d | \u201c&lt;\u201d | \u201c?\u201d | \u201c@\u201d | \u201c[\u201d | \u201c\\\u201d | \u201c]\u201d | \u201c^\u201d | \u201c_\u201d | \u201c`\u201d | \u201c{\u201d | \u201c}\u201d | \u201c~\u201d<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;character1&gt; ::= &lt;character&gt; | \u201c\u2019\u201d<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;character2&gt; ::= &lt;character&gt; | \u2018\u201d\u2019<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;ru1e-name&gt; ::= &lt;letter&gt; | &lt;rule-name&gt; &lt;rule-char&gt;<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Courier New, serif\">&lt;rule-char&gt; ::= &lt;letter&gt; | &lt;digit&gt; | \u201c-\u201c<\/span><\/span><\/p>\n<p align=\"justify\"><strong><a href=\"https:\/\/data-flair.training\/blogs\/qlikview-operators\/\">Have a look at &#8211; Different\u00a0Types of Operators in QlikView<\/a><\/strong><\/p>\n<p>As you can see, every rule is defined in Backus Naur Form using proper symbols and syntax. Almost all the important things like character, letter, list, digit, symbol, rule etc., demonstrate through Backus Naur Form for the machine to convert and read the code in machine language efficiently.<\/p>\n<h3>QlikView Backus Naur Formalism<\/h3>\n<p>QlikView script syntax also follows the notation techniques of Backus Naur Form code. The commonly used command syntax symbols are given in the table below.<\/p>\n<ul>\n<li>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\"><b>l Logical OR<\/b><\/span><\/span><\/span><span style=\"color: #000000\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\"> is comparison symbol which can be used on either side of the expression values. <\/span><\/span><\/span><\/p>\n<\/li>\n<li>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\"><b>() Parentheses defining precedence<\/b><\/span><\/span><\/span><span style=\"color: #000000\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">: It is used for structuring the BNF syntax.<\/span><\/span><\/span><\/p>\n<\/li>\n<li>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\"><b>[ ] Square brackets<\/b><\/span><\/span><\/span><span style=\"color: #000000\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">: It is used for making items optional by keeping them in square brackets. <\/span><\/span><\/span><\/p>\n<\/li>\n<li>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\"><b>{ } Braces<\/b><\/span><\/span><\/span><span style=\"color: #000000\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">: The items enclosed in braces may be repeated zero or more times.<\/span><\/span><\/span><\/p>\n<\/li>\n<li>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\"><b>Symbol:<\/b><\/span><\/span><\/span><span style=\"color: #000000\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\"> It is a non-terminal syntactic symbol that can be divided further into other symbols. Other non-terminal symbols like, text strings, and so on.<\/span><\/span><\/span><\/p>\n<\/li>\n<li>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\"><b>::=<\/b><\/span><\/span><\/span><span style=\"color: #000000\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\"> It marks the beginning of a block that defines a symbol.<\/span><\/span><\/span><\/p>\n<\/li>\n<li>\n<p align=\"justify\"><span style=\"color: #000000\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\"><b>LOAD<\/b><\/span><\/span><\/span><span style=\"color: #000000\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">: It is a terminal symbol which consists of a text string. It should be written as it is into the script.<\/span><\/span><\/span><\/p>\n<\/li>\n<\/ul>\n<p>Certain things to keep in mind with the Backus Naur Formalism in QlikView is that in a command statement, non-terminals are written in italic and terminals are written in <strong>bold.<\/strong> Let us understand this by defining an alias statement used in QlikView for giving a temporary name in a table. The statement can be described as,<\/p>\n<p><strong>alias<\/strong>fieldname<strong>as<\/strong>aliasname { , fieldname <strong>as<\/strong> aliasname}<\/p>\n<p>Here, in the statement syntax, bold-faced symbols are terminals and italic values are non-terminal. The interpretation of this statement will be that alias followed by fieldname that is to be changed followed by as followed by aliasname that is the name which will be replacing the fieldname. The expression enclosed by {} brackets can be repeated zero or more time as required.<\/p>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/qlikview-november-2017\/\">Also, Read QlikView November 2017 \u2013 Features of QlikView Version 12.2<\/a><\/strong><\/p>\n<p>The expressions following the above syntax will be-<\/p>\n<p>alias a as Name<strong>;<\/strong><\/p>\n<p>alias a as Name<strong>,<\/strong> b as Address<strong>;<\/strong><\/p>\n<p>alias a as Name<strong>,<\/strong> b as Address<strong>,<\/strong> c as PhoneNumber<strong>;<\/strong><\/p>\n<p>Hence, the column names a, b and c will be changed temporarily to Name, Address, PhoneNumber by using an alias, respectively.<\/p>\n<p>So, this was all about QlikView Backus Naur Form Tutorial. Hope you like our explanation.<\/p>\n<h3>Conclusion<\/h3>\n<p>Hence, we learned all the command line syntax\u2019s logic comes from the QlikView Backus Naur Form coding system and so to understand QlikView scripting and syntax properly, you must have good knowledge of what is Backus Naur Form. Hope you find this explanation useful. In case of any queries or suggestions, comment in the comment box below.<\/p>\n<p>Related Topic &#8211;\u00a0<strong><a href=\"https:\/\/data-flair.training\/blogs\/qlikview-silent-installation\/\">QlikView Silent Installation<\/a><\/strong><\/p>\n<p><a href=\"https:\/\/help.qlik.com\/en-US\/sense\/September2018\/Subsystems\/Hub\/Content\/Sense_Hub\/Scripting\/Backus-Naur-formalism.htm\">Reference<\/a><span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:1752,&quot;href&quot;:&quot;https:\\\/\\\/help.qlik.com\\\/en-US\\\/sense\\\/September2018\\\/Subsystems\\\/Hub\\\/Content\\\/Sense_Hub\\\/Scripting\\\/Backus-Naur-formalism.htm&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20251209220615\\\/https:\\\/\\\/help.qlik.com\\\/en-US\\\/sense\\\/September2018\\\/Subsystems\\\/Hub\\\/Content\\\/Sense_Hub\\\/Scripting\\\/Backus-Naur-formalism.htm&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-03-23 20:19:33&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-18 10:07:04&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-20 21:43:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-27 16:27:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-07-05 16:17:40&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-07-05 16:17:40&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In our last tutorial, we discussed QlikView Publisher Repository. Now, we will learn Backus Naur Form, in which we studied example of QlikView BNF. Along with this, we will learn what is QlikView\u00a0Backus Naur&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":37849,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[47],"tags":[17088,17087,17090,17089,17091,17092],"class_list":["post-37847","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-qlikview","tag-backus-naur-form","tag-bnf","tag-example-of-bnf","tag-qlikview-backus-naur-formalism","tag-qlikview-bnf","tag-what-is-backus-naur-form"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>QlikView Backus Naur Form - Example of BNF in QlikView - DataFlair<\/title>\n<meta name=\"description\" content=\"QlikView BNF Tutorial - What is QlikView Backus Naur Form, Example of BNF in QlikView, QlikView\u00a0Backus Naur Formalism, Syntax of QlikView\u00a0Backus Naur Form\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"QlikView Backus Naur Form - Example of BNF in QlikView - DataFlair\" \/>\n<meta property=\"og:description\" content=\"QlikView BNF Tutorial - What is QlikView Backus Naur Form, Example of BNF in QlikView, QlikView\u00a0Backus Naur Formalism, Syntax of QlikView\u00a0Backus Naur Form\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-07T06:52:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-07T05:53:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/QlikView-Backus-Naur-Formalism-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1201\" \/>\n\t<meta property=\"og:image:height\" content=\"629\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"QlikView Backus Naur Form - Example of BNF in QlikView - DataFlair","description":"QlikView BNF Tutorial - What is QlikView Backus Naur Form, Example of BNF in QlikView, QlikView\u00a0Backus Naur Formalism, Syntax of QlikView\u00a0Backus Naur Form","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/","og_locale":"en_US","og_type":"article","og_title":"QlikView Backus Naur Form - Example of BNF in QlikView - DataFlair","og_description":"QlikView BNF Tutorial - What is QlikView Backus Naur Form, Example of BNF in QlikView, QlikView\u00a0Backus Naur Formalism, Syntax of QlikView\u00a0Backus Naur Form","og_url":"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-11-07T06:52:30+00:00","article_modified_time":"2021-12-07T05:53:48+00:00","og_image":[{"width":1201,"height":629,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/QlikView-Backus-Naur-Formalism-01.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"QlikView Backus Naur Form &#8211; Example of BNF in QlikView","datePublished":"2018-11-07T06:52:30+00:00","dateModified":"2021-12-07T05:53:48+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/"},"wordCount":1553,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/QlikView-Backus-Naur-Formalism-01.jpg","keywords":["backus naur form","BNF","Example of BNF","QlikView Backus Naur Formalism","QlikView BNF","What is Backus-Naur Form"],"articleSection":["QlikView Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/","url":"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/","name":"QlikView Backus Naur Form - Example of BNF in QlikView - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/QlikView-Backus-Naur-Formalism-01.jpg","datePublished":"2018-11-07T06:52:30+00:00","dateModified":"2021-12-07T05:53:48+00:00","description":"QlikView BNF Tutorial - What is QlikView Backus Naur Form, Example of BNF in QlikView, QlikView\u00a0Backus Naur Formalism, Syntax of QlikView\u00a0Backus Naur Form","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/QlikView-Backus-Naur-Formalism-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/QlikView-Backus-Naur-Formalism-01.jpg","width":1201,"height":629,"caption":"QlikView Backus Naur Form - Example of BNF"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/qlikview-backus-naur-form-bnf\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"QlikView Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/qlikview\/"},{"@type":"ListItem","position":3,"name":"QlikView Backus Naur Form &#8211; Example of BNF in QlikView"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"The DataFlair Team provides industry-driven content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our expert educators focus on delivering value-packed, easy-to-follow resources for tech enthusiasts and professionals.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam2\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/37847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=37847"}],"version-history":[{"count":9,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/37847\/revisions"}],"predecessor-version":[{"id":105007,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/37847\/revisions\/105007"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/37849"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=37847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=37847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=37847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}