<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Extract data from JSON URL in Developer</title>
    <link>https://community.fabric.microsoft.com/t5/Developer/Extract-data-from-JSON-URL/m-p/718506#M19705</link>
    <description>&lt;P&gt;If more information need to be provided, please let me know.&lt;/P&gt;&lt;P&gt;Here's the full query:&lt;/P&gt;&lt;PRE&gt;let 
    BaseUrl         = "https://servicedeskurl.freshdesk.com/api/v2/tickets?updated_since=2010-01-01&amp;amp;per_page=100&amp;amp;page=",
    EntitiesPerPage = 100,
 
    GetJson = (Url) =&amp;gt;
        let Options = [Headers=[Authorization="myApiKey"]],
            RawData = Web.Contents(Url, Options),
            Json    = Json.Document(RawData)
        in  Json,

    GetPage = (Index) =&amp;gt;
        let Page  = Text.From(Index),
            Url   = BaseUrl &amp;amp; Page,
            Json  = GetJson(Url),
            Value = Json
        in  Value,
 
    EntityCount = 1174,
    PageCount   = Number.RoundUp(EntityCount / EntitiesPerPage),
    PageIndices = { 1 .. PageCount },
    Pages       = List.Transform(PageIndices, each GetPage(_)),
    Entities    = List.Union(Pages),
    Table       = Table.FromList(Entities, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(Table, "Column1", {"cc_emails", "fwd_emails", "reply_cc_emails", "ticket_cc_emails", "fr_escalated", "spam", "email_config_id", "group_id", "priority", "requester_id", "responder_id", "source", "company_id", "status", "subject", "association_type", "to_emails", "product_id", "id", "type", "due_by", "fr_due_by", "is_escalated", "custom_fields", "created_at", "updated_at", "associated_tickets_count", "tags"}, {"Column1.cc_emails", "Column1.fwd_emails", "Column1.reply_cc_emails", "Column1.ticket_cc_emails", "Column1.fr_escalated", "Column1.spam", "Column1.email_config_id", "Column1.group_id", "Column1.priority", "Column1.requester_id", "Column1.responder_id", "Column1.source", "Column1.company_id", "Column1.status", "Column1.subject", "Column1.association_type", "Column1.to_emails", "Column1.product_id", "Column1.id", "Column1.type", "Column1.due_by", "Column1.fr_due_by", "Column1.is_escalated", "Column1.custom_fields", "Column1.created_at", "Column1.updated_at", "Column1.associated_tickets_count", "Column1.tags"}),
    #"Expanded Column1.custom_fields" = Table.ExpandRecordColumn(#"Expanded Column1", "Column1.custom_fields", {"product", "cf_customerticketsystemreference", "vendor", "product_version", "external_ticket_vendor", "defect_bug_tracking"}, {"Column1.custom_fields.product", "Column1.custom_fields.cf_customerticketsystemreference", "Column1.custom_fields.vendor", "Column1.custom_fields.product_version", "Column1.custom_fields.external_ticket_vendor", "Column1.custom_fields.defect_bug_tracking"}),
    #"Extracted Values" = Table.TransformColumns(#"Expanded Column1.custom_fields", {"Column1.tags", each Text.Combine(List.Transform(_, Text.From), ","), type text}),
    #"Changed Type" = Table.TransformColumnTypes(#"Extracted Values",{{"Column1.status", type text}}),
    #"Replaced Value" = Table.ReplaceValue(#"Changed Type","2","Open",Replacer.ReplaceText,{"Column1.status"}),
    #"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","3","Pending",Replacer.ReplaceText,{"Column1.status"}),
    #"Replaced Value2" = Table.ReplaceValue(#"Replaced Value1","4","Resolved",Replacer.ReplaceText,{"Column1.status"}),
    #"Replaced Value3" = Table.ReplaceValue(#"Replaced Value2","5","Closed",Replacer.ReplaceText,{"Column1.status"}),
    #"Replaced Value4" = Table.ReplaceValue(#"Replaced Value3","6","Defect",Replacer.ReplaceText,{"Column1.status"}),
    #"Replaced Value5" = Table.ReplaceValue(#"Replaced Value4","7","Enhancement Request",Replacer.ReplaceText,{"Column1.status"})
in
    #"Replaced Value5"&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This actually works but as you can see, I'm entering the EntityCount manually.&lt;/P&gt;&lt;P&gt;I want to get the EntityCount via the URL, this URL shows {"view_count":####} and i want to retrieve that #### and store it into a variable.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope my issue is clear enough to understand.&lt;/P&gt;</description>
    <pubDate>Wed, 19 Jun 2019 07:04:32 GMT</pubDate>
    <dc:creator>Stephanvk</dc:creator>
    <dc:date>2019-06-19T07:04:32Z</dc:date>
    <item>
      <title>Extract data from JSON URL</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Extract-data-from-JSON-URL/m-p/717734#M19701</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to extract the data from a JSON URL which has only one field like the following:&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2019-06-18_15-05-14.png" style="width: 222px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/171566i1E9178BBE6C7D912/image-size/large?v=v2&amp;amp;px=999" role="button" title="2019-06-18_15-05-14.png" alt="2019-06-18_15-05-14.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The integer, in this case 1178, needs to be read from the Advanced Editor in Power BI. It's a variable that keeps changing as more tickets are created. This number needs to be stored and will get used later on in the query.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there a simple way to achieve this? So far, i've got to:&lt;/P&gt;&lt;PRE&gt; 	GetEntityCount = () =&amp;gt;
        let Url   = "http://url.freshdesk.com/helpdesk/tickets/summary.json?view_name=all",
            Json  = GetJson(Url),
            EnityCount = ([Json] ("view_count"))
        in  EntityCount&lt;/PRE&gt;&lt;P&gt;This obviously doesn't work, I've tried multiple things but I can't get it to work.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So to be short:&lt;BR /&gt;Extract 1 field from a JSON URL / REST API.&lt;/P&gt;&lt;P&gt;Store this field into a variable.&lt;/P&gt;&lt;P&gt;Done.&lt;/P&gt;</description>
      <pubDate>Tue, 18 Jun 2019 14:21:33 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Extract-data-from-JSON-URL/m-p/717734#M19701</guid>
      <dc:creator>Stephanvk</dc:creator>
      <dc:date>2019-06-18T14:21:33Z</dc:date>
    </item>
    <item>
      <title>Re: Extract data from JSON URL</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Extract-data-from-JSON-URL/m-p/718506#M19705</link>
      <description>&lt;P&gt;If more information need to be provided, please let me know.&lt;/P&gt;&lt;P&gt;Here's the full query:&lt;/P&gt;&lt;PRE&gt;let 
    BaseUrl         = "https://servicedeskurl.freshdesk.com/api/v2/tickets?updated_since=2010-01-01&amp;amp;per_page=100&amp;amp;page=",
    EntitiesPerPage = 100,
 
    GetJson = (Url) =&amp;gt;
        let Options = [Headers=[Authorization="myApiKey"]],
            RawData = Web.Contents(Url, Options),
            Json    = Json.Document(RawData)
        in  Json,

    GetPage = (Index) =&amp;gt;
        let Page  = Text.From(Index),
            Url   = BaseUrl &amp;amp; Page,
            Json  = GetJson(Url),
            Value = Json
        in  Value,
 
    EntityCount = 1174,
    PageCount   = Number.RoundUp(EntityCount / EntitiesPerPage),
    PageIndices = { 1 .. PageCount },
    Pages       = List.Transform(PageIndices, each GetPage(_)),
    Entities    = List.Union(Pages),
    Table       = Table.FromList(Entities, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(Table, "Column1", {"cc_emails", "fwd_emails", "reply_cc_emails", "ticket_cc_emails", "fr_escalated", "spam", "email_config_id", "group_id", "priority", "requester_id", "responder_id", "source", "company_id", "status", "subject", "association_type", "to_emails", "product_id", "id", "type", "due_by", "fr_due_by", "is_escalated", "custom_fields", "created_at", "updated_at", "associated_tickets_count", "tags"}, {"Column1.cc_emails", "Column1.fwd_emails", "Column1.reply_cc_emails", "Column1.ticket_cc_emails", "Column1.fr_escalated", "Column1.spam", "Column1.email_config_id", "Column1.group_id", "Column1.priority", "Column1.requester_id", "Column1.responder_id", "Column1.source", "Column1.company_id", "Column1.status", "Column1.subject", "Column1.association_type", "Column1.to_emails", "Column1.product_id", "Column1.id", "Column1.type", "Column1.due_by", "Column1.fr_due_by", "Column1.is_escalated", "Column1.custom_fields", "Column1.created_at", "Column1.updated_at", "Column1.associated_tickets_count", "Column1.tags"}),
    #"Expanded Column1.custom_fields" = Table.ExpandRecordColumn(#"Expanded Column1", "Column1.custom_fields", {"product", "cf_customerticketsystemreference", "vendor", "product_version", "external_ticket_vendor", "defect_bug_tracking"}, {"Column1.custom_fields.product", "Column1.custom_fields.cf_customerticketsystemreference", "Column1.custom_fields.vendor", "Column1.custom_fields.product_version", "Column1.custom_fields.external_ticket_vendor", "Column1.custom_fields.defect_bug_tracking"}),
    #"Extracted Values" = Table.TransformColumns(#"Expanded Column1.custom_fields", {"Column1.tags", each Text.Combine(List.Transform(_, Text.From), ","), type text}),
    #"Changed Type" = Table.TransformColumnTypes(#"Extracted Values",{{"Column1.status", type text}}),
    #"Replaced Value" = Table.ReplaceValue(#"Changed Type","2","Open",Replacer.ReplaceText,{"Column1.status"}),
    #"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","3","Pending",Replacer.ReplaceText,{"Column1.status"}),
    #"Replaced Value2" = Table.ReplaceValue(#"Replaced Value1","4","Resolved",Replacer.ReplaceText,{"Column1.status"}),
    #"Replaced Value3" = Table.ReplaceValue(#"Replaced Value2","5","Closed",Replacer.ReplaceText,{"Column1.status"}),
    #"Replaced Value4" = Table.ReplaceValue(#"Replaced Value3","6","Defect",Replacer.ReplaceText,{"Column1.status"}),
    #"Replaced Value5" = Table.ReplaceValue(#"Replaced Value4","7","Enhancement Request",Replacer.ReplaceText,{"Column1.status"})
in
    #"Replaced Value5"&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This actually works but as you can see, I'm entering the EntityCount manually.&lt;/P&gt;&lt;P&gt;I want to get the EntityCount via the URL, this URL shows {"view_count":####} and i want to retrieve that #### and store it into a variable.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope my issue is clear enough to understand.&lt;/P&gt;</description>
      <pubDate>Wed, 19 Jun 2019 07:04:32 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Extract-data-from-JSON-URL/m-p/718506#M19705</guid>
      <dc:creator>Stephanvk</dc:creator>
      <dc:date>2019-06-19T07:04:32Z</dc:date>
    </item>
    <item>
      <title>Re: Extract data from JSON URL</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Extract-data-from-JSON-URL/m-p/722392#M19744</link>
      <description>&lt;P&gt;Our in-house developer managed to get it fixed, posting this for other people who are struggling:&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="fix.png" style="width: 999px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/172697i36D0638CA94A4CD5/image-size/large?v=v2&amp;amp;px=999" role="button" title="fix.png" alt="fix.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 24 Jun 2019 09:26:04 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Extract-data-from-JSON-URL/m-p/722392#M19744</guid>
      <dc:creator>Stephanvk</dc:creator>
      <dc:date>2019-06-24T09:26:04Z</dc:date>
    </item>
  </channel>
</rss>

