<?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: Extracting Dataflow and Dataset fields  &amp;amp; Attributes from PBIX in Developer</title>
    <link>https://community.fabric.microsoft.com/t5/Developer/Extracting-Dataflow-and-Dataset-fields-amp-Attributes-from-PBIX/m-p/3537179#M45370</link>
    <description>&lt;P&gt;You get the M scripts via DMVs.&lt;/P&gt;</description>
    <pubDate>Thu, 16 Nov 2023 13:53:21 GMT</pubDate>
    <dc:creator>lbendlin</dc:creator>
    <dc:date>2023-11-16T13:53:21Z</dc:date>
    <item>
      <title>Extracting Dataflow and Dataset fields  &amp; Attributes from PBIX</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Extracting-Dataflow-and-Dataset-fields-amp-Attributes-from-PBIX/m-p/3525218#M45287</link>
      <description>&lt;P&gt;Hi Team,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We are using Layout file from Reports pbix to extract reports, pages and visuals. But we are not able to extract dataset and dataflow information from layout is there any other file like DataModel which contains the dataset fields and attributes information?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also not able to view contents of Datamodel file extracted from PBIX&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you please help in understanding how we can get&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dataset fields,&lt;/P&gt;&lt;P&gt;Dataflow fields,&lt;/P&gt;&lt;P&gt;Mapping between a Report attribute &amp;amp; a Dataset field or attribute.&lt;/P&gt;</description>
      <pubDate>Thu, 09 Nov 2023 13:25:17 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Extracting-Dataflow-and-Dataset-fields-amp-Attributes-from-PBIX/m-p/3525218#M45287</guid>
      <dc:creator>GokulanRajan</dc:creator>
      <dc:date>2023-11-09T13:25:17Z</dc:date>
    </item>
    <item>
      <title>Re: Extracting Dataflow and Dataset fields  &amp; Attributes from PBIX</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Extracting-Dataflow-and-Dataset-fields-amp-Attributes-from-PBIX/m-p/3531384#M45335</link>
      <description>&lt;P&gt;Read about the PBIP format.&amp;nbsp; Read about DMVs. Read about the Scanner API.&lt;/P&gt;</description>
      <pubDate>Mon, 13 Nov 2023 18:44:18 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Extracting-Dataflow-and-Dataset-fields-amp-Attributes-from-PBIX/m-p/3531384#M45335</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2023-11-13T18:44:18Z</dc:date>
    </item>
    <item>
      <title>Re: Extracting Dataflow and Dataset fields  &amp; Attributes from PBIX</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Extracting-Dataflow-and-Dataset-fields-amp-Attributes-from-PBIX/m-p/3531945#M45339</link>
      <description>&lt;P&gt;If you want tenant level, Admin APIs&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.thepoweruser.com/2021/02/21/power-bi-rest-api-connector/" target="_blank"&gt;Power BI REST API Connector — The Power User&lt;/A&gt;&amp;nbsp;connector for PBI, this is most straightforward but no persistent storage.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My personal preference is ADF + ASQL&amp;nbsp;&lt;A href="https://justb.dk/blog/2021/02/extracting-power-bi-metadata-with-data-factory-part-1/" target="_blank"&gt;Extracting Power BI metadata with Data Factory (part 1) – justB smart&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If PowerShell is your flavour, take a look here:&amp;nbsp;&lt;A href="https://github.com/RuiRomano/pbimonitor" target="_blank"&gt;GitHub - RuiRomano/pbimonitor&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you are looking to map visual objects to dataset columns/measures, maybe&amp;nbsp;&lt;A href="https://www.pbiexplorer.com/" target="_blank"&gt;PBI Explorer&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Nov 2023 02:03:08 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Extracting-Dataflow-and-Dataset-fields-amp-Attributes-from-PBIX/m-p/3531945#M45339</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2023-11-14T02:03:08Z</dc:date>
    </item>
    <item>
      <title>Re: Extracting Dataflow and Dataset fields  &amp; Attributes from PBIX</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Extracting-Dataflow-and-Dataset-fields-amp-Attributes-from-PBIX/m-p/3536987#M45365</link>
      <description>&lt;P&gt;I am already using Scanner API to get dataset fields and reports etc&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But we don't get Report fields in Scanner.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We also tried PBIX extraction we don't get mapping information between a report field and dataset field.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help with usage of Power Query M script&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;@Anonymous&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;SPAN&gt;My personal preference is ADF + ASQL&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://justb.dk/blog/2021/02/extracting-power-bi-metadata-with-data-factory-part-1/" target="_blank" rel="nofollow noopener noreferrer"&gt;Extracting Power BI metadata with Data Factory (part 1) – justB smart&lt;/A&gt;. this again doesn't give report fields&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Nov 2023 11:46:00 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Extracting-Dataflow-and-Dataset-fields-amp-Attributes-from-PBIX/m-p/3536987#M45365</guid>
      <dc:creator>GokulanRajan</dc:creator>
      <dc:date>2023-11-16T11:46:00Z</dc:date>
    </item>
    <item>
      <title>Re: Extracting Dataflow and Dataset fields  &amp; Attributes from PBIX</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Extracting-Dataflow-and-Dataset-fields-amp-Attributes-from-PBIX/m-p/3537179#M45370</link>
      <description>&lt;P&gt;You get the M scripts via DMVs.&lt;/P&gt;</description>
      <pubDate>Thu, 16 Nov 2023 13:53:21 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Extracting-Dataflow-and-Dataset-fields-amp-Attributes-from-PBIX/m-p/3537179#M45370</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2023-11-16T13:53:21Z</dc:date>
    </item>
    <item>
      <title>Re: Extracting Dataflow and Dataset fields  &amp; Attributes from PBIX</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Extracting-Dataflow-and-Dataset-fields-amp-Attributes-from-PBIX/m-p/3541469#M45401</link>
      <description>&lt;P&gt;Hi GokulanRajan,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;If PBI Explorer doesn't help, I think you're more or less starting from scratch. Report.json is not documented officially nor unofficially from what I can gather. However, I ran a small test this morning and was able to map fields to visual and to page. Didn't spend much time thinking about optimisation and this was on a very basic dataset of one table, one column, one measure, one page and one visualisation but if it's important to you, maybe expand the test. Resulting table using Power Query:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Note that report.json does distinguish between column and measure but I didn't incorporate this into my test. This would be relevant if when mapping Table.Field back to GetScanResult/Datasets/Tables/Columns and .../Measures, in the case where you have Columns and Measures of the same name.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AlexBr_0-1700449175666.png" style="width: 553px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/999059iB978B66FC55C26E6/image-dimensions/553x177?v=v2" width="553" height="177" role="button" title="AlexBr_0-1700449175666.png" alt="AlexBr_0-1700449175666.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Path for each of the fields above, left to right:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;sections.displayName&lt;/P&gt;&lt;P&gt;sections.visualContainers.config.singleVisual.prototypeQuery.Select.Name&lt;/P&gt;&lt;P&gt;sections.visualContainers.config.singleVisual.vcObjects.title.properties.text..2&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Query:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;let&lt;BR /&gt;Source = report, // this is report.json file&lt;BR /&gt;#"Removed Other Columns" = Table.SelectColumns(Source,{"sections"}),&lt;BR /&gt;#"Expanded sections" = Table.ExpandListColumn(#"Removed Other Columns", "sections"),&lt;BR /&gt;#"Expanded sections1" = Table.ExpandRecordColumn(#"Expanded sections", "sections", {"displayName", "visualContainers"}, {"sections.displayName", "sections.visualContainers"}),&lt;BR /&gt;#"Expanded sections.visualContainers" = Table.ExpandListColumn(#"Expanded sections1", "sections.visualContainers"),&lt;BR /&gt;#"Expanded sections.visualContainers1" = Table.ExpandRecordColumn(#"Expanded sections.visualContainers", "sections.visualContainers", {"config"}, {"sections.visualContainers.config"}),&lt;BR /&gt;#"Parsed JSON" = Table.TransformColumns(#"Expanded sections.visualContainers1",{{"sections.visualContainers.config", Json.Document}}),&lt;BR /&gt;#"Expanded sections.visualContainers.config" = Table.ExpandRecordColumn(#"Parsed JSON", "sections.visualContainers.config", {"singleVisual"}, {"sections.visualContainers.config.singleVisual"}),&lt;BR /&gt;#"Expanded sections.visualContainers.config.singleVisual" = Table.ExpandRecordColumn(#"Expanded sections.visualContainers.config", "sections.visualContainers.config.singleVisual", {"prototypeQuery", "vcObjects"}, {"sections.visualContainers.config.singleVisual.prototypeQuery", "sections.visualContainers.config.singleVisual.vcObjects"}),&lt;BR /&gt;#"Expanded sections.visualContainers.config.singleVisual.prototypeQuery" = Table.ExpandRecordColumn(#"Expanded sections.visualContainers.config.singleVisual", "sections.visualContainers.config.singleVisual.prototypeQuery", {"Select"}, {"sections.visualContainers.config.singleVisual.prototypeQuery.Select"}),&lt;BR /&gt;#"Expanded sections.visualContainers.config.singleVisual.prototypeQuery.Select" = Table.ExpandListColumn(#"Expanded sections.visualContainers.config.singleVisual.prototypeQuery", "sections.visualContainers.config.singleVisual.prototypeQuery.Select"),&lt;BR /&gt;#"Expanded sections.visualContainers.config.singleVisual.prototypeQuery.Select1" = Table.ExpandRecordColumn(#"Expanded sections.visualContainers.config.singleVisual.prototypeQuery.Select", "sections.visualContainers.config.singleVisual.prototypeQuery.Select", {"Name"}, {"sections.visualContainers.config.singleVisual.prototypeQuery.Select.Name"}),&lt;BR /&gt;#"Expanded sections.visualContainers.config.singleVisual.vcObjects" = Table.ExpandRecordColumn(#"Expanded sections.visualContainers.config.singleVisual.prototypeQuery.Select1", "sections.visualContainers.config.singleVisual.vcObjects", {"title"}, {"sections.visualContainers.config.singleVisual.vcObjects.title"}),&lt;BR /&gt;#"Expanded sections.visualContainers.config.singleVisual.vcObjects.title" = Table.ExpandListColumn(#"Expanded sections.visualContainers.config.singleVisual.vcObjects", "sections.visualContainers.config.singleVisual.vcObjects.title"),&lt;BR /&gt;#"Expanded sections.visualContainers.config.singleVisual.vcObjects.title1" = Table.ExpandRecordColumn(#"Expanded sections.visualContainers.config.singleVisual.vcObjects.title", "sections.visualContainers.config.singleVisual.vcObjects.title", {"properties"}, {"sections.visualContainers.config.singleVisual.vcObjects.title.properties"}),&lt;BR /&gt;#"Expanded sections.visualContainers.config.singleVisual.vcObjects.title.properties" = Table.ExpandRecordColumn(#"Expanded sections.visualContainers.config.singleVisual.vcObjects.title1", "sections.visualContainers.config.singleVisual.vcObjects.title.properties", {"text"}, {"sections.visualContainers.config.singleVisual.vcObjects.title.properties.text"}),&lt;BR /&gt;#"Expanded sections.visualContainers.config.singleVisual.vcObjects.title.properties.text" = Table.ExpandRecordColumn(#"Expanded sections.visualContainers.config.singleVisual.vcObjects.title.properties", "sections.visualContainers.config.singleVisual.vcObjects.title.properties.text", {"expr"}, {"sections.visualContainers.config.singleVisual.vcObjects.title.properties.text.ex"}),&lt;BR /&gt;#"Expanded sections.visualContainers.config.singleVisual.vcObjects.title.properties.text.ex" = Table.ExpandRecordColumn(#"Expanded sections.visualContainers.config.singleVisual.vcObjects.title.properties.text", "sections.visualContainers.config.singleVisual.vcObjects.title.properties.text.ex", {"Literal"}, {"sections.visualContainers.config.singleVisual.vcObjects.title.properties.text..1"}),&lt;BR /&gt;#"Expanded sections.visualContainers.config.singleVisual.vcObjects.title.properties.text..1" = Table.ExpandRecordColumn(#"Expanded sections.visualContainers.config.singleVisual.vcObjects.title.properties.text.ex", "sections.visualContainers.config.singleVisual.vcObjects.title.properties.text..1", {"Value"}, {"sections.visualContainers.config.singleVisual.vcObjects.title.properties.text..2"}),&lt;BR /&gt;#"Reordered Columns" = Table.ReorderColumns(#"Expanded sections.visualContainers.config.singleVisual.vcObjects.title.properties.text..1",{"sections.displayName", "sections.visualContainers.config.singleVisual.vcObjects.title.properties.text..2", "sections.visualContainers.config.singleVisual.prototypeQuery.Select.Name"}),&lt;BR /&gt;#"Renamed Columns" = Table.RenameColumns(#"Reordered Columns",{{"sections.displayName", "Page Name"}, {"sections.visualContainers.config.singleVisual.vcObjects.title.properties.text..2", "Visual Title"}, {"sections.visualContainers.config.singleVisual.prototypeQuery.Select.Name", "Table.Field"}})&lt;BR /&gt;in&lt;BR /&gt;#"Renamed Columns"&lt;/P&gt;</description>
      <pubDate>Mon, 20 Nov 2023 03:06:47 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Extracting-Dataflow-and-Dataset-fields-amp-Attributes-from-PBIX/m-p/3541469#M45401</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2023-11-20T03:06:47Z</dc:date>
    </item>
  </channel>
</rss>

