{"id":231022,"date":"2022-10-27T18:30:00","date_gmt":"2022-10-27T17:30:00","guid":{"rendered":"https:\/\/www.virtualworlduk.co.uk\/wordp\/?p=231022"},"modified":"2022-10-27T14:18:36","modified_gmt":"2022-10-27T13:18:36","slug":"skyline-basic-power-bi-report-part-2","status":"publish","type":"post","link":"https:\/\/www.virtualworlduk.co.uk\/wordp\/skyline-basic-power-bi-report-part-2\/","title":{"rendered":"Skyline \u2013 Basic Power BI Report \u2013 Part 2"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"231022\" class=\"elementor elementor-231022\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-cf56fd3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"cf56fd3\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-46236a3\" data-id=\"46236a3\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6942a5f elementor-widget elementor-widget-image\" data-id=\"6942a5f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"640\" height=\"360\" src=\"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2022\/10\/2022-10-21-15_22_05-Skyline-Insights-1.0-Community-Power-BI-Desktop-1024x576.png\" class=\"attachment-large size-large wp-image-230988\" alt=\"\" srcset=\"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2022\/10\/2022-10-21-15_22_05-Skyline-Insights-1.0-Community-Power-BI-Desktop-1024x576.png 1024w, https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2022\/10\/2022-10-21-15_22_05-Skyline-Insights-1.0-Community-Power-BI-Desktop-300x169.png 300w, https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2022\/10\/2022-10-21-15_22_05-Skyline-Insights-1.0-Community-Power-BI-Desktop-768x432.png 768w, https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2022\/10\/2022-10-21-15_22_05-Skyline-Insights-1.0-Community-Power-BI-Desktop-1536x863.png 1536w, https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2022\/10\/2022-10-21-15_22_05-Skyline-Insights-1.0-Community-Power-BI-Desktop-2048x1151.png 2048w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ed057a0 elementor-widget elementor-widget-text-editor\" data-id=\"ed057a0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>As you may recall, we&#8217;re part way through creating a Power BI report to display information collected from VMware Skyline.\u00a0 The first part can be found here:\u00a0\u00a0<a href=\"https:\/\/www.virtualworlduk.co.uk\/wordp\/?p=230985\">https:\/\/www.virtualworlduk.co.uk\/wordp\/?p=230985<\/a><\/p><p>In Part 1, we had downloaded the export from Skyline, and created some of the queries that gather the data from the exports ready to be used in the report components.\u00a0 This, primarily, resulted in us having the &#8216;LatestFile&#8217; table available to be used in the Power BI designer page.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-eddaa24 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"eddaa24\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b4a2a1c\" data-id=\"b4a2a1c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1e8221a elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"1e8221a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7f2b18a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7f2b18a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5519a03\" data-id=\"5519a03\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-bbd1858 elementor-widget elementor-widget-text-editor\" data-id=\"bbd1858\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h4>Two Additional Queries<\/h4><p>To enable us to have some of the capabilities to show how the number of findings are changing over time, we need have a query to count the number of findings across each of the export files in our folder&#8230; this will be handled with one query.\u00a0 The second query will take the total number of findings that we enter as a parameter and utilise that on the page but then also utilise that information to help calculate the percentages used on the other charts.<\/p><h5>Findings Count Query<\/h5><div>To save some time we&#8217;ll utilise the Advanced Editor to add in the details for this query.\u00a0 In essence, the query is loading up each of the files in our export folder, counting the number of findings and then putting the count of numbers alongside the file date for the export.\u00a0 As more export files are added to the folder, this will add more lines to the table each with the date when the file was exported and the number of findings for that file&#8230; allowing us to use that information to create a line chart for time and number.\u00a0<br \/>To start this off we need to click the &#8216;Transform Data&#8217; link at the top of the screen to go into the data transformation screen.<\/div><div>From here, we can click the &#8216;New Source&#8217; arrow and then select &#8216;Blank Query&#8217;<\/div><div>With the query created, right mouse click on the query and left click on &#8216;Rename&#8217; &#8211; rename the query to be called:\u00a0 FindingsCount<\/div><div>Right mouse click on the FindingsCount query and then left click on &#8216;Advanced Editor&#8217;.\u00a0 This will now open up the advanced editor that we have used before.<\/div><div>\u00a0<\/div><div>Paste the following code into the advanced editor replacing all of the code that exists in there already:<\/div><pre>let<br \/>Source = Folder.Files(FileLocation),<br \/>#\"Filtered Rows\" = Table.SelectRows(Source, each ([Extension] = \".csv\")),<br \/>#\"Sorted Rows\" = Table.Sort(#\"Filtered Rows\",{{\"Date created\", Order.Descending}}),<br \/>#\"Kept First Rows\" = Table.FirstN(#\"Sorted Rows\",6),<br \/>#\"Filtered Hidden Files1\" = Table.SelectRows(#\"Kept First Rows\", each [Attributes]?[Hidden]? &lt;&gt; true),<br \/>#\"Invoke Custom Function1\" = Table.AddColumn(#\"Filtered Hidden Files1\", \"Transform File\", each #\"Transform File\"([Content])),<br \/>#\"Renamed Columns1\" = Table.RenameColumns(#\"Invoke Custom Function1\", {\"Name\", \"Source.Name\"}),<br \/>#\"Removed Other Columns1\" = Table.SelectColumns(#\"Renamed Columns1\", {\"Source.Name\", \"Transform File\"}),<br \/>#\"Expanded Table Column1\" = Table.ExpandTableColumn(#\"Removed Other Columns1\", \"Transform File\", Table.ColumnNames(#\"Transform File\"(#\"Sample File\"))),<br \/>#\"Filtered Rows1\" = Table.SelectRows(#\"Expanded Table Column1\", each ([Issue Description] &lt;&gt; \"\")),<br \/>#\"Changed Type\" = Table.TransformColumnTypes(#\"Filtered Rows1\",{{\"Source.Name\", type text}, {\"Finding Id\", type text}, {\"Issue Description\", type text}, {\"Severity\", type text}, {\"Number of Affected Objects\", Int64.Type}, {\"First Observed\", type date}, {\"Risk if no Action Taken\", type text}, {\"Recommendations\", type text}, {\"Reference\", type text}}),<br \/>#\"Split Column by Position\" = Table.SplitColumn(#\"Changed Type\", \"Source.Name\", Splitter.SplitTextByPositions({0, 14}, true), {\"Source.Name.1\", \"Source.Name.2\"}),<br \/>#\"Changed Type1\" = Table.TransformColumnTypes(#\"Split Column by Position\",{{\"Source.Name.1\", type text}, {\"Source.Name.2\", type text}}),<br \/>#\"Split Column by Position1\" = Table.SplitColumn(#\"Changed Type1\", \"Source.Name.2\", Splitter.SplitTextByPositions({0, 10}, false), {\"Source.Name.2.1\", \"Source.Name.2.2\"}),<br \/>#\"Renamed Columns2\" = Table.RenameColumns(#\"Split Column by Position1\",{{\"Source.Name.2.1\", \"Date\"}}),<br \/>#\"Split Column by Delimiter\" = Table.SplitColumn(#\"Renamed Columns2\", \"Date\", Splitter.SplitTextByDelimiter(\"-\", QuoteStyle.Csv), {\"Date.1\", \"Date.2\", \"Date.3\"}),<br \/>#\"Reordered Columns\" = Table.ReorderColumns(#\"Split Column by Delimiter\",{\"Source.Name.1\", \"Date.2\", \"Date.1\", \"Date.3\", \"Source.Name.2.2\", \"Finding Id\", \"Issue Description\", \"Severity\", \"Number of Affected Objects\", \"First Observed\", \"Risk if no Action Taken\", \"Recommendations\", \"Reference\"}),<br \/>#\"Merged Columns\" = Table.CombineColumns(#\"Reordered Columns\",{\"Date.2\", \"Date.1\", \"Date.3\"},Combiner.CombineTextByDelimiter(\"-\", QuoteStyle.None),\"Merged\"),<br \/>#\"Changed Type2\" = Table.TransformColumnTypes(#\"Merged Columns\",{{\"Merged\", type date}, {\"Source.Name.2.2\", type text}}),<br \/>#\"Renamed Columns\" = Table.RenameColumns(#\"Changed Type2\",{{\"Merged\", \"Date\"}}),<br \/>#\"Added Index\" = Table.AddIndexColumn(#\"Renamed Columns\", \"Index\", 1, 1, Int64.Type),<br \/>#\"Grouped Rows\" = Table.Group(#\"Added Index\", {\"Date\"}, {{\"Count\", each Table.RowCount(_), Int64.Type}})<br \/>in<br \/>#\"Grouped Rows\"<\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8d7999f elementor-widget elementor-widget-text-editor\" data-id=\"8d7999f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Once this is done, click the &#8216;Done&#8217; button and the code will be added to the query.\u00a0 The result of the query should be a column showing the Date and a column showing the count of findings.<\/p><h5>Total Findings Query<\/h5><p>The last of the queries that we need to create is the one to show the total number of findings as a numerical figure that we can then use in calculations later.<\/p><p>Create a new query, rename the query to be:\u00a0 TotalFindings<\/p><p>Right mouse click on the TotalFindings query and left click on &#8216;Advanced Editor&#8217;<\/p><p>Paste the following code into the advanced editor to create the TotalFindings query:<\/p><pre>let<br \/>Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText(\"i45WMjUzV4qNBQA=\", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#\"Total Findings\" = _t]),<br \/>#\"Changed Type\" = Table.TransformColumnTypes(Source,{{\"Total Findings\", Int64.Type}}),<br \/>#\"Renamed Columns\" = Table.RenameColumns(#\"Changed Type\",{{\"Total Findings\", \"Old Total Findings\"}}),<br \/>#\"Removed Columns\" = Table.RemoveColumns(#\"Renamed Columns\",{\"Old Total Findings\"}),<br \/>#\"Added Custom\" = Table.AddColumn(#\"Removed Columns\", \"TotalFindings\", each {#\"Number of Findings\"}),<br \/>#\"Expanded TotalFindings\" = Table.ExpandListColumn(#\"Added Custom\", \"TotalFindings\")<br \/>in<br \/>#\"Expanded TotalFindings\"<\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7b7e079 elementor-widget elementor-widget-text-editor\" data-id=\"7b7e079\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>After clicking Done, the TotalFindings query should show a column named &#8216;TotalFindings&#8217; with a figure underneath that matches the figure entered for the Number of Findings parameter we entered earlier.<\/p><p>You should now be able to click the &#8216;Close &amp; Apply&#8217; button to have the new queries transferred into the design space.<\/p><p>You should now see the following under the &#8216;Fields&#8217; view:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-77074c3 elementor-widget elementor-widget-image\" data-id=\"77074c3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"280\" height=\"300\" src=\"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2022\/10\/2022-10-25-16_00_19-Settings-280x300.png\" class=\"attachment-medium size-medium wp-image-231024\" alt=\"\" srcset=\"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2022\/10\/2022-10-25-16_00_19-Settings-280x300.png 280w, https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2022\/10\/2022-10-25-16_00_19-Settings.png 445w\" sizes=\"(max-width: 280px) 100vw, 280px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6ad3877 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6ad3877\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-68c57ce\" data-id=\"68c57ce\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ec37ab6 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"ec37ab6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6965945 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6965945\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0c3d9d9\" data-id=\"0c3d9d9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-51e2710 elementor-widget elementor-widget-text-editor\" data-id=\"51e2710\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h4>Creating Measures<\/h4><p>Although it seems like we are having to do a lot of prep work before getting into creating the actual report, we are laying the foundations to the report we want to create.<\/p><p>During the initial creation of this report, I had a rough idea of what I wanted to create and would create some visuals on the report and then make the measures and queries to match what I wanted to show.\u00a0 For this walkthrough, I&#8217;ve adjusted the order slightly to get most of the items created up front and then the final stage is to create the visuals.<\/p><p>The majority of the measures we are going to create are going to be added to the &#8216;TotalFindings&#8217; query, as they are calculations taken from that table to help show percentages in pie charts and coloured sections of the pie charts.<\/p><p>To create a measure, you should move your mouse over the &#8216;TotalFindings&#8217; query under the &#8216;Fields&#8217; area and then click on the &#8216;&#8230;&#8217; (three dots at the right of the name), this will open a menu and you should then click &#8216;New Measure&#8217;.\u00a0 This will create a new code entry box at the top of the report window.\u00a0 Enter a piece of code below, press enter to accept the code, then create a new measure before entering the next piece of code.<\/p><div><pre>%AllFindings =<br \/><br \/>VAR __TotalFindings = ('TotalFindings'[Total Findings])<br \/><br \/>VAR __FindingCount = COUNT('LatestFile'[Severity])<br \/><br \/>VAR __Remainder = __TotalFindings-__FindingCount<br \/><br \/>RETURN FORMAT(DIVIDE(__Remainder,__TotalFindings),\"0.00%\")<\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cc3a580 elementor-widget elementor-widget-text-editor\" data-id=\"cc3a580\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Throughout the code entry in the measures both above and below, do not be concerned if you receive an error.\u00a0 This is just that it is calling on a measure that you haven&#8217;t created yet.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6be6410 elementor-widget elementor-widget-text-editor\" data-id=\"6be6410\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><pre>%Critical = FORMAT(DIVIDE(COUNTROWS(FILTER('LatestFile','LatestFile'[Severity]=\"CRITICAL\")),COUNTROWS('LatestFile')),\"0.00%\")<\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-64179c1 elementor-widget elementor-widget-text-editor\" data-id=\"64179c1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><pre>%Moderate = FORMAT(DIVIDE(COUNTROWS(FILTER('LatestFile','LatestFile'[Severity]=\"MODERATE\")),COUNTROWS('LatestFile')),\"0.00%\")<\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-33a4359 elementor-widget elementor-widget-text-editor\" data-id=\"33a4359\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><pre>%TotalFindings = FORMAT(DIVIDE(COUNT('LatestFile'[Severity]),'TotalFindings'[Total Findings]),\"0.00%\")<\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-77d6fbe elementor-widget elementor-widget-text-editor\" data-id=\"77d6fbe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><pre>%Trivial = FORMAT(DIVIDE(COUNTROWS(FILTER('LatestFile','LatestFile'[Severity]=\"TRIVIAL\")),COUNTROWS('LatestFile')),\"0.00%\")<\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ba3554a elementor-widget elementor-widget-text-editor\" data-id=\"ba3554a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><pre>Critical = COUNTROWS(FILTER('LatestFile','LatestFile'[Severity]=\"CRITICAL\"))<\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e436eff elementor-widget elementor-widget-text-editor\" data-id=\"e436eff\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><pre>CriticalLeft = COUNT('LatestFile'[Severity])-[Critical]<\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-005b2eb elementor-widget elementor-widget-text-editor\" data-id=\"005b2eb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><pre>Moderate = COUNTROWS(FILTER('LatestFile','LatestFile'[Severity]=\"MODERATE\"))<\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8632048 elementor-widget elementor-widget-text-editor\" data-id=\"8632048\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><pre>ModerateLeft = COUNT('LatestFile'[Severity])-[Moderate]<\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e2613a6 elementor-widget elementor-widget-text-editor\" data-id=\"e2613a6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><pre>Other Findings = 'TotalFindings'[Total Findings]-COUNT('LatestFile'[Severity])<\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b44a755 elementor-widget elementor-widget-text-editor\" data-id=\"b44a755\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><pre>Total Findings = CALCULATE(MAX('TotalFindings'[TotalFindings]))<\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eb2919d elementor-widget elementor-widget-text-editor\" data-id=\"eb2919d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><pre>Trivial = COUNTROWS(FILTER('LatestFile','LatestFile'[Severity]=\"TRIVIAL\"))<\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-52e985e elementor-widget elementor-widget-text-editor\" data-id=\"52e985e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><pre>TrivialLeft = COUNT('LatestFile'[Severity])-[Trivial]<\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4df66ca elementor-widget elementor-widget-text-editor\" data-id=\"4df66ca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The final measure to create is one on the &#8216;FindingsCount&#8217; query.\u00a0 Click the &#8216;&#8230;&#8217; next to the FindingsCount name in the &#8216;Fields&#8217; area of the screen and then left click on &#8216;New Measure&#8217;.\u00a0 Enter the following code for that measure in the measure box:<\/p><div><pre>CountItems = COUNT(FindingsCount[Date].[Date])<\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-18e8ae7 elementor-widget elementor-widget-text-editor\" data-id=\"18e8ae7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>There is one additional item that we need to add and this is a column.\u00a0 This is performed in much the same way as creating a measure except this will add a column to query based on a calculation rather than a single entry.<\/p><p>We&#8217;ll be adding this column to the &#8216;TotalFindings&#8217; query and therefore click the &#8216;&#8230;&#8217; next to the TotalFindings name in the &#8216;Fields&#8217; area of the screen and then left click on &#8216;New Column&#8217;.\u00a0 A code box will appear in the same place as the measure code box would normally appear, you should enter the following code into that box:<\/p><div><pre>Your Findings = COUNT('LatestFile'[Severity])<\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2e45754 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2e45754\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-569398d\" data-id=\"569398d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-33692a5 elementor-widget elementor-widget-text-editor\" data-id=\"33692a5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>After all of this work you should have something similar to below:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e7e783f elementor-widget elementor-widget-image\" data-id=\"e7e783f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"309\" height=\"1024\" src=\"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2022\/10\/2022-10-25-16_35_48-Settings-309x1024.png\" class=\"attachment-large size-large wp-image-231025\" alt=\"\" srcset=\"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2022\/10\/2022-10-25-16_35_48-Settings-309x1024.png 309w, https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2022\/10\/2022-10-25-16_35_48-Settings.png 439w\" sizes=\"(max-width: 309px) 100vw, 309px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a0f7acc elementor-widget elementor-widget-text-editor\" data-id=\"a0f7acc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Now we are ready to create some visuals.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ab72fa4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ab72fa4\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4433c93\" data-id=\"4433c93\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b030577 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"b030577\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1c71c7a elementor-widget elementor-widget-text-editor\" data-id=\"1c71c7a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Part 3 of this walkthrough continues at the following link:<\/p><p><a href=\"https:\/\/www.virtualworlduk.co.uk\/wordp\/?p=231032\"> https:\/\/www.virtualworlduk.co.uk\/wordp\/?p=231032<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>As you may recall, we&#8217;re part way through creating a Power BI report to display information collected from VMware Skyline.&nbsp; The first part can be found here:&nbsp;&nbsp;https:\/\/www.virtualworlduk.co.uk\/wordp\/?p=230985 In Part 1, we had downloaded the export from Skyline, and created some of the queries that gather the data from the exports ready to be used in the report components.&nbsp; This, primarily, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":230988,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[9],"tags":[],"class_list":["post-231022","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vmware"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2022\/10\/2022-10-21-15_22_05-Skyline-Insights-1.0-Community-Power-BI-Desktop.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/posts\/231022","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/comments?post=231022"}],"version-history":[{"count":8,"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/posts\/231022\/revisions"}],"predecessor-version":[{"id":231080,"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/posts\/231022\/revisions\/231080"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/media\/230988"}],"wp:attachment":[{"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/media?parent=231022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/categories?post=231022"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/tags?post=231022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}