SlideShare a Scribd company logo
Extending Power BI With
Your Own Custom Visual
Saturday, 24-Feb-2018 14:30 – 7. Daniels
Jan Pieter Posthuma
© Feb '18 – DataScenarios
• Jan Pieter Posthuma – Microsoft Data Consultant
• DataScenarios – Data Consultancy Company
• Architect roles at multiple projects
• Creator of Power BI Custom Visuals
• HierarchySlicer [∞]
• Box and Whisker chart [∞]
• D3js Visual [∞]
• Contact
• mail@datascenarios.nl
• https://twitter.com/jppp
• https://linkedin.com/in/jpposthuma
• https://github.com/liprec
Who am I?
© Feb '18 – DataScenarios 2
• Introduction
• Developing
• Technical Demos
• AppSource Listing
• D3js Visual
3© Feb '18 – DataScenarios
Agenda
Introduction
© Feb '18 – DataScenarios
Develop custom
visuals quickly with
Microsoft’s
open-sourced,
production-quality
visualization code
Present data in the way
that makes best sense to
your users
Leverage the visualization
framework, test suite and
tooling to build the right
custom visuals for your app
Gallery: store.office.com
© Feb '18 – DataScenarios 5
Custom Visuals Platform
© Feb '18 – DataScenarios 6
Distribute through AppSource
© Feb '18 – DataScenarios
Greater reach to business users
Usage tracking
Publishing requires Office
Developer account
https://appsource.microsoft.com
7
• Since beginning of the new Power BI (Summer 2015)
• Beginning 2016: visuals are running in a ‘sandbox’ environment
• August 2016: new Power BI API available, current version: v.1.10.0
• March 2017: Migration to Office Store: Version API required
• July 2017: Integration with Office Store and Certified visuals
• Sept 2017: Office Store is moved to Microsoft AppSource
• Feb 2018: Introduction of the Company Store
© Feb '18 – DataScenarios
History
8
Developing
© Feb '18 – DataScenarios
• NodeJS 4.0+ Required (5.0 recommended)
• https://nodejs.org/
• PowerBI-Visuals-Tools
• npm install -g powerbi-visuals-tools
• SSL and Debug visual: https://github.com/Microsoft/PowerBI-
visuals/blob/master/tools/README.md
• Visual Studio Code
• https://code.visualstudio.com/download
• PBIViz CLI addin:
https://marketplace.visualstudio.com/items?itemName=liprec.vscode-start-
pbiviz
• Enable ‘Developer Visual’ in Power BI Admin portal
Tools needed
© Feb '18 – DataScenarios 10
Power BI Custom Visual API
11© Feb '18 – DataScenarios
IVisual module
methods
(init, update, …)
enumerateObjectInstances
dataView
Formatting
pane
Power BI Custom
Visual
capabilities.jsonvisual.ts
Interaction via code
Report
canvas
Sandbox
Technical Demos
© Feb '18 – DataScenarios
> pbiviz new <visualname>
.api
.vscode
assets
src
style
capabilitises.json
pbiviz.json
tsconfig.json
Folder structure
API schemas
Visual Studio
Code settings
Icons /
screenshot
Capabilities definition – dataview
binding, formatting pane
Power BI Visual definition, like
name, author, externalJS files,
TypeScript config file
list of .ts files needed (incl. typing)
Source files – must included in
tsconfig.json
Style file – included in pbiviz.json.
Less supported
© Feb '18 – DataScenarios 13
• First class citizens (Power BI is using them also):
• D3js.org – Graphical library for ‘Data-Driven Documents’.
• Lodash – Library to take the hassle out of working with arrays, objects,
strings, numbers, etc.
• jQuery – Library to make HTML document traversal and manipulation,
event handling easier
• Helper classes to support common UI operations, e.g.:
• powerbi-visuals-utils-formattingutils – valueFormatting,
TextProperties, …
• powerbi-visuals-utils-dataviewutils – getObject,
DataViewObjectsParser,
© Feb '18 – DataScenarios
External Libraries
Appsource listing
© Feb '18 – DataScenarios
Creation Coding Testing Packaging Submission
Custom Visual SDK
PowerBI.com
Office Seller
Dashboard
Custom visual development lifecycle
© Feb '18 – DataScenarios 16
• Submit pbiviz file, return manifest file for AppSource listing
• Only free visuals supported (at this time)
• Manual process, general 2-3 business days (US)
• Tested against:
• Chrome, Firefox, Edge and Internet Explorer 11
• Power BI Desktop (Chromium)
• Tested to provide expected behavior:
• Everything should work
• No errors/exceptions
• After approval support:
• Power BI is a moving target!
17© Jan '18 – DataScenarios
Custom Visual approval
• Visual advantages:
• Exported to PowerPoint
• Embedded in emails
• Requirements:
• Microsoft AppSource approved
• Custom visual is written with Versioned API 1.2 or higher
• Code repository available for review (e.g., Visual Code available to us
through GitHub)
• Uses only public reviewable OSS components
• Does not access external services or resources
https://docs.microsoft.com/en-us/power-bi/power-bi-custom-visuals-certified
18© Jan '18 – DataScenarios
Custom Visual certification
D3js Visual
© Feb '18 – DataScenarios
• Reason
Source: https://fd.nl/economie-
politiek/1218875/de-puzzelstukken-
van-de-miljoenennota
© Feb '18 – DataScenarios
D3js.org Visual
• ‘Lift and Shift’ migration of D3js visuals to Power BI
• Skeleton visual with D3js libraries included
• SVG element:
• <svg xmlns="http://www.w3.org/2000/svg" class="chart" id="chart">
• pbi object:
• dsv([accessor,] callback) – function that retrieves the data via the
provided callback: pbi.dsv(callback)
Optional accessor function may be added.
• Height – height of the sandbox frame
• Width – width of the sandbox frame
• Colors – color array with 8 colors; changable via options
• More info: https://azurebi.jppp.org/power-bi-d3js-visual/
21© Feb '18 – DataScenarios
D3js.org Visual
We love to get feedback
Please complete the session feedback
forms
Just like Jimi Hendrix …
Please visit Community Corner, we are trying this year to get more
people to learn about the SQL Community, equally if you would be
happy to visit the community corner we’d really appreciate it.
SQLBits - It's all about the community...
References
© Feb '18 – DataScenarios
• Power BI Custom Visuals documentation
https://github.com/Microsoft/PowerBI-visuals
• Power BI CLI tools
https://github.com/Microsoft/PowerBI-visuals-tools
• Power BI Core Visuals (old visuals, but good for reference)
https://github.com/Microsoft/PowerBI-visuals-core
• Visual Studio Code
https://code.visualstudio.com/download
• PBIViz addin
https://marketplace.visualstudio.com/items?itemName=liprec.vscode-
start-pbiviz
• Certification Requirements
https://powerbi.microsoft.com/en-us/documentation/powerbi-custom-
visuals-certified/
Resources
© Feb '18 – DataScenarios 25
• Clone or download
https://github.com/Microsoft/PowerBI-visuals-sampleBarChart
npm update
pbiviz start
• Open a report, upload some data
In www.powerbi.com, go to Get Data
Open a report once you’re done.
Edit the report
Click the developer visual
Bind some data
• Press F12 to debug
Use the browser debugger to see what’s happening
Hint: add debugger; to the constructor (makes debugging easier)
Start coding
© Feb '18 – DataScenarios 26

More Related Content

What's hot (20)

PPTX
Image Now Interact For Share Point
Marcus Hinterseer
 
PDF
Harnessing the Power of Customer Feedback
Autodesk
 
PPTX
24 Sitecore Tips that Every Sitecore Architect Needs to Know
Ashish Bansal
 
PPTX
The citizen integrator
BizTalk360
 
PPTX
Collaboration with Design Data
Augusto Goncalves
 
PPTX
Vitalii Bondarenko and Eugene Berko "Cloud AI Platform as an accelerator of e...
Lviv Startup Club
 
PDF
SPUnite17 Creating Scalable Cloud Solutions
NCCOMMS
 
PPTX
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
David Schneider
 
PPTX
1 App for Consumer and Enterprise
Ashish Trivedi
 
PDF
Moving to a headless solution based on sitecore 9 and javascript services
Mohamed Krimi
 
PPTX
Build intelligent solutions using Azure
Mostafa
 
PPTX
Building BI Dashboards Using Visio 2013
Alan Richards
 
DOCX
Dave_Charlton_Resume_Mar2016
David Charlton
 
PPT
Whitehorses Oracle OpenWorld 2010: Douwe Pieter van den Bos
Douwe Pieter van den Bos
 
DOCX
Dave_Charlton_TTC_Mar2016v2
David Charlton
 
PDF
Stefan Larsson CEO, keynote on BIMobject live 2014
BIMobject
 
PPTX
Microsoft Flow in Real World Projects: 2 Years later & What's next
BIWUG
 
PDF
INJECT MACHINE LEARNING AND OTHER CLOUD SERVICES IN YOUR EXISTING APPLICATIONS
Wouter Janssens
 
PPTX
Model Driven PowerApps
BIWUG
 
PPTX
Monitoring on premise biz talk applications using cloud based power bi saas
BizTalk360
 
Image Now Interact For Share Point
Marcus Hinterseer
 
Harnessing the Power of Customer Feedback
Autodesk
 
24 Sitecore Tips that Every Sitecore Architect Needs to Know
Ashish Bansal
 
The citizen integrator
BizTalk360
 
Collaboration with Design Data
Augusto Goncalves
 
Vitalii Bondarenko and Eugene Berko "Cloud AI Platform as an accelerator of e...
Lviv Startup Club
 
SPUnite17 Creating Scalable Cloud Solutions
NCCOMMS
 
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
David Schneider
 
1 App for Consumer and Enterprise
Ashish Trivedi
 
Moving to a headless solution based on sitecore 9 and javascript services
Mohamed Krimi
 
Build intelligent solutions using Azure
Mostafa
 
Building BI Dashboards Using Visio 2013
Alan Richards
 
Dave_Charlton_Resume_Mar2016
David Charlton
 
Whitehorses Oracle OpenWorld 2010: Douwe Pieter van den Bos
Douwe Pieter van den Bos
 
Dave_Charlton_TTC_Mar2016v2
David Charlton
 
Stefan Larsson CEO, keynote on BIMobject live 2014
BIMobject
 
Microsoft Flow in Real World Projects: 2 Years later & What's next
BIWUG
 
INJECT MACHINE LEARNING AND OTHER CLOUD SERVICES IN YOUR EXISTING APPLICATIONS
Wouter Janssens
 
Model Driven PowerApps
BIWUG
 
Monitoring on premise biz talk applications using cloud based power bi saas
BizTalk360
 

Similar to Extending Power BI with your own custom visual (20)

PPTX
Creating custom visuals with Power BI Visuals CLI
Denys Chamberland
 
PPTX
Power BI for Developers
Jan Pieter Posthuma
 
PDF
Power BI Custom Visuals Development- Create Tailored Data Visualizations
Meridian Solutions
 
PPTX
Power BI Overview
Gal Vekselman
 
PPTX
Create Tailored End User Experiences with Power BI
CCG
 
PPTX
Geek Sync I Visual Design Tips for Power BI & SSRS 2016+
IDERA Software
 
PDF
Power BI_basics using microsoft Power BI.pdf
SarathiJayaraman3
 
PDF
Bake-off Power BI
SoHo Dragon
 
PDF
Using Power BI and Azure as analytics engine for business applications
Digital Illustrated
 
PPTX
Visual guidance for power bi redmond sql sat 2019
Berkovich Consulting
 
PDF
Top 10 of Data & BI Summit Series: Power BI Tips & Tricks from the Trenches
Rui Romano
 
PPTX
June2019 release
Berkovich Consulting
 
PPTX
Power BI for Developers @ SQLSaturday #420 (Paris)
Rui Romano
 
PPTX
Afternoons with Azure - Power BI and Azure Analysis Services
CCG
 
PPTX
Power bi
jainema23
 
PPTX
Group_2_Use of AI in Power BI examp.pptx
tonystark93115
 
PDF
DOC Power-Bi-Guidance.pdf
ssusere8fdd1
 
PPTX
Intro to Power BI
Deepika Gandhi
 
PDF
Tuga IT - Power BI for Developers
Rui Romano
 
PPTX
Aprende a diseñar tableros de control (dashboard) de Alto impacto
nnakasone
 
Creating custom visuals with Power BI Visuals CLI
Denys Chamberland
 
Power BI for Developers
Jan Pieter Posthuma
 
Power BI Custom Visuals Development- Create Tailored Data Visualizations
Meridian Solutions
 
Power BI Overview
Gal Vekselman
 
Create Tailored End User Experiences with Power BI
CCG
 
Geek Sync I Visual Design Tips for Power BI & SSRS 2016+
IDERA Software
 
Power BI_basics using microsoft Power BI.pdf
SarathiJayaraman3
 
Bake-off Power BI
SoHo Dragon
 
Using Power BI and Azure as analytics engine for business applications
Digital Illustrated
 
Visual guidance for power bi redmond sql sat 2019
Berkovich Consulting
 
Top 10 of Data & BI Summit Series: Power BI Tips & Tricks from the Trenches
Rui Romano
 
June2019 release
Berkovich Consulting
 
Power BI for Developers @ SQLSaturday #420 (Paris)
Rui Romano
 
Afternoons with Azure - Power BI and Azure Analysis Services
CCG
 
Power bi
jainema23
 
Group_2_Use of AI in Power BI examp.pptx
tonystark93115
 
DOC Power-Bi-Guidance.pdf
ssusere8fdd1
 
Intro to Power BI
Deepika Gandhi
 
Tuga IT - Power BI for Developers
Rui Romano
 
Aprende a diseñar tableros de control (dashboard) de Alto impacto
nnakasone
 
Ad

More from Jan Pieter Posthuma (10)

PPTX
Azure Global Bootcamp - CIS Handson
Jan Pieter Posthuma
 
PPTX
PBIG - Power BI en R visuals
Jan Pieter Posthuma
 
PPTX
SQLSaturday 551 - Extending Power BI
Jan Pieter Posthuma
 
PPTX
SQLServer Days - Power BI Custom Visuals
Jan Pieter Posthuma
 
PPTX
TechDays - Power BI Custom Visuals
Jan Pieter Posthuma
 
PPTX
SQLSaturday 541 - Extending Power BI
Jan Pieter Posthuma
 
PPTX
Power BI API
Jan Pieter Posthuma
 
PPTX
Hadoop from Hive with Stinger to Tez
Jan Pieter Posthuma
 
PPTX
SQLRally Amsterdam 2013 - Hadoop
Jan Pieter Posthuma
 
PPTX
SQLBits XI - ETL with Hadoop
Jan Pieter Posthuma
 
Azure Global Bootcamp - CIS Handson
Jan Pieter Posthuma
 
PBIG - Power BI en R visuals
Jan Pieter Posthuma
 
SQLSaturday 551 - Extending Power BI
Jan Pieter Posthuma
 
SQLServer Days - Power BI Custom Visuals
Jan Pieter Posthuma
 
TechDays - Power BI Custom Visuals
Jan Pieter Posthuma
 
SQLSaturday 541 - Extending Power BI
Jan Pieter Posthuma
 
Power BI API
Jan Pieter Posthuma
 
Hadoop from Hive with Stinger to Tez
Jan Pieter Posthuma
 
SQLRally Amsterdam 2013 - Hadoop
Jan Pieter Posthuma
 
SQLBits XI - ETL with Hadoop
Jan Pieter Posthuma
 
Ad

Recently uploaded (20)

PDF
R Cookbook - Processing and Manipulating Geological spatial data with R.pdf
OtnielSimopiaref2
 
PDF
apidays Helsinki & North 2025 - REST in Peace? Hunting the Dominant Design fo...
apidays
 
PPTX
apidays Singapore 2025 - Designing for Change, Julie Schiller (Google)
apidays
 
PDF
Choosing the Right Database for Indexing.pdf
Tamanna
 
PDF
OOPs with Java_unit2.pdf. sarthak bookkk
Sarthak964187
 
PPTX
apidays Helsinki & North 2025 - Agentic AI: A Friend or Foe?, Merja Kajava (A...
apidays
 
PPTX
The _Operations_on_Functions_Addition subtruction Multiplication and Division...
mdregaspi24
 
PDF
AUDITABILITY & COMPLIANCE OF AI SYSTEMS IN HEALTHCARE
GAHI Youssef
 
PDF
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...
apidays
 
PDF
apidays Helsinki & North 2025 - Monetizing AI APIs: The New API Economy, Alla...
apidays
 
PDF
Context Engineering for AI Agents, approaches, memories.pdf
Tamanna
 
PDF
WEF_Future_of_Global_Fintech_Second_Edition_2025.pdf
AproximacionAlFuturo
 
PPTX
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
PDF
The European Business Wallet: Why It Matters and How It Powers the EUDI Ecosy...
Lal Chandran
 
PDF
JavaScript - Good or Bad? Tips for Google Tag Manager
📊 Markus Baersch
 
PPTX
Numbers of a nation: how we estimate population statistics | Accessible slides
Office for National Statistics
 
PPTX
apidays Munich 2025 - Building an AWS Serverless Application with Terraform, ...
apidays
 
PPTX
apidays Helsinki & North 2025 - Running a Successful API Program: Best Practi...
apidays
 
PDF
Early_Diabetes_Detection_using_Machine_L.pdf
maria879693
 
PPTX
b6057ea5-8e8c-4415-90c0-ed8e9666ffcd.pptx
Anees487379
 
R Cookbook - Processing and Manipulating Geological spatial data with R.pdf
OtnielSimopiaref2
 
apidays Helsinki & North 2025 - REST in Peace? Hunting the Dominant Design fo...
apidays
 
apidays Singapore 2025 - Designing for Change, Julie Schiller (Google)
apidays
 
Choosing the Right Database for Indexing.pdf
Tamanna
 
OOPs with Java_unit2.pdf. sarthak bookkk
Sarthak964187
 
apidays Helsinki & North 2025 - Agentic AI: A Friend or Foe?, Merja Kajava (A...
apidays
 
The _Operations_on_Functions_Addition subtruction Multiplication and Division...
mdregaspi24
 
AUDITABILITY & COMPLIANCE OF AI SYSTEMS IN HEALTHCARE
GAHI Youssef
 
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...
apidays
 
apidays Helsinki & North 2025 - Monetizing AI APIs: The New API Economy, Alla...
apidays
 
Context Engineering for AI Agents, approaches, memories.pdf
Tamanna
 
WEF_Future_of_Global_Fintech_Second_Edition_2025.pdf
AproximacionAlFuturo
 
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
The European Business Wallet: Why It Matters and How It Powers the EUDI Ecosy...
Lal Chandran
 
JavaScript - Good or Bad? Tips for Google Tag Manager
📊 Markus Baersch
 
Numbers of a nation: how we estimate population statistics | Accessible slides
Office for National Statistics
 
apidays Munich 2025 - Building an AWS Serverless Application with Terraform, ...
apidays
 
apidays Helsinki & North 2025 - Running a Successful API Program: Best Practi...
apidays
 
Early_Diabetes_Detection_using_Machine_L.pdf
maria879693
 
b6057ea5-8e8c-4415-90c0-ed8e9666ffcd.pptx
Anees487379
 

Extending Power BI with your own custom visual

  • 1. Extending Power BI With Your Own Custom Visual Saturday, 24-Feb-2018 14:30 – 7. Daniels Jan Pieter Posthuma © Feb '18 – DataScenarios
  • 2. • Jan Pieter Posthuma – Microsoft Data Consultant • DataScenarios – Data Consultancy Company • Architect roles at multiple projects • Creator of Power BI Custom Visuals • HierarchySlicer [∞] • Box and Whisker chart [∞] • D3js Visual [∞] • Contact • [email protected] • https://twitter.com/jppp • https://linkedin.com/in/jpposthuma • https://github.com/liprec Who am I? © Feb '18 – DataScenarios 2
  • 3. • Introduction • Developing • Technical Demos • AppSource Listing • D3js Visual 3© Feb '18 – DataScenarios Agenda
  • 4. Introduction © Feb '18 – DataScenarios
  • 5. Develop custom visuals quickly with Microsoft’s open-sourced, production-quality visualization code Present data in the way that makes best sense to your users Leverage the visualization framework, test suite and tooling to build the right custom visuals for your app Gallery: store.office.com © Feb '18 – DataScenarios 5
  • 6. Custom Visuals Platform © Feb '18 – DataScenarios 6
  • 7. Distribute through AppSource © Feb '18 – DataScenarios Greater reach to business users Usage tracking Publishing requires Office Developer account https://appsource.microsoft.com 7
  • 8. • Since beginning of the new Power BI (Summer 2015) • Beginning 2016: visuals are running in a ‘sandbox’ environment • August 2016: new Power BI API available, current version: v.1.10.0 • March 2017: Migration to Office Store: Version API required • July 2017: Integration with Office Store and Certified visuals • Sept 2017: Office Store is moved to Microsoft AppSource • Feb 2018: Introduction of the Company Store © Feb '18 – DataScenarios History 8
  • 9. Developing © Feb '18 – DataScenarios
  • 10. • NodeJS 4.0+ Required (5.0 recommended) • https://nodejs.org/ • PowerBI-Visuals-Tools • npm install -g powerbi-visuals-tools • SSL and Debug visual: https://github.com/Microsoft/PowerBI- visuals/blob/master/tools/README.md • Visual Studio Code • https://code.visualstudio.com/download • PBIViz CLI addin: https://marketplace.visualstudio.com/items?itemName=liprec.vscode-start- pbiviz • Enable ‘Developer Visual’ in Power BI Admin portal Tools needed © Feb '18 – DataScenarios 10
  • 11. Power BI Custom Visual API 11© Feb '18 – DataScenarios IVisual module methods (init, update, …) enumerateObjectInstances dataView Formatting pane Power BI Custom Visual capabilities.jsonvisual.ts Interaction via code Report canvas Sandbox
  • 12. Technical Demos © Feb '18 – DataScenarios
  • 13. > pbiviz new <visualname> .api .vscode assets src style capabilitises.json pbiviz.json tsconfig.json Folder structure API schemas Visual Studio Code settings Icons / screenshot Capabilities definition – dataview binding, formatting pane Power BI Visual definition, like name, author, externalJS files, TypeScript config file list of .ts files needed (incl. typing) Source files – must included in tsconfig.json Style file – included in pbiviz.json. Less supported © Feb '18 – DataScenarios 13
  • 14. • First class citizens (Power BI is using them also): • D3js.org – Graphical library for ‘Data-Driven Documents’. • Lodash – Library to take the hassle out of working with arrays, objects, strings, numbers, etc. • jQuery – Library to make HTML document traversal and manipulation, event handling easier • Helper classes to support common UI operations, e.g.: • powerbi-visuals-utils-formattingutils – valueFormatting, TextProperties, … • powerbi-visuals-utils-dataviewutils – getObject, DataViewObjectsParser, © Feb '18 – DataScenarios External Libraries
  • 15. Appsource listing © Feb '18 – DataScenarios
  • 16. Creation Coding Testing Packaging Submission Custom Visual SDK PowerBI.com Office Seller Dashboard Custom visual development lifecycle © Feb '18 – DataScenarios 16
  • 17. • Submit pbiviz file, return manifest file for AppSource listing • Only free visuals supported (at this time) • Manual process, general 2-3 business days (US) • Tested against: • Chrome, Firefox, Edge and Internet Explorer 11 • Power BI Desktop (Chromium) • Tested to provide expected behavior: • Everything should work • No errors/exceptions • After approval support: • Power BI is a moving target! 17© Jan '18 – DataScenarios Custom Visual approval
  • 18. • Visual advantages: • Exported to PowerPoint • Embedded in emails • Requirements: • Microsoft AppSource approved • Custom visual is written with Versioned API 1.2 or higher • Code repository available for review (e.g., Visual Code available to us through GitHub) • Uses only public reviewable OSS components • Does not access external services or resources https://docs.microsoft.com/en-us/power-bi/power-bi-custom-visuals-certified 18© Jan '18 – DataScenarios Custom Visual certification
  • 19. D3js Visual © Feb '18 – DataScenarios
  • 21. • ‘Lift and Shift’ migration of D3js visuals to Power BI • Skeleton visual with D3js libraries included • SVG element: • <svg xmlns="http://www.w3.org/2000/svg" class="chart" id="chart"> • pbi object: • dsv([accessor,] callback) – function that retrieves the data via the provided callback: pbi.dsv(callback) Optional accessor function may be added. • Height – height of the sandbox frame • Width – width of the sandbox frame • Colors – color array with 8 colors; changable via options • More info: https://azurebi.jppp.org/power-bi-d3js-visual/ 21© Feb '18 – DataScenarios D3js.org Visual
  • 22. We love to get feedback Please complete the session feedback forms Just like Jimi Hendrix …
  • 23. Please visit Community Corner, we are trying this year to get more people to learn about the SQL Community, equally if you would be happy to visit the community corner we’d really appreciate it. SQLBits - It's all about the community...
  • 24. References © Feb '18 – DataScenarios
  • 25. • Power BI Custom Visuals documentation https://github.com/Microsoft/PowerBI-visuals • Power BI CLI tools https://github.com/Microsoft/PowerBI-visuals-tools • Power BI Core Visuals (old visuals, but good for reference) https://github.com/Microsoft/PowerBI-visuals-core • Visual Studio Code https://code.visualstudio.com/download • PBIViz addin https://marketplace.visualstudio.com/items?itemName=liprec.vscode- start-pbiviz • Certification Requirements https://powerbi.microsoft.com/en-us/documentation/powerbi-custom- visuals-certified/ Resources © Feb '18 – DataScenarios 25
  • 26. • Clone or download https://github.com/Microsoft/PowerBI-visuals-sampleBarChart npm update pbiviz start • Open a report, upload some data In www.powerbi.com, go to Get Data Open a report once you’re done. Edit the report Click the developer visual Bind some data • Press F12 to debug Use the browser debugger to see what’s happening Hint: add debugger; to the constructor (makes debugging easier) Start coding © Feb '18 – DataScenarios 26