Best Training in Chennai

Accord Info Matrix is a Chennai based Software Firm. Our main focus areas are Software Training and Software Development. Accord started with the ambitious aim of providing QUALITY training to Students and Corporate. We are integrated as an organization of talented trainers having extensive expertise in all facets of providing quality training.




POWER BI | SQL | PYTHON

Python Introduction
Overview of Python

History and Features of Python - Python 2 vs Python 3 - Use Cases and Applications of Python - Setting Up the Environment - Installing Python - Basic Command-Line Usage - Writing Your First Program - Understanding the Python Interpreter - Writing a simple "Hello, World!" program - Running Python scripts -

Python Variables and Data Types

Variables in Python - Variable Naming Convention - Dynamic Typing vs Static Typing - Data Types - Basic Data Types: Integers, Floats, Strings, Booleans - Composite Data Types: Lists, Tuples, Sets, Dictionaries - Type Conversion and Type Checking - Data Type Operations - Arithmetic Operations on Numbers - String Manipulation Techniques - Common List and Tuple Methods

Python Control Flow Statements

`if`, `elif`, and `else` Statements - Nested Conditions - Ternary Operator - `for` Loops: Iterating through lists, tuples, strings, and dictionaries -`while` Loops: Usage and examples - Loop Control Statements: `break`, `continue`, and `pass`

Comprehensions

List Comprehensions - Dictionary Comprehensions - Set Comprehensions

Python Predefined Functions for List, Set, Tuple

List Functions - Common List Methods: `append()`, `extend()`, `insert()`, `remove()`, `pop()`, `sort()`, `reverse()`- List Slicing and Indexing - Set Functions - Set Operations: Union, Intersection, Difference - Common Set Methods: `add()`, `remove()`, `discard()`, `clear()`, `copy()` - Tuple Functions - Tuple Characteristics: Immutable Nature- Common Tuple Methods: `count()`, `index()`- Tuple Packing and Unpacking - Dictionary and String Manipulation - Creating and Accessing Dictionaries - Common Dictionary Methods: `get()`, `keys()`, `values()`, `items()`, `update()`- Dictionary Comprehensions - String Methods - `len()`, `strip()`, `split()`, `join()`, `replace()`, `find()`, `format()`- String Formatting: f-strings, `.format()`, and `%` formatting

User-Defined Functions

Defining Functions - Syntax of Function Definition - Parameters and Arguments - Return Statement - Function Scope and Lifetime - Local vs Global Variables - The `global` keyword - Lambda Functions - Syntax and Usage of Lambda Functions - When to Use Lambda Functions – Recursion – Why Recursion? – Where to use recursion?

Docstrings and Annotations

Writing Docstrings for Documentation- Function Annotations for Type Hints

Higher-Order Functions

Functions as First-Class Citizens - Using `map()`, `filter()`, and `reduce()`

Python Modules and Packages

Modules - What are modules in Python? - Importing modules (`import`, `from ... import`) - Standard library modules (e.g., `math`, `random`, `os`, etc.) - Creating and using your own modules - Aliasing modules (`import module as alias`) - Module search path and `sys.path`- Packages - Introduction to packages - Directory structure for packages - ` init .py` and its role in packages - Importing from a package - Using sub packages

Python File Handling

Basics of File Handling - Types of files: Text and Binary - Opening a file (`open()` function, modes like `r`, `w`, `a`, etc.) - Reading from a file (`read()`, `readline()`, `readlines()`) - Writing to a file (`write()`, `writelines()`) - File Operations - Closing files (`close()`) - File handling using `with` statement (context managers) - Handling file exceptions (`try`, `except` blocks for file operations - Advanced File Handling - Working with binary files - Moving, renaming, and deleting files using `os` and `shutil` modules - File paths and directories (`os.path`, `pathlib`) - Working with CSV files (`csv` module) - Working with JSON files (`json` module) - File compression (`zipfile`, `gzip`)

Python Regular Expressions (Regex)

Introduction to Regex - What is a regular expression? - `re` module in Python - Basic Patterns - Literal characters - Metacharacters and special sequences - Character classes, sets, and ranges - Quantifiers (`*`, `+`, `?`, `{}`) - Anchors (`^`, `$`) - Common Regex Functions in Python - `re.match()`, `re.search()`, `re.findall()`, `re.finditer()` - `re.sub()` for substitutions - `re.split()` for splitting based on regex patterns - Compiling regular expressions (`re.compile()`

Python Exception Handling

Introduction - What are exceptions? - Exception vs Syntax Error - Basic Exception Handling - `try`, `except` block - Handling multiple exceptions - `else` clause in exception handling - `finally` block (cleanup actions) - Built-in Exceptions - Common built-in exceptions (`ZeroDivisionError`, `FileNotFoundError`, `IndexError`, `KeyError`, etc.) - Exception hierarchy (`BaseException`, `Exception`, etc.) - Raising Exceptions - Raising exceptions using `raise`- Custom error messages - Custom Exceptions - Defining user-defined exceptions - Creating custom exception classes

Python OOPs (Object-Oriented Programming)

Introduction to OOPs Concepts - Class and Objects - Attributes and Methods (Instance and Class variables) - `self` parameter - Principles of OOP – Encapsulation - Abstraction - Inheritance (Single, Multiple, Multilevel) - Polymorphism (Method overloading, Method overriding) - Composition and Aggregation-Advanced OOP Concepts - Special methods (` init ()`, ` str ()`, ` repr ()`, etc.) - Static methods and Class methods - Property and Getter/Setter methods (`@property`, `@setter`) - Operator overloading (` add `, ` lt `, etc.) - Understanding `super () ` and MRO

Python Collections and Data Structures

Built-in Data Structures – Lists – Tuples – Sets – Dictionaries - Advanced Collections - `collections` module - `namedtuple()`- `deque()`- `Counter()` - `defaultdict()` - `OrderedDict()`- `ChainMap()`- Stacks (using lists or `deque`) - Queues (using `deque` or `queue` module) - Linked lists (singly and doubly linked lists implementation) - Trees (basic implementation of binary trees, binary search trees)

SQL
Introduction and Installation

Introduction to Databases - What is a Database? Importance of databases in applications - Introduction to Database Management Systems (DBMS) - Types of DBMS: Relational, NoSQL, Object-Oriented, etc. - Overview of SQL and its role in relational databases (RDBMS

Introduction and Installation

Introduction to SQL Server - What is SQL Server? Overview of RDBMS concepts - Overview of different SQL Server Editions (Express, Standard, Enterprise) - SQL Server Management Studio (SSMS) Introduction and Setup. - Installing and using SQL Server Management Studio (SSMS) for database management

DDL (Data Definition Language)

Creating and Modifying Databases – Creating and Modifying Tables - Table Constraints - - Primary Keys (`PRIMARY KEY` constraint) - Foreign Keys (`FOREIGN KEY` constraint) - Unique Constraints (`UNIQUE` constraint) - Default Values (`DEFAULT` constraint) - Check Constraints (`CHECK` constraint). - Operators, Data Types, and Type Conversion - Arithmetic Operators - Comparison Operators - Logical Operators – BETWEEN, IN, LIKE for pattern matching - IS NULL and IS NOT NULL operators. - SQL Server Data Types - Type Conversion

DML (Data Manipulation Language

Inserting Data - Updating Data - Deleting Data

DQL (Data Query Language)

Basic Querying with `SELECT - Filtering Data with `WHERE - Sorting Results Using `ORDER BY` to sort records in ascending (`ASC`) and descending (`DESC`) order. - Conditional Logic with `CASE`- Using Aggregate Functions - Group By, Having, - Difference between `WHERE` and `HAVING`- Using `HAVING` with aggregate functions.

Predefined Functions (String, Date/Time Functions

Common string functions: `LEN()`, `SUBSTRING()`, `CHARINDEX()`, `UPPER()`, `LOWER()`, `REPLACE()`, `LEFT()`, `RIGHT()` - Concatenating strings with `+` or `CONCAT()`. Date/Time Functions in SQL Server - Getting the current date/time (`GETDATE()`, `SYSDATETIME()`) - Adding/subtracting dates (`DATEADD()`) - Finding the difference between dates (`DATEDIFF()`) - Extracting parts of a date (`YEAR()`, `MONTH()`, `DAY()`)

Joins in SQL Server

Introduction to Joins - What are joins? Why do we use them - Types of Joins - INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN, CROSS JOIN, SELF JOIN

Transaction Control and Permission

Understanding Transactions - `BEGIN TRANSACTION` - `COMMIT TRANSACTION`- Committing the transaction - `ROLLBACK TRANSACTION` - `SAVEPOINT` - SQL Server Privileges and Subqueries - Granting Permissions - Revoking permissions - Role-based permissions in SQL Server.

Subqueries and Index in SQL Server

Using subqueries in `SELECT`, `WHERE`, `FROM`, and `HAVING` clauses - Correlated Subqueries vs Non-Correlated Subqueries - Subqueries in `JOIN` conditions - Indexes - Creating indexes - Removing indexes - Clustered vs Non-Clustered Indexes. - Impact of indexes on performance (index maintenance, over-indexing).

Database Objects

Views – Creating Views - Modifying views – Removing Views - Using views for complex query simplification - Stored Procedures - Creating stored procedures - Executing stored procedures (`EXEC`) - Input/output parameters in stored procedures - Error handling in stored procedures with `TRY...CATCH – Triggers - Creating triggers `INSERT`, `UPDATE`, `DELETE` operations - BEFORE and AFTER triggers.

POWER BI
Introduction to Power BI

What is Power BI? - Overview of Power BI and its significance - Components of Power BI - Power BI Desktop - Power BI Service (Cloud) - Power BI Mobile - Real-world applications in business intelligence - Power BI Workflow - End-to-end process (Extract, Transform, Visualize, Share)

Installation and Setup

System Requirements - Installing Power BI Desktop - Exploring the interface: Home, Report, Data, and Model views –

Connecting to Data Sources

Excel, CSV, SQL Server, Web APIs, Azure, and more - Import vs. DirectQuery - Differences and best use cases - Data Connection Management - Scheduling refresh and handling credentials

Data Transformation with Power Query

Introduction to Power Query Editor - Basic Transformations - Renaming columns, changing data types, removing duplicates - Advanced Transformations - Merging and appending queries - Pivoting and unpivoting columns - Handling null values and errors

Data Modelling

Data Modelling Concepts - Fact Tables vs. Dimension Tables - Star Schema vs. Snowflake Schema - Creating Relationships - Cardinality and cross-filter direction - Calculated Columns and Measures - Differences, creation, and use cases

Introduction to DAX (Data Analysis Expressions)

Basic Functions - Aggregation Functions `SUM`, `AVERAGE`, `COUNT` - Logical Functions `IF`, `AND`, `OR`, `NOT`- Intermediate Functions - Date and Time Functions `TODAY`, `YEAR`, `DATEADD` - Text Functions`CONCATENATE`, `LEFT`, `RIGHT`, `MID`- Statistical Functions `MAX`, `MIN`, `MEDIAN`- Filter Functions `FILTER`, `ALL` - Advanced DAX - Time Intelligence Functions `TOTALYTD`, `SAMEPERIODLASTYEAR`, `PARALLELPERIOD`

Creating Visualizations

Basic Visualizations - Bar Charts, Line Charts, Pie Charts, Tables - Advanced Visualizations - Tree Maps, Funnel Charts, Gauge Charts, Maps - Custom Visuals - Importing and using from AppSource - Visual Interactions Filters, slicers, drillthroughs, and cross-filtering

Designing Reports and Dashboards

Building Reports - Creating multi-page reports - Designing Dashboards - Combining visuals into cohesive stories - Formatting and Layout - Themes, color schemes, and best practices - Adding Interactivity - Using tooltips, bookmarks, and buttons

-
Power BI Service

Publishing Reports - Uploading reports to Power BI Service - Datasets, Reports, and Dashboards - Understanding components and their interrelation - Sharing and Collaboration - Workspaces, sharing options, and permissions - Basics of Collaboration - Commenting and annotating

End-to-End Project

Connect to a Dataset - Prepare and Clean Data - Create Calculations and Visualizations - Build an Interactive Dashboard - Publish and Share on Public or Online

TABLEAU | SQL | PYTHON

Python Introduction
Overview of Python

History and Features of Python - Python 2 vs Python 3 - Use Cases and Applications of Python - Setting Up the Environment - Installing Python - Basic Command-Line Usage - Writing Your First Program - Understanding the Python Interpreter - Writing a simple "Hello, World!" program - Running Python scripts -

Python Variables and Data Types

Variables in Python - Variable Naming Convention - Dynamic Typing vs Static Typing - Data Types - Basic Data Types: Integers, Floats, Strings, Booleans - Composite Data Types: Lists, Tuples, Sets, Dictionaries - Type Conversion and Type Checking - Data Type Operations - Arithmetic Operations on Numbers - String Manipulation Techniques - Common List and Tuple Methods

Python Control Flow Statements

`if`, `elif`, and `else` Statements - Nested Conditions - Ternary Operator - `for` Loops: Iterating through lists, tuples, strings, and dictionaries -`while` Loops: Usage and examples - Loop Control Statements: `break`, `continue`, and `pass`

Comprehensions

List Comprehensions - Dictionary Comprehensions - Set Comprehensions

Python Predefined Functions for List, Set, Tuple

List Functions - Common List Methods: `append()`, `extend()`, `insert()`, `remove()`, `pop()`, `sort()`, `reverse()`- List Slicing and Indexing - Set Functions - Set Operations: Union, Intersection, Difference - Common Set Methods: `add()`, `remove()`, `discard()`, `clear()`, `copy()` - Tuple Functions - Tuple Characteristics: Immutable Nature- Common Tuple Methods: `count()`, `index()`- Tuple Packing and Unpacking - Dictionary and String Manipulation - Creating and Accessing Dictionaries - Common Dictionary Methods: `get()`, `keys()`, `values()`, `items()`, `update()`- Dictionary Comprehensions - String Methods - `len()`, `strip()`, `split()`, `join()`, `replace()`, `find()`, `format()`- String Formatting: f-strings, `.format()`, and `%` formatting

User-Defined Functions

Defining Functions - Syntax of Function Definition - Parameters and Arguments - Return Statement - Function Scope and Lifetime - Local vs Global Variables - The `global` keyword - Lambda Functions - Syntax and Usage of Lambda Functions - When to Use Lambda Functions – Recursion – Why Recursion? – Where to use recursion?

Docstrings and Annotations

Writing Docstrings for Documentation- Function Annotations for Type Hints

Higher-Order Functions

Functions as First-Class Citizens - Using `map()`, `filter()`, and `reduce()`

Python Modules and Packages

Modules - What are modules in Python? - Importing modules (`import`, `from ... import`) - Standard library modules (e.g., `math`, `random`, `os`, etc.) - Creating and using your own modules - Aliasing modules (`import module as alias`) - Module search path and `sys.path`- Packages - Introduction to packages - Directory structure for packages - ` init .py` and its role in packages - Importing from a package - Using sub packages

Python File Handling

Basics of File Handling - Types of files: Text and Binary - Opening a file (`open()` function, modes like `r`, `w`, `a`, etc.) - Reading from a file (`read()`, `readline()`, `readlines()`) - Writing to a file (`write()`, `writelines()`) - File Operations - Closing files (`close()`) - File handling using `with` statement (context managers) - Handling file exceptions (`try`, `except` blocks for file operations - Advanced File Handling - Working with binary files - Moving, renaming, and deleting files using `os` and `shutil` modules - File paths and directories (`os.path`, `pathlib`) - Working with CSV files (`csv` module) - Working with JSON files (`json` module) - File compression (`zipfile`, `gzip`)

Python Regular Expressions (Regex)

Introduction to Regex - What is a regular expression? - `re` module in Python - Basic Patterns - Literal characters - Metacharacters and special sequences - Character classes, sets, and ranges - Quantifiers (`*`, `+`, `?`, `{}`) - Anchors (`^`, `$`) - Common Regex Functions in Python - `re.match()`, `re.search()`, `re.findall()`, `re.finditer()` - `re.sub()` for substitutions - `re.split()` for splitting based on regex patterns - Compiling regular expressions (`re.compile()`

Python Exception Handling

Introduction - What are exceptions? - Exception vs Syntax Error - Basic Exception Handling - `try`, `except` block - Handling multiple exceptions - `else` clause in exception handling - `finally` block (cleanup actions) - Built-in Exceptions - Common built-in exceptions (`ZeroDivisionError`, `FileNotFoundError`, `IndexError`, `KeyError`, etc.) - Exception hierarchy (`BaseException`, `Exception`, etc.) - Raising Exceptions - Raising exceptions using `raise`- Custom error messages - Custom Exceptions - Defining user-defined exceptions - Creating custom exception classes

Python OOPs (Object-Oriented Programming)

Introduction to OOPs Concepts - Class and Objects - Attributes and Methods (Instance and Class variables) - `self` parameter - Principles of OOP – Encapsulation - Abstraction - Inheritance (Single, Multiple, Multilevel) - Polymorphism (Method overloading, Method overriding) - Composition and Aggregation-Advanced OOP Concepts - Special methods (` init ()`, ` str ()`, ` repr ()`, etc.) - Static methods and Class methods - Property and Getter/Setter methods (`@property`, `@setter`) - Operator overloading (` add `, ` lt `, etc.) - Understanding `super () ` and MRO

Python Collections and Data Structures

Built-in Data Structures – Lists – Tuples – Sets – Dictionaries - Advanced Collections - `collections` module - `namedtuple()`- `deque()`- `Counter()` - `defaultdict()` - `OrderedDict()`- `ChainMap()`- Stacks (using lists or `deque`) - Queues (using `deque` or `queue` module) - Linked lists (singly and doubly linked lists implementation) - Trees (basic implementation of binary trees, binary search trees)

SQL
Introduction and Installation

Introduction to Databases - What is a Database? Importance of databases in applications - Introduction to Database Management Systems (DBMS) - Types of DBMS: Relational, NoSQL, Object-Oriented, etc. - Overview of SQL and its role in relational databases (RDBMS

Introduction and Installation

Introduction to SQL Server - What is SQL Server? Overview of RDBMS concepts - Overview of different SQL Server Editions (Express, Standard, Enterprise) - SQL Server Management Studio (SSMS) Introduction and Setup. - Installing and using SQL Server Management Studio (SSMS) for database management

DDL (Data Definition Language)

Creating and Modifying Databases – Creating and Modifying Tables - Table Constraints - - Primary Keys (`PRIMARY KEY` constraint) - Foreign Keys (`FOREIGN KEY` constraint) - Unique Constraints (`UNIQUE` constraint) - Default Values (`DEFAULT` constraint) - Check Constraints (`CHECK` constraint). - Operators, Data Types, and Type Conversion - Arithmetic Operators - Comparison Operators - Logical Operators – BETWEEN, IN, LIKE for pattern matching - IS NULL and IS NOT NULL operators. - SQL Server Data Types - Type Conversion

DML (Data Manipulation Language

Inserting Data - Updating Data - Deleting Data

DQL (Data Query Language)

Basic Querying with `SELECT - Filtering Data with `WHERE - Sorting Results Using `ORDER BY` to sort records in ascending (`ASC`) and descending (`DESC`) order. - Conditional Logic with `CASE`- Using Aggregate Functions - Group By, Having, - Difference between `WHERE` and `HAVING`- Using `HAVING` with aggregate functions.

Predefined Functions (String, Date/Time Functions

Common string functions: `LEN()`, `SUBSTRING()`, `CHARINDEX()`, `UPPER()`, `LOWER()`, `REPLACE()`, `LEFT()`, `RIGHT()` - Concatenating strings with `+` or `CONCAT()`. Date/Time Functions in SQL Server - Getting the current date/time (`GETDATE()`, `SYSDATETIME()`) - Adding/subtracting dates (`DATEADD()`) - Finding the difference between dates (`DATEDIFF()`) - Extracting parts of a date (`YEAR()`, `MONTH()`, `DAY()`)

Joins in SQL Server

Introduction to Joins - What are joins? Why do we use them - Types of Joins - INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN, CROSS JOIN, SELF JOIN

Transaction Control and Permission

Understanding Transactions - `BEGIN TRANSACTION` - `COMMIT TRANSACTION`- Committing the transaction - `ROLLBACK TRANSACTION` - `SAVEPOINT` - SQL Server Privileges and Subqueries - Granting Permissions - Revoking permissions - Role-based permissions in SQL Server.

Subqueries and Index in SQL Server

Using subqueries in `SELECT`, `WHERE`, `FROM`, and `HAVING` clauses - Correlated Subqueries vs Non-Correlated Subqueries - Subqueries in `JOIN` conditions - Indexes - Creating indexes - Removing indexes - Clustered vs Non-Clustered Indexes. - Impact of indexes on performance (index maintenance, over-indexing).

Database Objects

Views – Creating Views - Modifying views – Removing Views - Using views for complex query simplification - Stored Procedures - Creating stored procedures - Executing stored procedures (`EXEC`) - Input/output parameters in stored procedures - Error handling in stored procedures with `TRY...CATCH – Triggers - Creating triggers `INSERT`, `UPDATE`, `DELETE` operations - BEFORE and AFTER triggers.

Tableau
Introduction to Tableau

What is Tableau - Overview of Tableau Products: Tableau Desktop, Tableau Online, Tableau Server, Tableau Public - Why Tableau - Tableau vs. Traditional Reporting Tools - Tableau Ecosystem Overview

Installation and Environment Setup

System Requirements and Installing Tableau Desktop - Setting Up Tableau Public (for Free Use) - Tableau Interface Overview - Data Pane, Shelves, Cards, and Worksheet Navigation

Connecting to Data

Supported Data Sources: Excel, CSV, Databases, and Cloud Platforms - Live vs. Extract Connections - Managing Data Connections: Updating, Replacing, and Extracting Data - Connecting to Sample Superstore Dataset

Data Preparation and Cleaning

Data Preparation Tools - Understanding Dimensions and Measures - Renaming Fields, Assigning Aliases - Splitting Columns, Grouping, and Creating Sets - Data Cleaning - Handling Null Values and Duplicates - Filtering and Sorting Data - Pivoting and Unpivoting Data

Tableau Data Modeling

Introduction to Data Modeling Concepts in Tableau - Managing Joins: Inner, Left, Right, and Full Outer Joins - Blending Data from Multiple Sources - Relationships and Logical Layer Modeling (Tableau’s New Data Model) - Unioning Tables

Tableau Calculations and Functions

Basic Calculations - Calculated Fields and Aggregations - Arithmetic Calculations (e.g., Profit Ratios, Percentages) - Table Calculations - Running Totals, Moving Averages, and Percent of Total - Advanced Functions: Logical Functions: IF, CASE, ZNULL - String Functions: CONCAT, LEFT, RIGHT, MID - Date Functions: TODAY, DATEDIFF, DATENAME - LOD (Level of Detail) Expressions: FIXED, INCLUDE, EXCLUDE

Visual Analytics

Creating Visualizations: Bar Charts, Line Charts, Scatter Plots, and Pie Charts - Heat Maps, Tree Maps, Bubble Charts - Advanced Visualizations: Dual-Axis Charts, Waterfall Charts, Bullet Graphs - Geospatial Visualizations: Maps and Custom Territories - Enhancing Visuals: Formatting Options: Fonts, Colors, and Layout - Adding Labels, Annotations, and Tooltips

Interactivity in Tableau

Filters: Quick Filters, Context Filters, and Top N Filters - Parameters: Creating and Using Parameters for Interactivity - Dashboard Interactivity: Actions: Filter, Highlight, and URL Actions

Dashboards and Stories

Building Dashboards: Adding Worksheets to Dashboards - Adjusting Layouts and Sizing for Responsiveness - Dashboard Best Practices: Designing for User Experience - Using Containers for Alignment - Creating Stories: Telling a Data Story with Tableau Stories - Adding Annotations and Descriptions

Tableau Maps and Geospatial Analytics

Working with Geographic Data - Creating Maps with Geographic Dimensions - Advanced Mapping: Custom Territories, Path Maps, and Heat Maps - Integrating Map Layers

Tableau Server and Tableau Online

Publishing Workbooks to Tableau Online or Tableau Server - Managing Permissions and Sharing Dashboards - Automating Data Refresh for Extracts - Collaboration and User Roles in Tableau Server

Performance Optimization

Best Practices for Extracts and Joins - Using the Performance Recorder Tool - Advanced LOD Calculations: Row-Level, Aggregate-Level, and Nested LOD Expressions - Integrations: Connecting Tableau with R and Python for Advanced Analytics - Tableau Prep for Data Preparation - Embedded Analytics: Embedding Tableau Visuals in Applications

End-to-End Project

Connect to a Dataset - Prepare and Clean Data - Create Calculations and Visualizations - Build an Interactive Dashboard - Publish and Share on Tableau Public or Online