SlideShare a Scribd company logo
KNOWAGE CUSTOM CHART WIDGET: a technical guide
26 /11/2020
Davide VERNASSA
UI designer & front-end developer
davide.vernassa@eng.it
PROGRAMME
1. Custom Chart Introduction
2. The Custom Chart anatomy
3. Supported chart libraries
4. APIs
5. Live demo
6. Questions
THE CUSTOM CHART
• From KNOWAGE version 7.2
• Occupy all the corner not covered by chart widget
• Very malleable but not a chart widget replacer!
• Will extend in the future
CSS editor
HTML
editor
Javascript
editor
WIDGET ANATOMY
SUPPORTED CHART LIBRARIES
• Highcharts (7.1.1) (EE)
• Chart.js (1.0.2)
• D3.js (3.5.5)
• External CDN Libraries using <kn-import> tag
API
• API's are the shared language between Knowage and the external
chart libraries.
• You can reach data from API
• You can set data in different ways with API
• You can interact with Knowage with API
• You cannot replace all the "thinky thinky" work with API!
(but they can help you a lot!)
DOCUMENTATION
All the API's are listed and provided with examples in the documentation:
https://knowage-suite.readthedocs.io/en/7.2/functionalities-guide/cockpit/index.html#custom-chart-widget
DATASTORE
• The datastore object is the Knowage representation in the API
• You will use it as a keyword (datastore.desiredapi)
• It will contain your dataset data
• It will manage Knowage interactions
.getDataArray
• datastore.getDataArray(function(record){…}
• Returns data array
• Returns one record for every dataset row
• Return the structure you will provide
.getRecords
• datastore.getRecords()
• Returns array of objects
• Returns one object for every dataset row using the column names
• Does not allow returning customizations
.getColumn
• datastore.getColumn('yourColumn')
• Returns array of values
• Returns one value for every dataset row just for the selected column
• Allows you to choose a dataset column
• Does not allow returning customizations
.getSeriesAndData
• datastore.getSeriesAndData('column',function(record){…}
• Returns array object(series) with name from the row value of the selected
column and data with the desired structure
• Allows you to choose a dataset column
• Allows you to customize the returning structure
• Very useful for common charts structure
.sort & .filter
• datastore.sort({column':'direction'})
• Sorts the data for the desired column and direction
• If no direction is set will be ASC by default
• datastore.filter({column1:'value','column2':'value'})
• Filters the dataset for the desired column values
• Can be concatenated between them and other API
.hierarchy
• datastore.hierarchy({'levels':['levels'],'measures': {'column':'aggr'}})
• Create a tree with different levels and measure aggregations
• The levels order is the same for the hierarchy tree
• The measures can use sum, min, max aggregations
• There are many methods to get single branches, children, siblings and
value to move inside the tree
.clickManager
• datastore.clickManager(columnName, columnValue);
• Takes input data (column name and value) and pass them to Knowage
lifecycle
• The standard interactions will happen depending on what is specified for
the widget
• If no cross or preview is set a selection will be thrown
LIVE DEMO
HINTS
• Read the widget documentation on https://knowage-suite.readthedocs.io/
• Have a clear idea of the data structure needed by the chart library
• Use the common CSS editor if you want to share a common theme
• Avoid multiple identical API call, use variables instead
• Pay attention to external libraries and font inclusions weight
QUESTIONS
CHECK YOUR EMAIL!
To get full support contact our Sales Department → knowage@eng.it

More Related Content

What's hot

Ajax ppt
Ajax pptAjax ppt
Python/Flask Presentation
Python/Flask PresentationPython/Flask Presentation
Python/Flask Presentation
Parag Mujumdar
 
Fundamentals of Database ppt ch01
Fundamentals of Database ppt ch01Fundamentals of Database ppt ch01
Fundamentals of Database ppt ch01
Jotham Gadot
 
Java Programming
Java ProgrammingJava Programming
Java Programming
Anjan Mahanta
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressman
RohitGoyal183
 
Basics of JavaScript
Basics of JavaScriptBasics of JavaScript
Basics of JavaScript
Bala Narayanan
 
Lecture 1 introduction to vb.net
Lecture 1   introduction to vb.netLecture 1   introduction to vb.net
Lecture 1 introduction to vb.net
MUKALU STEVEN
 
Lecture 9 understanding requirements
Lecture 9   understanding requirementsLecture 9   understanding requirements
Lecture 9 understanding requirements
IIUI
 
XML Schema
XML SchemaXML Schema
XML Schema
yht4ever
 
Android styles and themes
Android styles and themesAndroid styles and themes
Android styles and themes
Sourabh Sahu
 
Applets
AppletsApplets
Introduction to fragments in android
Introduction to fragments in androidIntroduction to fragments in android
Introduction to fragments in android
Prawesh Shrestha
 
Collections and its types in C# (with examples)
Collections and its types in C# (with examples)Collections and its types in C# (with examples)
Collections and its types in C# (with examples)
Aijaz Ali Abro
 
Architecture of .net framework
Architecture of .net frameworkArchitecture of .net framework
Architecture of .net framework
Then Murugeshwari
 
Flask – Python
Flask – PythonFlask – Python
Flask – Python
Max Claus Nunes
 
Fragment
Fragment Fragment
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
Carlos Gavidia-Calderon
 
Software engineering for IV sem BCA ,RCU Belgavi.Syllabus
Software engineering for IV sem BCA ,RCU Belgavi.SyllabusSoftware engineering for IV sem BCA ,RCU Belgavi.Syllabus
Software engineering for IV sem BCA ,RCU Belgavi.Syllabus
Nagaraj Hiremath
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to Database
Siti Ismail
 
Introduction to php
Introduction to phpIntroduction to php
Introduction to php
Taha Malampatti
 

What's hot (20)

Ajax ppt
Ajax pptAjax ppt
Ajax ppt
 
Python/Flask Presentation
Python/Flask PresentationPython/Flask Presentation
Python/Flask Presentation
 
Fundamentals of Database ppt ch01
Fundamentals of Database ppt ch01Fundamentals of Database ppt ch01
Fundamentals of Database ppt ch01
 
Java Programming
Java ProgrammingJava Programming
Java Programming
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressman
 
Basics of JavaScript
Basics of JavaScriptBasics of JavaScript
Basics of JavaScript
 
Lecture 1 introduction to vb.net
Lecture 1   introduction to vb.netLecture 1   introduction to vb.net
Lecture 1 introduction to vb.net
 
Lecture 9 understanding requirements
Lecture 9   understanding requirementsLecture 9   understanding requirements
Lecture 9 understanding requirements
 
XML Schema
XML SchemaXML Schema
XML Schema
 
Android styles and themes
Android styles and themesAndroid styles and themes
Android styles and themes
 
Applets
AppletsApplets
Applets
 
Introduction to fragments in android
Introduction to fragments in androidIntroduction to fragments in android
Introduction to fragments in android
 
Collections and its types in C# (with examples)
Collections and its types in C# (with examples)Collections and its types in C# (with examples)
Collections and its types in C# (with examples)
 
Architecture of .net framework
Architecture of .net frameworkArchitecture of .net framework
Architecture of .net framework
 
Flask – Python
Flask – PythonFlask – Python
Flask – Python
 
Fragment
Fragment Fragment
Fragment
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
Software engineering for IV sem BCA ,RCU Belgavi.Syllabus
Software engineering for IV sem BCA ,RCU Belgavi.SyllabusSoftware engineering for IV sem BCA ,RCU Belgavi.Syllabus
Software engineering for IV sem BCA ,RCU Belgavi.Syllabus
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to Database
 
Introduction to php
Introduction to phpIntroduction to php
Introduction to php
 

Similar to KNOWAGE CUSTOM CHART WIDGET: a technical guide

Shshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptx
Shshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptxShshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptx
Shshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptx
086ChintanPatel1
 
Essentials of R
Essentials of REssentials of R
Essentials of R
ExternalEvents
 
Performing Data Science with HBase
Performing Data Science with HBasePerforming Data Science with HBase
Performing Data Science with HBase
WibiData
 
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
Michael Rys
 
Ssn0020 ssis 2012 for beginners
Ssn0020   ssis 2012 for beginnersSsn0020   ssis 2012 for beginners
Ssn0020 ssis 2012 for beginners
Antonios Chatzipavlis
 
Mongo db washington dc 2014
Mongo db washington dc 2014Mongo db washington dc 2014
Mongo db washington dc 2014
ikanow
 
3 CityNetConf - sql+c#=u-sql
3 CityNetConf - sql+c#=u-sql3 CityNetConf - sql+c#=u-sql
3 CityNetConf - sql+c#=u-sql
Łukasz Grala
 
Hive @ Bucharest Java User Group
Hive @ Bucharest Java User GroupHive @ Bucharest Java User Group
Hive @ Bucharest Java User Group
Remus Rusanu
 
Think Like Spark: Some Spark Concepts and a Use Case
Think Like Spark: Some Spark Concepts and a Use CaseThink Like Spark: Some Spark Concepts and a Use Case
Think Like Spark: Some Spark Concepts and a Use Case
Rachel Warren
 
Creating Dynamic Charts With JFreeChart
Creating Dynamic Charts With JFreeChartCreating Dynamic Charts With JFreeChart
Creating Dynamic Charts With JFreeChart
David Keener
 
Ten tools for ten big data areas 04_Apache Hive
Ten tools for ten big data areas 04_Apache HiveTen tools for ten big data areas 04_Apache Hive
Ten tools for ten big data areas 04_Apache Hive
Will Du
 
Be A Hero: Transforming GoPro Analytics Data Pipeline
Be A Hero: Transforming GoPro Analytics Data PipelineBe A Hero: Transforming GoPro Analytics Data Pipeline
Be A Hero: Transforming GoPro Analytics Data Pipeline
Chester Chen
 
Using existing language skillsets to create large-scale, cloud-based analytics
Using existing language skillsets to create large-scale, cloud-based analyticsUsing existing language skillsets to create large-scale, cloud-based analytics
Using existing language skillsets to create large-scale, cloud-based analytics
Microsoft Tech Community
 
Introduction to R _IMPORTANT FOR DATA ANALYTICS
Introduction to R _IMPORTANT FOR DATA ANALYTICSIntroduction to R _IMPORTANT FOR DATA ANALYTICS
Introduction to R _IMPORTANT FOR DATA ANALYTICS
HaritikaChhatwal1
 
U-SQL - Azure Data Lake Analytics for Developers
U-SQL - Azure Data Lake Analytics for DevelopersU-SQL - Azure Data Lake Analytics for Developers
U-SQL - Azure Data Lake Analytics for Developers
Michael Rys
 
HBase Data Modeling and Access Patterns with Kite SDK
HBase Data Modeling and Access Patterns with Kite SDKHBase Data Modeling and Access Patterns with Kite SDK
HBase Data Modeling and Access Patterns with Kite SDK
HBaseCon
 
Taming the Data Science Monster with A New ‘Sword’ – U-SQL
Taming the Data Science Monster with A New ‘Sword’ – U-SQLTaming the Data Science Monster with A New ‘Sword’ – U-SQL
Taming the Data Science Monster with A New ‘Sword’ – U-SQL
Michael Rys
 
Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...
Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...
Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...
Michael Rys
 
Apdm 101 Arc Gis Pipeline Data Model (1)
Apdm 101 Arc Gis Pipeline Data Model  (1)Apdm 101 Arc Gis Pipeline Data Model  (1)
Apdm 101 Arc Gis Pipeline Data Model (1)
David Nichter, GISP
 
Graph Databases in the Microsoft Ecosystem
Graph Databases in the Microsoft EcosystemGraph Databases in the Microsoft Ecosystem
Graph Databases in the Microsoft Ecosystem
Marco Parenzan
 

Similar to KNOWAGE CUSTOM CHART WIDGET: a technical guide (20)

Shshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptx
Shshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptxShshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptx
Shshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptx
 
Essentials of R
Essentials of REssentials of R
Essentials of R
 
Performing Data Science with HBase
Performing Data Science with HBasePerforming Data Science with HBase
Performing Data Science with HBase
 
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
 
Ssn0020 ssis 2012 for beginners
Ssn0020   ssis 2012 for beginnersSsn0020   ssis 2012 for beginners
Ssn0020 ssis 2012 for beginners
 
Mongo db washington dc 2014
Mongo db washington dc 2014Mongo db washington dc 2014
Mongo db washington dc 2014
 
3 CityNetConf - sql+c#=u-sql
3 CityNetConf - sql+c#=u-sql3 CityNetConf - sql+c#=u-sql
3 CityNetConf - sql+c#=u-sql
 
Hive @ Bucharest Java User Group
Hive @ Bucharest Java User GroupHive @ Bucharest Java User Group
Hive @ Bucharest Java User Group
 
Think Like Spark: Some Spark Concepts and a Use Case
Think Like Spark: Some Spark Concepts and a Use CaseThink Like Spark: Some Spark Concepts and a Use Case
Think Like Spark: Some Spark Concepts and a Use Case
 
Creating Dynamic Charts With JFreeChart
Creating Dynamic Charts With JFreeChartCreating Dynamic Charts With JFreeChart
Creating Dynamic Charts With JFreeChart
 
Ten tools for ten big data areas 04_Apache Hive
Ten tools for ten big data areas 04_Apache HiveTen tools for ten big data areas 04_Apache Hive
Ten tools for ten big data areas 04_Apache Hive
 
Be A Hero: Transforming GoPro Analytics Data Pipeline
Be A Hero: Transforming GoPro Analytics Data PipelineBe A Hero: Transforming GoPro Analytics Data Pipeline
Be A Hero: Transforming GoPro Analytics Data Pipeline
 
Using existing language skillsets to create large-scale, cloud-based analytics
Using existing language skillsets to create large-scale, cloud-based analyticsUsing existing language skillsets to create large-scale, cloud-based analytics
Using existing language skillsets to create large-scale, cloud-based analytics
 
Introduction to R _IMPORTANT FOR DATA ANALYTICS
Introduction to R _IMPORTANT FOR DATA ANALYTICSIntroduction to R _IMPORTANT FOR DATA ANALYTICS
Introduction to R _IMPORTANT FOR DATA ANALYTICS
 
U-SQL - Azure Data Lake Analytics for Developers
U-SQL - Azure Data Lake Analytics for DevelopersU-SQL - Azure Data Lake Analytics for Developers
U-SQL - Azure Data Lake Analytics for Developers
 
HBase Data Modeling and Access Patterns with Kite SDK
HBase Data Modeling and Access Patterns with Kite SDKHBase Data Modeling and Access Patterns with Kite SDK
HBase Data Modeling and Access Patterns with Kite SDK
 
Taming the Data Science Monster with A New ‘Sword’ – U-SQL
Taming the Data Science Monster with A New ‘Sword’ – U-SQLTaming the Data Science Monster with A New ‘Sword’ – U-SQL
Taming the Data Science Monster with A New ‘Sword’ – U-SQL
 
Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...
Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...
Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...
 
Apdm 101 Arc Gis Pipeline Data Model (1)
Apdm 101 Arc Gis Pipeline Data Model  (1)Apdm 101 Arc Gis Pipeline Data Model  (1)
Apdm 101 Arc Gis Pipeline Data Model (1)
 
Graph Databases in the Microsoft Ecosystem
Graph Databases in the Microsoft EcosystemGraph Databases in the Microsoft Ecosystem
Graph Databases in the Microsoft Ecosystem
 

More from KNOWAGE

Knowage roadmap-2022 (1)
Knowage roadmap-2022 (1)Knowage roadmap-2022 (1)
Knowage roadmap-2022 (1)
KNOWAGE
 
Knowage8 dashboard creation
Knowage8 dashboard creationKnowage8 dashboard creation
Knowage8 dashboard creation
KNOWAGE
 
Knowage 8 presentation
Knowage 8   presentationKnowage 8   presentation
Knowage 8 presentation
KNOWAGE
 
Knowage Location Intelligence @ bdp2020
Knowage Location Intelligence @ bdp2020Knowage Location Intelligence @ bdp2020
Knowage Location Intelligence @ bdp2020
KNOWAGE
 
Knowage BIG DATA VISUALIZATION @bdp2020
Knowage BIG DATA VISUALIZATION @bdp2020Knowage BIG DATA VISUALIZATION @bdp2020
Knowage BIG DATA VISUALIZATION @bdp2020
KNOWAGE
 
Knowage advanced analytics @ bdp2020
Knowage advanced analytics @ bdp2020Knowage advanced analytics @ bdp2020
Knowage advanced analytics @ bdp2020
KNOWAGE
 
Knowage overview @ bdp2020
Knowage overview @ bdp2020Knowage overview @ bdp2020
Knowage overview @ bdp2020
KNOWAGE
 
MAP WIDGET - Knowage Technical Webinars
MAP WIDGET - Knowage Technical WebinarsMAP WIDGET - Knowage Technical Webinars
MAP WIDGET - Knowage Technical Webinars
KNOWAGE
 
R & PYTHON WIDGET - KNOWAGE
R & PYTHON WIDGET - KNOWAGER & PYTHON WIDGET - KNOWAGE
R & PYTHON WIDGET - KNOWAGE
KNOWAGE
 
Knowage essential training
Knowage essential trainingKnowage essential training
Knowage essential training
KNOWAGE
 
Knowage official presentation 2018
Knowage official presentation 2018Knowage official presentation 2018
Knowage official presentation 2018
KNOWAGE
 

More from KNOWAGE (11)

Knowage roadmap-2022 (1)
Knowage roadmap-2022 (1)Knowage roadmap-2022 (1)
Knowage roadmap-2022 (1)
 
Knowage8 dashboard creation
Knowage8 dashboard creationKnowage8 dashboard creation
Knowage8 dashboard creation
 
Knowage 8 presentation
Knowage 8   presentationKnowage 8   presentation
Knowage 8 presentation
 
Knowage Location Intelligence @ bdp2020
Knowage Location Intelligence @ bdp2020Knowage Location Intelligence @ bdp2020
Knowage Location Intelligence @ bdp2020
 
Knowage BIG DATA VISUALIZATION @bdp2020
Knowage BIG DATA VISUALIZATION @bdp2020Knowage BIG DATA VISUALIZATION @bdp2020
Knowage BIG DATA VISUALIZATION @bdp2020
 
Knowage advanced analytics @ bdp2020
Knowage advanced analytics @ bdp2020Knowage advanced analytics @ bdp2020
Knowage advanced analytics @ bdp2020
 
Knowage overview @ bdp2020
Knowage overview @ bdp2020Knowage overview @ bdp2020
Knowage overview @ bdp2020
 
MAP WIDGET - Knowage Technical Webinars
MAP WIDGET - Knowage Technical WebinarsMAP WIDGET - Knowage Technical Webinars
MAP WIDGET - Knowage Technical Webinars
 
R & PYTHON WIDGET - KNOWAGE
R & PYTHON WIDGET - KNOWAGER & PYTHON WIDGET - KNOWAGE
R & PYTHON WIDGET - KNOWAGE
 
Knowage essential training
Knowage essential trainingKnowage essential training
Knowage essential training
 
Knowage official presentation 2018
Knowage official presentation 2018Knowage official presentation 2018
Knowage official presentation 2018
 

Recently uploaded

Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
Karya Keeper
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 

Recently uploaded (20)

Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 

KNOWAGE CUSTOM CHART WIDGET: a technical guide

  • 1. KNOWAGE CUSTOM CHART WIDGET: a technical guide 26 /11/2020 Davide VERNASSA UI designer & front-end developer davide.vernassa@eng.it
  • 2. PROGRAMME 1. Custom Chart Introduction 2. The Custom Chart anatomy 3. Supported chart libraries 4. APIs 5. Live demo 6. Questions
  • 3. THE CUSTOM CHART • From KNOWAGE version 7.2 • Occupy all the corner not covered by chart widget • Very malleable but not a chart widget replacer! • Will extend in the future
  • 5. SUPPORTED CHART LIBRARIES • Highcharts (7.1.1) (EE) • Chart.js (1.0.2) • D3.js (3.5.5) • External CDN Libraries using <kn-import> tag
  • 6. API • API's are the shared language between Knowage and the external chart libraries. • You can reach data from API • You can set data in different ways with API • You can interact with Knowage with API • You cannot replace all the "thinky thinky" work with API! (but they can help you a lot!)
  • 7. DOCUMENTATION All the API's are listed and provided with examples in the documentation: https://knowage-suite.readthedocs.io/en/7.2/functionalities-guide/cockpit/index.html#custom-chart-widget
  • 8. DATASTORE • The datastore object is the Knowage representation in the API • You will use it as a keyword (datastore.desiredapi) • It will contain your dataset data • It will manage Knowage interactions
  • 9. .getDataArray • datastore.getDataArray(function(record){…} • Returns data array • Returns one record for every dataset row • Return the structure you will provide
  • 10. .getRecords • datastore.getRecords() • Returns array of objects • Returns one object for every dataset row using the column names • Does not allow returning customizations
  • 11. .getColumn • datastore.getColumn('yourColumn') • Returns array of values • Returns one value for every dataset row just for the selected column • Allows you to choose a dataset column • Does not allow returning customizations
  • 12. .getSeriesAndData • datastore.getSeriesAndData('column',function(record){…} • Returns array object(series) with name from the row value of the selected column and data with the desired structure • Allows you to choose a dataset column • Allows you to customize the returning structure • Very useful for common charts structure
  • 13. .sort & .filter • datastore.sort({column':'direction'}) • Sorts the data for the desired column and direction • If no direction is set will be ASC by default • datastore.filter({column1:'value','column2':'value'}) • Filters the dataset for the desired column values • Can be concatenated between them and other API
  • 14. .hierarchy • datastore.hierarchy({'levels':['levels'],'measures': {'column':'aggr'}}) • Create a tree with different levels and measure aggregations • The levels order is the same for the hierarchy tree • The measures can use sum, min, max aggregations • There are many methods to get single branches, children, siblings and value to move inside the tree
  • 15. .clickManager • datastore.clickManager(columnName, columnValue); • Takes input data (column name and value) and pass them to Knowage lifecycle • The standard interactions will happen depending on what is specified for the widget • If no cross or preview is set a selection will be thrown
  • 17. HINTS • Read the widget documentation on https://knowage-suite.readthedocs.io/ • Have a clear idea of the data structure needed by the chart library • Use the common CSS editor if you want to share a common theme • Avoid multiple identical API call, use variables instead • Pay attention to external libraries and font inclusions weight
  • 19. CHECK YOUR EMAIL! To get full support contact our Sales Department → knowage@eng.it