{"id":97681,"date":"2023-08-14T17:00:48","date_gmt":"2023-08-14T17:00:48","guid":{"rendered":"https:\/\/www.red-gate.com\/simple-talk\/?p=97681"},"modified":"2024-09-03T20:04:50","modified_gmt":"2024-09-03T20:04:50","slug":"discover-the-microsoft-fabric-data-wrangler","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/blogs\/discover-the-microsoft-fabric-data-wrangler\/","title":{"rendered":"Discover the Microsoft Fabric Data Wrangler"},"content":{"rendered":"<p>The Data Wrangler is as interesting as hidden inside Microsoft Fabric. It&#8217;s not easy to find and activate it, but it is worth the trouble.<\/p>\n<p>Before digging into the Data Wrangler, let&#8217;s analyze the data features in the query environment.<\/p>\n<h2>Data Features in Query Environment<\/h2>\n<p>The new query environment, which allow us to make data exploration with visual queries and SQL queries, is available with many Power BI features:<\/p>\n<ul>\n<li>Datamarts<\/li>\n<li>lake house<\/li>\n<li>Data Warehouse<\/li>\n<\/ul>\n<p>And probably more to come if I&#8217;m not missing some of them already.<\/p>\n<p>Why are we starting on the Query Environment? Because the Query Environment has some similar features to the Data Wrangler. Let&#8217;s discover them first and compare with the features on the Data Wrangler.<\/p>\n<p>This example starts on a SQL Endpoint of a lake house.<\/p>\n<ol>\n<li value=\"1\">Create a <strong>Visual Query<\/strong>.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"374\" height=\"82\" class=\"wp-image-97682\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-close-up-of-words-description-automatically-gen.png\" alt=\"A close up of words\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"2\">Drop the table <em>Fact_Sales<\/em> to the <strong>Visual Query<\/strong><\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"868\" height=\"226\" class=\"wp-image-97683\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<ol>\n<li value=\"3\">On the top menu, on the <strong>Settings<\/strong> button, the <strong>Data View<\/strong> item has some interesting features for us to investigate. Let&#8217;s analyze them one by one. Description automatically generated&#8221;<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"444\" height=\"209\" class=\"wp-image-97684\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-1.png\" alt=\"&quot;A\" \/><\/p>\n<h2>Enable Column Profile<\/h2>\n<p>When we enable this option, a subtle green line appears on the Display Area, just below the title. If we hover this green line on a specific column, we find information about the data quality of the rows on that column.<\/p>\n<p>The information tells us how many rows have valid values, error values and empty values for the column.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"352\" height=\"163\" class=\"wp-image-97685\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-program-description-au.png\" alt=\"A screenshot of a computer program\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2>Show Column Quality Details<\/h2>\n<p>Enabling this option expands the green line. The information about data quality which was only visible when hovering a column becomes visible in the expanded panel.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"447\" height=\"209\" class=\"wp-image-97686\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-2.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1204\" height=\"88\" class=\"wp-image-97687\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/word-image-97681-6.png\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2>Show Value Distribution<\/h2>\n<p>This option adds to the panel information about the distribution of unique values in the column. It points to us how many distinct and unique values each column has.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"443\" height=\"210\" class=\"wp-image-97688\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-3.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>This information may be very useful to identify primary keys in sets of data you don&#8217;t know.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1473\" height=\"164\" class=\"wp-image-97689\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/word-image-97681-8.png\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2>Data Wrangler<\/h2>\n<p>The Data Wrangler has similar information to the ones we just found on the Query Environment. However, while the query environment works in a visual environment, the data wrangler works on python notebooks.<\/p>\n<p>Two additional details it worth mentioning: The Data Wrangler has more features, linked to spark notebooks and it&#8217;s difficult to locate if you don&#8217;t know exactly where to look.<\/p>\n<h2>Opening the Data Wrangler<\/h2>\n<p>The secret to opening the data wrangler is simple after you discover it: The Data Wrangler requires a <strong>Pandas<\/strong> data frame. Once we have a notebook opened and a <strong>Pandas<\/strong> dataframe loaded into a variable, the <strong>Data Wrangler<\/strong> becomes available.<\/p>\n<p>As an example, we will use the same lake house as the previous example.<\/p>\n<p>Let&#8217;s follow these steps:<\/p>\n<ol>\n<li value=\"4\">Click the <strong>Experience<\/strong> button and select the <strong>Data Engineering<\/strong> experience.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"318\" height=\"283\" class=\"wp-image-97690\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screen-shot-of-a-computer-description-automatic.png\" alt=\"A screen shot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"5\">Click the button <strong>New Notebook<\/strong> on the <strong>Data Engineering<\/strong> experience.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"898\" height=\"224\" class=\"wp-image-97691\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-4.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"5\">On the top left, change the notebook name to <em>WranglerTest<\/em><\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"338\" height=\"435\" class=\"wp-image-97692\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-5.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"6\">On the left, click the <strong>Add<\/strong> button to link the notebook with the lake house.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"224\" height=\"261\" class=\"wp-image-97693\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-6.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"7\">On the Add lakehouse window, select the Existing lakehouse option.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"342\" height=\"237\" class=\"wp-image-97694\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-7.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"8\">Choose your lakehouse and click the Add button.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1281\" height=\"789\" class=\"wp-image-97695\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-8.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"9\">Drag and drop the <em>dimension_customer<\/em> table to the code block in the notebook.<\/li>\n<\/ol>\n<p>The code to load the table is automatically created. Did you know this one?<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"739\" height=\"313\" class=\"wp-image-97696\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-9.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"687\" height=\"170\" class=\"wp-image-97697\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-program-description-au-1.png\" alt=\"A screenshot of a computer program\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"10\">Remove the <strong>Display<\/strong> line in the code. It&#8217;s not needed.<\/li>\n<li value=\"11\">Add <strong>toPandas() <\/strong>at the end of <strong>Spark.sql<\/strong><\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"773\" height=\"120\" class=\"wp-image-97698\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-10.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"12\">Execute the code block.<\/li>\n<\/ol>\n<p>We will receive an error message and it explains the problem. Pandas, in the lake house environment, always try to make an optimization called Arrow optimization by default. This optimization may not work well with some fields, so we need to disable it.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1523\" height=\"79\" class=\"wp-image-97699\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/word-image-97681-18.png\" \/><\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li value=\"13\">Add the following line to the start of the code:<\/li>\n<\/ul>\n<p><!-- HTML generated using hilite.me --><\/p>\n<div style=\"background: #ffffff;overflow: auto;width: auto;border: solid gray;border-width: .1em .1em .1em .8em;padding: .2em .6em\">\n<pre style=\"margin: 0;line-height: 125%\" class=\"crayon:false\">spark<span style=\"color: #333333\">.<\/span>conf<span style=\"color: #333333\">.<\/span>set(<span style=\"background-color: #fff0f0\">'spark.sql.execution.arrow.pyspark.enabled'<\/span>, <span style=\"background-color: #fff0f0\">'false'<\/span>)\r\n<\/pre>\n<\/div>\n<ol>\n<li value=\"14\">Run the code block again.<\/li>\n<\/ol>\n<p>The Arrow optimization is disabled but the datetime field still causes problems. To make it easier, let&#8217;s remove the datetime field from the query.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1462\" height=\"62\" class=\"wp-image-97700\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/word-image-97681-19.png\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"15\">Change the SQL query in the code to the following:<\/li>\n<\/ol>\n<div><span style=\"font-family: Courier New;font-size: 10pt\"> <span style=\"color: blue\">SELECT<\/span>\u00a0<span style=\"color: maroon\">customerkey<\/span><span style=\"color: silver\">,<\/span> <br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">wwicustomerid<\/span><span style=\"color: silver\">,<\/span> <br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">billtocustomer<\/span><span style=\"color: silver\">,<\/span> <br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">category<\/span><span style=\"color: silver\">,<\/span> <br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">buyinggroup<\/span><span style=\"color: silver\">,<\/span> <br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">primarycontact<\/span><span style=\"color: silver\">,<\/span> <br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">postalcode<\/span> <br \/>\n<span style=\"color: blue\">FROM<\/span>\u00a0\u00a0\u00a0<span style=\"color: maroon\">demolake<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">dimension_customer<\/span> <br \/>\n<span style=\"color: blue\">LIMIT<\/span>\u00a0\u00a0<span style=\"color: black\">1000<\/span>\u00a0 <\/span><\/div>\n<ol>\n<li value=\"16\">Execute the code block again.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1461\" height=\"214\" class=\"wp-image-97701\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-white-card-with-black-text-description-automati.png\" alt=\"A white card with black text\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"17\">On the top menu, click <strong>Data<\/strong> menu item.<\/li>\n<li value=\"18\">Click the <strong>Launch Data Wrangler<\/strong> button.<\/li>\n<\/ol>\n<p>The variable created on the code block is identified and appears on the menu.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"265\" height=\"204\" class=\"wp-image-97702\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-11.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"19\">Click the variable name on the menu. The <strong>Data Wrangler<\/strong> will appear.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1839\" height=\"685\" class=\"wp-image-97703\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-12.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2>Data Wrangler: First Impressions<\/h2>\n<p>The initial Data Wrangler window seems like the information we have in the query environment. It seems to have some additional details about the data distribution, in some cases, making it more visible when there are only a few unique values.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1403\" height=\"151\" class=\"wp-image-97704\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/word-image-97681-23.png\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>If your purpose is only to see this additional information about the columns, both Data Wrangler and the query environment, work. It becomes a matter of preference which one you should use and for sure you will choose according to your preferred environment: If you prefer to work visually, the query environment will be better, if you prefer to work with spark, <strong>Data Wrangler<\/strong> will be better.<\/p>\n<p>However, Data Wrangler can achieve much more. It can accept transformations over the data frame and implement these transformations as <strong>pyspark<\/strong> code.<\/p>\n<p>In fact, the UI is slightly like <strong>Power Query<\/strong>.<\/p>\n<p>&nbsp;<\/p>\n<h2>Transformations with Data Wrangler<\/h2>\n<p>Let&#8217;s implement some transformations over the data frame and check the result.<\/p>\n<ol>\n<li value=\"20\">Click the <strong>Expand<\/strong> button (<em>&#8220;&#8230;&#8221;<\/em>) beside the <em>BillToCustomer<\/em> field.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"207\" height=\"250\" class=\"wp-image-97705\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-13.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"21\">Select the <strong>Filter<\/strong> option on the menu.<\/li>\n<li value=\"22\">On the left side, on the dropdown <strong>Select a Condition<\/strong>, select the option <strong>Starts With<\/strong><\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"347\" height=\"553\" class=\"wp-image-97706\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-screen-description-aut.png\" alt=\"A screenshot of a computer screen\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"23\">On the 3rd textbox, type <em>WingTip<\/em><\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"357\" height=\"531\" class=\"wp-image-97707\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-14.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"24\">Click the <strong>Apply<\/strong> button.<\/li>\n<\/ol>\n<p>Mind the <strong>Cleaning steps<\/strong>, registering the transformations.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"348\" height=\"266\" class=\"wp-image-97708\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-15.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"25\">Click the <strong>Expand<\/strong> button (<em>&#8220;&#8230;&#8221;<\/em>) beside the <em>PostalCode<\/em> field.<\/li>\n<li value=\"26\">Select the <strong>Drop Columns<\/strong> option on the menu.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"197\" height=\"252\" class=\"wp-image-97709\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-16.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li value=\"27\">Click the <strong>Apply<\/strong> button.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"338\" height=\"294\" class=\"wp-image-97710\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-17.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<ol>\n<li value=\"28\">On the top menu, click the <strong>Add <\/strong>code to notebook button.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"548\" height=\"101\" class=\"wp-image-97711\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-description-automatica-18.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>The transformations created visually are included in the notebook as part of the code.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"681\" height=\"286\" class=\"wp-image-97712\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2023\/08\/a-screenshot-of-a-computer-code-description-autom.png\" alt=\"A screenshot of a computer code\n\nDescription automatically generated\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2>Summary<\/h2>\n<p>The <strong>Data Wrangler<\/strong> is a powerful tool not only to help data exploration but also to help building <strong>pyspark<\/strong> code using visual methods.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Data Wrangler is as interesting as hidden inside Microsoft Fabric. It&#8217;s not easy to find and activate it, but it is worth the trouble. Before digging into the Data Wrangler, let&#8217;s analyze the data features in the query environment. Data Features in Query Environment The new query environment, which allow us to make data&#8230;&hellip;<\/p>\n","protected":false},"author":50808,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2,159164],"tags":[159016,123646,159015,158998,158997],"coauthors":[6810],"class_list":["post-97681","post","type-post","status-publish","format-standard","hentry","category-blogs","category-microsoft-fabric","tag-data-engineering","tag-data-lake","tag-data-wrangler","tag-lakehouse","tag-microsoft-fabric"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/97681","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/50808"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=97681"}],"version-history":[{"count":7,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/97681\/revisions"}],"predecessor-version":[{"id":99098,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/97681\/revisions\/99098"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=97681"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=97681"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=97681"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=97681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}