Raporty stworzone za pomocą Power BI Desktop zapisywane są z rozszerzeniem *.pbix Okazuje się, że nie jest to nowy format plików w którym zawarty jest kod źródłowy raportów tylko plik archiwum, który jesteśmy w stanie rozpakować. Zacznijmy od stworzenia bardzo prostego raportu w Power Bi Desktop.
Tworzenie raportu
Jako źródło danych do raportu posłuży bardzo prosty plik csv z następującymi danymi:
Country,City,NetAmount Poland,Warsaw,1000 Spain,Madrid, 250 France,Paris,920
Tekst zapisujemy jako plik csv i następnie importujemy go do Power BI Desktop.
Dodajmy dodatkową miarę do modelu:
TotalPercent = CALCULATE(SUM(data[NetAmount])/CALCULATE(SUM(data[NetAmount]),ALLSELECTED(data)))
Dodajemy również przykładową wizualizację danych:
Tak przygotowany raport postaramy się podejrzeć od środka.
Plik *.pbix
Raport jest zapisywany z rozszerzeniem *.pbix Nie jest to jednak nowy format plików natomiast archiwum, które możemy rozpakować przy użyciu np. 7-Zip.
Po rozpakowaniu naszym oczom ukaże się lista plików.

Przyjrzyjmy się poszczególnym plikom i ich zawartości. Do przeglądania zawartości tych plików będziemy wykorzystywać program Notepad++
.\Version – plik zawiera informacje o wersji. Nie jest to jednak numer wersji Power Bi Desktop w którym zostało stworzony numer.
Zawartość mojego pliku:
1.11
.\Settings – w moim przypadku plik jest pusty.
.\SecurityBindings – w moim przypadku plik zawiera pewne losowe dane
ÐŒßÑŒz ÀO—ë t9Rž•G€¢\úÞ f À gÑ ÇMe YKާÐ4ýì € kñó5|©æeãÉÓ6‰H …™ÄvÙ*Òÿfì>˜š…Ül§Ô´$Th1 ޞÕîêˆnÌ ï¬VJ¤´_A´Ù„bªzÜ %ߥcš˜efÉ*f‡vfX ¾–wÍíæ“(ÜÖ%~jrêd9^
.\Metadata – w moim przypadku plik zawiera pewne dane z których ciężko cokolwiek wywnioskować poza id (GUID), które zostało nadane tabeli
data$19cce2b4-9125-4106-8281-da33db91feb0 $19cce2b4-9125-4106-8281-da33db91feb0data
.\DiagramState – plik zawiera informacje o relacjach między tabelami, tutaj również tabela jest oznaczana jako id (GUID)
{
"Version": 0,
"Data": [
{
"TableKey": "Tables\\19cce2b4-9125-4106-8281-da33db91feb0",
"Height": 150,
"Width": 200,
"Left": 0,
"Top": 0
}
]
}
.\DataModel – plik zawiera pewne informacje o modelu, które możemy odczytać.
STREAM_STORAGE_SIGNATURE_)!@#$%^&*(
<BackupLog>
<BackupRestoreSyncVersion>140</BackupRestoreSyncVersion>
<Fault>false</Fault>
<faultcode>43981</faultcode>
<ErrorCode>false</ErrorCode>
<EncryptionFlag>false</EncryptionFlag>
<EncryptionKey>6</EncryptionKey>
<ApplyCompression>true</ApplyCompression>
<m_cbOffsetHeader>114688</m_cbOffsetHeader>
<DataSize>41268</DataSize>
<Files>75</Files>
<ObjectID>E31C7D2F-EF13-11E6-87D7-847BEB500275</ObjectID>
<m_cbOffsetData>4096</m_cbOffsetData>
</BackupLog>
<Partitions/>ॎΪ 䰼慯浸湬㵳栢瑴㩰⼯捳敨慭業牣 獯景潣⽭湡污獹獩敳癲捩獥㈯
<img class="emoji" draggable="false" alt="〰" src="https://s.w.org/images/core/emoji/2.2.1/svg/3030.svg" data-mce-resize="false" data-mce-placeholder="1" data-wp-emoji="1">⼳녷Ą湥楧敮ଢ㨂摤㉬ȷ∯㈯ɇ坟㼂朥
<img class="emoji" draggable="false" alt="〰" src="https://s.w.org/images/core/emoji/2.2.1/svg/3030.svg" data-mce-resize="false" data-mce-placeholder="1" data-wp-emoji="1">ɧᩏ攸朁异ʇ⥟ʧè껕魝ʇ〱ݶɧ蝟异ꜩ㌂ʇᱏ蔱朁异ʇ⥟ʧ蜴伂㈜ʅǰɧ蝟漂ꜩʇ╟朱异ʇ⥟ă불ʧ霵伇똜朁异ʇ⤯ʧ獸湤眂睷眮⸳牯䥧ㄕ堯䱍ɓ會 䀀杩ँ椭獮慴据≥㰾扏敪瑣敄楦楮楴湯㰾 慄慴慢敳㰾慎敭㤾捡㌲㈱ⴷ㕡㕦㐭㙢Ѡ ⴸ敡扡㐭摤㤱晣摥㉢㱡刯㰁䑉ŷŀ䌼敲aက琁摥楔敭Ѩ灭ᠾ㜈〭ⴲ㠰㉔㨳〱〺⸱㈰瀳䞄㰀术㰁慌瑳ٳ灕
.\DataMashup – plik zawiera między innymi kod języka M dla zapytań
% PK ³¸IJƒ zª ú Config/Package.xml ¢ ( …½‚0Ä_…t§ DÈŸ2¸JbB4®Th„bh±¼›ƒä+H¢7“î.¿áîy@6uw“ƒQ½NÃyR—}¥t¢ÑžýÊ8ìEyµôfX›d2UŠk¯ !Î9ìBÜ5 (eä”‘@_Xý‡}¥º”ˆÃñ=†x5+bÇ”YjÈ•^<Ãkq„)Ÿ¶ckÇAr©ýCd‰@>?øPK ³¸IJÊ髤 é [Content_Types].xml ¢ ( mŽKÂ0D¯yŸº°@5eÜ€DÁýˆæ£ÆEál,8W mwˆ¥gæyæózWÇdñ 1öÞ)Ø%rÆßz×*˜¸‘{8ÖÕõ(ŠuQALjÑtdu,| —ÆVs>ǃ6wÝnËr‡Æ;&Ç’çPWgjô4°¸¤,¯µqZss•¦Ä¸Èø—°?yÂÐÍÙÄ$m”v!q^PK ³¸IJ¿ d› ³ Formulas/Section1.m ¢ ( mOkÃ0Åï|ã]R0aíþVréÆv)íNË(n¬µfŽ,¥´Œ~÷9¤ÐÃê‹í÷ô¤Ÿj¶èÅb¸ÇÓ4IÚê FÍZ§‰ˆg]¨!*%íòÖ]ž³gë /ÑsüP&Ë‡êƒ PE΄ëq5úal«‰©jݪ]ÛýÊz²ª~B^ÓNŽÔçœm,C(¤’J”èºÆSq£Ä“¯ÑX¿)Æ“»‰ï2,øà 8?ó9zø©ôJ¾l¢gÄhqdÄ^êu,
<9'=–:Ëö›˜[Z8‡–A{úÆÐX½IÙ…)ê÷W–Øy‡¸Ç2Á°ç£Q·ü_œ?6} :¯žïoó¾÷ñ8Jë/2Mÿ PK- ³¸IJƒ zª ú Config/Package.xmlPK- ³¸IJÊ髤 é ö [Content_Types].xmlPK- ³¸IJ¿ d› ³ ç Formulas/Section1.mPK  M 
<?xml version="1.0" encoding="utf-8"?>
<PermissionList
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CanEvaluateFuturePackages>false</CanEvaluateFuturePackages>
<FirewallEnabled>true</FirewallEnabled>
</PermissionList> ó 
<?xml version="1.0" encoding="utf-8"?>
<LocalPackageMetadataFile
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Items>
<Item>
<ItemLocation>
<ItemType>AllFormulas</ItemType>
<ItemPath />
</ItemLocation>
<StableEntries />
</Item>
<Item>
<ItemLocation>
<ItemType>Formula</ItemType>
<ItemPath>Section1/data</ItemPath>
</ItemLocation>
<StableEntries>
<Entry Type="IsPrivate" Value="l0" />
<Entry Type="IsDirectQuery" Value="l0" />
<Entry Type="RelationshipInfoContainer" Value="s{"columnCount":3,"keyColumnNames":[],"queryRelationships":[],"columnIdentities":["Section1/data/Changed Type.{Country,0}","Section1/data/Changed Type.{City,1}","Section1/data/Changed Type.{NetAmount,2}"],"ColumnCount":3,"KeyColumnNames":[],"ColumnIdentities":["Section1/data/Changed Type.{Country,0}","Section1/data/Changed Type.{City,1}","Section1/data/Changed Type.{NetAmount,2}"],"RelationshipInfo":[]}" />
<Entry Type="FillColumnNames" Value="s["Country","City","NetAmount"]" />
<Entry Type="LastAnalysisServicesFormulaText" Value="s{"IncludesReferencedQueries":true,"RootFormulaText":"let\r\n Source = Csv.Document(File.Contents(\"C:\\Users\\sldr01\\Desktop\\posts\\pl_pbix_inside\\data.csv\"),[Delimiter=\",\", Columns=3, Encoding=1252, QuoteStyle=QuoteStyle.None]),\r\n #\"Promoted Headers\" = Table.PromoteHeaders(Source),\r\n #\"Changed Type\" = Table.TransformColumnTypes(#\"Promoted Headers\",{{\"Country\", type text}, {\"City\", type text}, {\"NetAmount\", Int64.Type}})\r\nin\r\n #\"Changed Type\"","ReferencedQueriesFormulaText":{}}" />
<Entry Type="IsLastAnalysisServicesFormulaTextCollection" Value="l1" />
<Entry Type="LoadedToAnalysisServices" Value="l1" />
<Entry Type="ResultType" Value="sTable" />
<Entry Type="BufferNextRefresh" Value="l0" />
</StableEntries>
</Item>
<Item>
<ItemLocation>
<ItemType>Formula</ItemType>
<ItemPath>Section1/data/Source</ItemPath>
</ItemLocation>
<StableEntries />
</Item>
<Item>
<ItemLocation>
<ItemType>Formula</ItemType>
<ItemPath>Section1/data/Promoted%20Headers</ItemPath>
</ItemLocation>
<StableEntries />
</Item>
<Item>
<ItemLocation>
<ItemType>Formula</ItemType>
<ItemPath>Section1/data/Changed%20Type</ItemPath>
</ItemLocation>
<StableEntries />
</Item>
</Items>
</LocalPackageMetadataFile> PK Ú ÐŒßÑŒz ÀO—ë t9Rž•G€¢\úÞ f À CQeP¦× Ë1Ô±e5~Ô € l|÷æP\}6&è*Rw•P GÔÒVÇdÈlg ðuxt®ñV[3ÞÓz…B™2ÕKÛk©B›/ÆJ3Z¼“ÎlýÍ?û6Ìþ Î+Õ—úFxU¯‚!šËÏ A€÷rü–P¥²«•§':/mAé‘
.\[Content_Types].xml – plik zawiera pewne informacje w formacie XML
<?xml version="1.0" encoding="utf-8"?>
<Types
xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
<Override PartName="/Version" ContentType="" />
<Override PartName="/DataMashup" ContentType="" />
<Override PartName="/DataModel" ContentType="" />
<Override PartName="/Report/Layout" ContentType="" />
<Override PartName="/Settings" ContentType="" />
<Override PartName="/Metadata" ContentType="" />
<Override PartName="/DiagramState" ContentType="" />
<Override PartName="/SecurityBindings" ContentType="" />
</Types>
.\Report\Layout – plik zawiera definicję raportu. Plik może być przydatny w chwili kopiowania stron raportu między raportami.
{
"id": 0,
"sections": [
{
"id": 0,
"name": "ReportSection",
"displayName": "Page 1",
"ordinal": 0,
"visualContainers": [
{
"x": 0,
"y": 116.75675675675676,
"z": 0,
"width": 500.3861003861004,
"height": 603.2432432432432,
"config": "{\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":116.75675675675676,\"z\":0,\"width\":500.3861003861004,\"height\":603.2432432432432}}],\"singleVisual\":{\"visualType\":\"columnChart\",\"projections\":{\"Category\":[{\"queryRef\":\"data.Country\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(data.NetAmount)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"d\",\"Entity\":\"data\"}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"d\"}},\"Property\":\"Country\"},\"Name\":\"data.Country\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"d\"}},\"Property\":\"NetAmount\"}},\"Function\":0},\"Name\":\"Sum(data.NetAmount)\"}]},\"objects\":{\"labels\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}},\"name\":\"VisualContainer\"}",
"query": "{\"Commands\":[{\"SemanticQueryDataShapeCommand\":{\"Query\":{\"Version\":2,\"From\":[{\"Name\":\"d\",\"Entity\":\"data\"}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"d\"}},\"Property\":\"Country\"},\"Name\":\"data.Country\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"d\"}},\"Property\":\"NetAmount\"}},\"Function\":0},\"Name\":\"Sum(data.NetAmount)\"}],\"OrderBy\":[{\"Direction\":1,\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"d\"}},\"Property\":\"Country\"}}}]},\"Binding\":{\"Primary\":{\"Groupings\":[{\"Projections\":[0,1]}]},\"DataReduction\":{\"DataVolume\":4,\"Primary\":{\"Window\":{\"Count\":1000}}},\"Version\":1}}}]}",
"dataTransforms": "{\"objects\":{\"labels\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]},\"projectionOrdering\":{\"Category\":[0],\"Y\":[1]},\"projectionActiveItems\":{\"Category\":[{\"queryRef\":\"data.Country\",\"suppressConcat\":false}]},\"queryMetadata\":{\"Select\":[{\"Restatement\":\"Country\",\"Name\":\"data.Country\",\"Type\":2048},{\"Restatement\":\"NetAmount\",\"Name\":\"Sum(data.NetAmount)\",\"Type\":3,\"Format\":\"0\"}]},\"visualElements\":[{\"DataRoles\":[{\"Name\":\"Category\",\"Projection\":0,\"isActive\":true},{\"Name\":\"Y\",\"Projection\":1,\"isActive\":false}]}],\"selects\":[{\"displayName\":\"Country\",\"queryName\":\"data.Country\",\"roles\":{\"Category\":true},\"sort\":1,\"sortOrder\":0,\"type\":{\"category\":null,\"underlyingType\":1},\"expr\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Entity\":\"data\"}},\"Property\":\"Country\"}}},{\"displayName\":\"NetAmount\",\"format\":\"0\",\"queryName\":\"Sum(data.NetAmount)\",\"roles\":{\"Y\":true},\"type\":{\"category\":null,\"underlyingType\":260},\"expr\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Entity\":\"data\"}},\"Property\":\"NetAmount\"}},\"Function\":0}}}]}"
},
{
"x": 0.9266409266409267,
"y": 0.9266409266409267,
"z": 2,
"width": 1277.837837837838,
"height": 89.88416988416989,
"config": "{\"layouts\":[{\"id\":0,\"position\":{\"x\":0.9266409266409267,\"y\":0.9266409266409267,\"z\":2,\"width\":1277.837837837838,\"height\":89.88416988416989}}],\"singleVisual\":{\"visualType\":\"textbox\",\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"REPORT TITLE\",\"textStyle\":{\"fontSize\":\"60px\"}}],\"horizontalTextAlignment\":\"center\"}]}}]}},\"name\":\"VisualContainer1\"}"
},
{
"x": 521.6988416988418,
"y": 326.1776061776062,
"z": 3,
"width": 757.992277992278,
"height": 393.82239382239385,
"config": "{\"layouts\":[{\"id\":0,\"position\":{\"x\":521.6988416988418,\"y\":326.1776061776062,\"z\":3,\"width\":757.992277992278,\"height\":393.82239382239385}}],\"singleVisual\":{\"visualType\":\"map\",\"projections\":{\"Category\":[{\"queryRef\":\"data.Country\",\"active\":true}],\"Size\":[{\"queryRef\":\"Sum(data.NetAmount)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"d\",\"Entity\":\"data\"}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"d\"}},\"Property\":\"Country\"},\"Name\":\"data.Country\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"d\"}},\"Property\":\"NetAmount\"}},\"Function\":0},\"Name\":\"Sum(data.NetAmount)\"}]}},\"name\":\"VisualContainer2\"}",
"query": "{\"Commands\":[{\"SemanticQueryDataShapeCommand\":{\"Query\":{\"Version\":2,\"From\":[{\"Name\":\"d\",\"Entity\":\"data\"}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"d\"}},\"Property\":\"Country\"},\"Name\":\"data.Country\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"d\"}},\"Property\":\"NetAmount\"}},\"Function\":0},\"Name\":\"Sum(data.NetAmount)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"d\"}},\"Property\":\"NetAmount\"}},\"Function\":0}}}]},\"Binding\":{\"Primary\":{\"Groupings\":[{\"Projections\":[0,1]}]},\"DataReduction\":{\"DataVolume\":4,\"Primary\":{\"Top\":{}}},\"Version\":1}}}]}",
"dataTransforms": "{\"projectionOrdering\":{\"Category\":[0],\"Size\":[1]},\"projectionActiveItems\":{\"Category\":[{\"queryRef\":\"data.Country\",\"suppressConcat\":false}]},\"queryMetadata\":{\"Select\":[{\"Restatement\":\"Country\",\"Name\":\"data.Country\",\"Type\":2048},{\"Restatement\":\"NetAmount\",\"Name\":\"Sum(data.NetAmount)\",\"Type\":3,\"Format\":\"0\"}]},\"visualElements\":[{\"DataRoles\":[{\"Name\":\"Category\",\"Projection\":0,\"isActive\":true},{\"Name\":\"Size\",\"Projection\":1,\"isActive\":false}]}],\"selects\":[{\"displayName\":\"Country\",\"queryName\":\"data.Country\",\"roles\":{\"Category\":true},\"type\":{\"category\":null,\"underlyingType\":1},\"expr\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Entity\":\"data\"}},\"Property\":\"Country\"}}},{\"displayName\":\"NetAmount\",\"format\":\"0\",\"queryName\":\"Sum(data.NetAmount)\",\"roles\":{\"Size\":true},\"sort\":2,\"sortOrder\":0,\"type\":{\"category\":null,\"underlyingType\":260},\"expr\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Entity\":\"data\"}},\"Property\":\"NetAmount\"}},\"Function\":0}}}]}"
},
{
"x": 521.6988416988418,
"y": 120.46332046332047,
"z": 4,
"width": 757.992277992278,
"height": 182.54826254826256,
"config": "{\"layouts\":[{\"id\":0,\"position\":{\"x\":521.6988416988418,\"y\":120.46332046332047,\"z\":4,\"width\":757.992277992278,\"height\":182.54826254826256}}],\"singleVisual\":{\"visualType\":\"treemap\",\"projections\":{\"Group\":[{\"queryRef\":\"data.Country\",\"active\":true}],\"Values\":[{\"queryRef\":\"data.TotalPercent\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"d\",\"Entity\":\"data\"}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"d\"}},\"Property\":\"Country\"},\"Name\":\"data.Country\"},{\"Measure\":{\"Expression\":{\"SourceRef\":{\"Source\":\"d\"}},\"Property\":\"TotalPercent\"},\"Name\":\"data.TotalPercent\"}]},\"objects\":{\"labels\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}},\"name\":\"VisualContainer3\"}",
"query": "{\"Commands\":[{\"SemanticQueryDataShapeCommand\":{\"Query\":{\"Version\":2,\"From\":[{\"Name\":\"d\",\"Entity\":\"data\"}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"d\"}},\"Property\":\"Country\"},\"Name\":\"data.Country\"},{\"Measure\":{\"Expression\":{\"SourceRef\":{\"Source\":\"d\"}},\"Property\":\"TotalPercent\"},\"Name\":\"data.TotalPercent\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Measure\":{\"Expression\":{\"SourceRef\":{\"Source\":\"d\"}},\"Property\":\"TotalPercent\"}}}]},\"Binding\":{\"Primary\":{\"Groupings\":[{\"Projections\":[0,1]}]},\"DataReduction\":{\"DataVolume\":3,\"Primary\":{\"Top\":{}}},\"Version\":1}}}]}",
"dataTransforms": "{\"objects\":{\"labels\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]},\"projectionOrdering\":{\"Group\":[0],\"Values\":[1]},\"projectionActiveItems\":{\"Group\":[{\"queryRef\":\"data.Country\",\"suppressConcat\":false}]},\"queryMetadata\":{\"Select\":[{\"Restatement\":\"Country\",\"Name\":\"data.Country\",\"Type\":2048},{\"Restatement\":\"TotalPercent\",\"Name\":\"data.TotalPercent\",\"Type\":1}]},\"visualElements\":[{\"DataRoles\":[{\"Name\":\"Group\",\"Projection\":0,\"isActive\":true},{\"Name\":\"Values\",\"Projection\":1,\"isActive\":false}]}],\"selects\":[{\"displayName\":\"Country\",\"queryName\":\"data.Country\",\"roles\":{\"Group\":true},\"type\":{\"category\":null,\"underlyingType\":1},\"expr\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Entity\":\"data\"}},\"Property\":\"Country\"}}},{\"displayName\":\"TotalPercent\",\"queryName\":\"data.TotalPercent\",\"roles\":{\"Values\":true},\"sort\":2,\"sortOrder\":0,\"type\":{\"category\":null,\"underlyingType\":259},\"expr\":{\"Measure\":{\"Expression\":{\"SourceRef\":{\"Entity\":\"data\"}},\"Property\":\"TotalPercent\"}}}]}"
}
],
"displayOption": 1,
"width": 1280,
"height": 720,
"config": "{}"
}
],
"config": "{\"version\":\"2.4\",\"activeSectionIndex\":0}",
"layoutOptimization": 0
}
Warto zauważyć, że w przypadku wykorzystania jakiegokolwiek dodatkowego wykresu (Custom Visuals) zostanie on również skopiowany i umieszczony w archiwum pliku raportu.
Niestety bardzo trudno powiedzieć coś więcej o zawartości plików ze względu na brak dokumentacji i swoje wnioski można opierać wyłącznie na podstawie domysłów. Niemniej jednak powinna to być dla nas cenna i ciekawa informacja. To co jednak możemy powiedzieć to fakt, iż udostępnianie raportów osobom niepowołanym może wiązać się z dostępem do danych i wiedzy, które te osoby nie powinny posiadać. W przypadku pojawienia się większej liczby informacji, dokumentacji lub diametralnych zmian w zawartości tych plików wpis ten zostanie zaktualizowany.
- Docker dla amatora danych – Tworzenie środowiska (VM) w Azure i VirtualBox (skrypt) - April 20, 2020
- Power-up your BI project with PowerApps – materiały - February 5, 2020
- Docker dla “amatora” danych – kod źródłowy do prezentacji - November 18, 2019


Last comments