SlideShare a Scribd company logo
1 of 5
SSIS
• SSIS script
components
for JSON data
(JIRA)
• SSIS script task
for XML data
(Netsuite)
• SSIS script task
to generate
SSIS package
SSAS
• SSIS script task
to amend/
migrate SSAS
OLAP Cube or
process it or
generate a new
one with input
parameters
(template)
Tableau
• C# console
application or
SQL CLR stored
procedure to
generate
Tableau Data
Extract file.
• C# script to
bulk amend/
migrate
Tableau
Workbooks
Insight
• C# console
application to
bulk amend/
migrate Insight
object
(dashboards,
reports, data
dictionaries)
• Publish Insight
objects using
REST API
SQL CLR
• CLR stored
procedure for
parallel
aggregation
• Various text
processing
functions
including using
fuzzy match
algorithm
C# applications in Business Intelligence Projects
ETL JSON data
•In SSIS script task read user datetime
parameters to set a time period
•Set a base URL (string)
•Create HttpWebRequest object
•Set request attributes - ContentType,
Method, CookieContainer, user
credentials
•Autenticate and get cookies
•Make a request with cookies obtained on
the previous step
•Create Json serializer object and read the
response
•Create Datatable and load the serialized
object into it
•Write data to SQL Server using bulkCopy
ETL XML data
• Create a saved search in Netsuite
•Develop and deploy RESTlets script to
extract Netsuite data with the saved
search
•In SSIS script components create
myHttpWebRequest
•Add headers with authentication
•Make request, load result into
XMLDocument
•Add rows to Output with
SelectSingleNode NodeValue
Generate SSIS packages
•Can be used when:
•a lot of SSIS packages need to be
developed
•source system change frequently
•some changes need to be applied to all
existing SSIS packages
•using Microsoft.SqlServer.Dts library
•using SqlConnection object's GetSchema
method
•Dynamic ETL: In SSIS script task check if
source table changed
•If a source table changed then load SSIS
package deployed on the server within a
project into object
•Make transformation
•Deploy back on the server
•Run updated SSIS package
C# in SQL Server Integration Service
Generate SSAS OLAP cube
•using Analysis Management Objects
(AMO)
•Can be used to generate and process
dynamically OLAP cubes via SSIS script
task
ETL XML data
• Create Server object
•Create Database object
•Create Data Source View
•Create Dimensions
•Create Cube
•Process Cube
Can be used
•when a lot of OLAP cubes need to be
created
•for bulk OLAP cubes
migration/transformation/restructuring
projects
•a lot of development time when a lot of
custom
parameters/calculations/properties need
to be implemented
C# in SQL Server Analysis Service
Generate TDE file
• Using TDE files as source
significantly improves Tableau
performance
• Tableau provides .Net library
• Script can be used as a standalone
console application run by SSIS / SQL
Job or as a SQL CLR assembly and
run by stored procedure within t-
SQL code
Amend /generate Tableau workbook
TWB file
• Tableau Workbook is an XML file.
• It can be alter like any other XML file
using XMLDocument object.
• Can be used when a large number of
Tableau workbook files need to be
amended
• Also can be used to dynamically
generate or alter Tableau elements
like calculations that can difficult to
parametrise via user interface.
C# in Tableau
Amend Insight reports
• All Access Insight objects are XML files.
• REST API is available to manipulate them
• I developed a console application in C# to implement
changes programmatically on big number of Insight
objects.
• For REST actions I use RestSharp library.
• Make request to authenticate
• Parse response and store token
• Make GET request to download
reports/dashboards/other objects with token
• Load response into XMLDocument object
• Make transformation using XMLNode
• Upload transformed objects via PUT request
Generate Insight objects
• Can be used when:
• A lot of Insight objects need to be developed
• Massive changes need to be applied to all existing SSIS
packages
• Methods available at the moment:
• Add new/change existing calculated field
• Add new/change existing filter
• Add new/change existing reports’ property
C# in Access Insight

More Related Content

What's hot

Big problems Big Data, simple solutions
Big problems Big Data, simple solutionsBig problems Big Data, simple solutions
Big problems Big Data, simple solutionsClaudio Pontili
 
Kibana + timelion: time series with the elastic stack
Kibana + timelion: time series with the elastic stackKibana + timelion: time series with the elastic stack
Kibana + timelion: time series with the elastic stackSylvain Wallez
 
Elastic Stack Basic - All The Capabilities in 6.3!
Elastic Stack Basic - All The Capabilities in 6.3!Elastic Stack Basic - All The Capabilities in 6.3!
Elastic Stack Basic - All The Capabilities in 6.3!brad_quarry
 
2020 07-30 elastic agent + ingest management
2020 07-30 elastic agent + ingest management2020 07-30 elastic agent + ingest management
2020 07-30 elastic agent + ingest managementDaliya Spasova
 
Rounds analytics pipeline
Rounds analytics pipelineRounds analytics pipeline
Rounds analytics pipelineAviv Laufer
 
What's new in SQL Server 2017
What's new in SQL Server 2017What's new in SQL Server 2017
What's new in SQL Server 2017Hasan Savran
 
Microsoft Azure Data Factory Data Flow Scenarios
Microsoft Azure Data Factory Data Flow ScenariosMicrosoft Azure Data Factory Data Flow Scenarios
Microsoft Azure Data Factory Data Flow ScenariosMark Kromer
 
Azure Data Factory Data Flow Limited Preview for January 2019
Azure Data Factory Data Flow Limited Preview for January 2019Azure Data Factory Data Flow Limited Preview for January 2019
Azure Data Factory Data Flow Limited Preview for January 2019Mark Kromer
 
Change Data Capture - Scale by the Bay 2019
Change Data Capture - Scale by the Bay 2019Change Data Capture - Scale by the Bay 2019
Change Data Capture - Scale by the Bay 2019Petr Zapletal
 
Azure Data Factory Data Flow
Azure Data Factory Data FlowAzure Data Factory Data Flow
Azure Data Factory Data FlowMark Kromer
 
Google Dataflow Intro
Google Dataflow IntroGoogle Dataflow Intro
Google Dataflow IntroIvan Glushkov
 
Black friday logs - Scaling Elasticsearch
Black friday logs - Scaling ElasticsearchBlack friday logs - Scaling Elasticsearch
Black friday logs - Scaling ElasticsearchSylvain Wallez
 
AWS Athena vs. Google BigQuery for interactive SQL Queries
AWS Athena vs. Google BigQuery for interactive SQL QueriesAWS Athena vs. Google BigQuery for interactive SQL Queries
AWS Athena vs. Google BigQuery for interactive SQL QueriesDoiT International
 
Vitalii Bondarenko "Machine Learning on Fast Data"
Vitalii Bondarenko "Machine Learning on Fast Data"Vitalii Bondarenko "Machine Learning on Fast Data"
Vitalii Bondarenko "Machine Learning on Fast Data"DataConf
 
Moving to the cloud; PaaS, IaaS or Managed Instance
Moving to the cloud; PaaS, IaaS or Managed InstanceMoving to the cloud; PaaS, IaaS or Managed Instance
Moving to the cloud; PaaS, IaaS or Managed InstanceThomas Sykes
 
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSISMicrosoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSISMark Kromer
 
AWS Glue - let's get stuck in!
AWS Glue - let's get stuck in!AWS Glue - let's get stuck in!
AWS Glue - let's get stuck in!Chris Taylor
 

What's hot (20)

Kibana overview
Kibana overviewKibana overview
Kibana overview
 
Big problems Big Data, simple solutions
Big problems Big Data, simple solutionsBig problems Big Data, simple solutions
Big problems Big Data, simple solutions
 
Kibana + timelion: time series with the elastic stack
Kibana + timelion: time series with the elastic stackKibana + timelion: time series with the elastic stack
Kibana + timelion: time series with the elastic stack
 
Elastic Stack Basic - All The Capabilities in 6.3!
Elastic Stack Basic - All The Capabilities in 6.3!Elastic Stack Basic - All The Capabilities in 6.3!
Elastic Stack Basic - All The Capabilities in 6.3!
 
2020 07-30 elastic agent + ingest management
2020 07-30 elastic agent + ingest management2020 07-30 elastic agent + ingest management
2020 07-30 elastic agent + ingest management
 
Rounds analytics pipeline
Rounds analytics pipelineRounds analytics pipeline
Rounds analytics pipeline
 
What's new in SQL Server 2017
What's new in SQL Server 2017What's new in SQL Server 2017
What's new in SQL Server 2017
 
Microsoft Azure Data Factory Data Flow Scenarios
Microsoft Azure Data Factory Data Flow ScenariosMicrosoft Azure Data Factory Data Flow Scenarios
Microsoft Azure Data Factory Data Flow Scenarios
 
Azure Data Factory Data Flow Limited Preview for January 2019
Azure Data Factory Data Flow Limited Preview for January 2019Azure Data Factory Data Flow Limited Preview for January 2019
Azure Data Factory Data Flow Limited Preview for January 2019
 
Change Data Capture - Scale by the Bay 2019
Change Data Capture - Scale by the Bay 2019Change Data Capture - Scale by the Bay 2019
Change Data Capture - Scale by the Bay 2019
 
Azure Data Factory Data Flow
Azure Data Factory Data FlowAzure Data Factory Data Flow
Azure Data Factory Data Flow
 
Google Dataflow Intro
Google Dataflow IntroGoogle Dataflow Intro
Google Dataflow Intro
 
Graph Databases at Netflix
Graph Databases at NetflixGraph Databases at Netflix
Graph Databases at Netflix
 
Black friday logs - Scaling Elasticsearch
Black friday logs - Scaling ElasticsearchBlack friday logs - Scaling Elasticsearch
Black friday logs - Scaling Elasticsearch
 
AWS Athena vs. Google BigQuery for interactive SQL Queries
AWS Athena vs. Google BigQuery for interactive SQL QueriesAWS Athena vs. Google BigQuery for interactive SQL Queries
AWS Athena vs. Google BigQuery for interactive SQL Queries
 
The Rise of Streaming SQL
The Rise of Streaming SQLThe Rise of Streaming SQL
The Rise of Streaming SQL
 
Vitalii Bondarenko "Machine Learning on Fast Data"
Vitalii Bondarenko "Machine Learning on Fast Data"Vitalii Bondarenko "Machine Learning on Fast Data"
Vitalii Bondarenko "Machine Learning on Fast Data"
 
Moving to the cloud; PaaS, IaaS or Managed Instance
Moving to the cloud; PaaS, IaaS or Managed InstanceMoving to the cloud; PaaS, IaaS or Managed Instance
Moving to the cloud; PaaS, IaaS or Managed Instance
 
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSISMicrosoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
 
AWS Glue - let's get stuck in!
AWS Glue - let's get stuck in!AWS Glue - let's get stuck in!
AWS Glue - let's get stuck in!
 

Similar to CSharp

Going Serverless - an Introduction to AWS Glue
Going Serverless - an Introduction to AWS GlueGoing Serverless - an Introduction to AWS Glue
Going Serverless - an Introduction to AWS GlueMichael Rainey
 
Utilizing the open ntf domino api
Utilizing the open ntf domino apiUtilizing the open ntf domino api
Utilizing the open ntf domino apiOliver Busse
 
Sf big analytics_2018_04_18: Evolution of the GoPro's data platform
Sf big analytics_2018_04_18: Evolution of the GoPro's data platformSf big analytics_2018_04_18: Evolution of the GoPro's data platform
Sf big analytics_2018_04_18: Evolution of the GoPro's data platformChester Chen
 
Utilizing the OpenNTF Domino API
Utilizing the OpenNTF Domino APIUtilizing the OpenNTF Domino API
Utilizing the OpenNTF Domino APIOliver Busse
 
SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...Liam Cleary [MVP]
 
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. Nielsen
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. NielsenJ1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. Nielsen
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. NielsenMS Cloud Summit
 
Hibernate in XPages
Hibernate in XPagesHibernate in XPages
Hibernate in XPagesToby Samples
 
Sap bods Training in Hyderabad | Sap bods Online Training
Sap bods Training in Hyderabad | Sap bods  Online Training Sap bods Training in Hyderabad | Sap bods  Online Training
Sap bods Training in Hyderabad | Sap bods Online Training CHENNAKESHAVAKATAGAR
 
Sap bods training in hyderabad
Sap bods training in hyderabadSap bods training in hyderabad
Sap bods training in hyderabadRajitha D
 
Deep Dive into Azure Data Factory v2
Deep Dive into Azure Data Factory v2Deep Dive into Azure Data Factory v2
Deep Dive into Azure Data Factory v2Eric Bragas
 
StackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStackStackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStackChiradeep Vittal
 
Bringing DevOps to the Database
Bringing DevOps to the DatabaseBringing DevOps to the Database
Bringing DevOps to the DatabaseMichaela Murray
 
IBM Cloud Day January 2021 Data Lake Deep Dive
IBM Cloud Day January 2021 Data Lake Deep DiveIBM Cloud Day January 2021 Data Lake Deep Dive
IBM Cloud Day January 2021 Data Lake Deep DiveTorsten Steinbach
 
Geek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsGeek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsIDERA Software
 
AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)Amazon Web Services Korea
 
In-memory ColumnStore Index
In-memory ColumnStore IndexIn-memory ColumnStore Index
In-memory ColumnStore IndexSolidQ
 
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
 

Similar to CSharp (20)

Going Serverless - an Introduction to AWS Glue
Going Serverless - an Introduction to AWS GlueGoing Serverless - an Introduction to AWS Glue
Going Serverless - an Introduction to AWS Glue
 
Utilizing the open ntf domino api
Utilizing the open ntf domino apiUtilizing the open ntf domino api
Utilizing the open ntf domino api
 
Sf big analytics_2018_04_18: Evolution of the GoPro's data platform
Sf big analytics_2018_04_18: Evolution of the GoPro's data platformSf big analytics_2018_04_18: Evolution of the GoPro's data platform
Sf big analytics_2018_04_18: Evolution of the GoPro's data platform
 
Where to save my data, for devs!
Where to save my data, for devs!Where to save my data, for devs!
Where to save my data, for devs!
 
Utilizing the OpenNTF Domino API
Utilizing the OpenNTF Domino APIUtilizing the OpenNTF Domino API
Utilizing the OpenNTF Domino API
 
SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...
 
Micro strategy 7i
Micro strategy 7iMicro strategy 7i
Micro strategy 7i
 
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. Nielsen
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. NielsenJ1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. Nielsen
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. Nielsen
 
Hibernate in XPages
Hibernate in XPagesHibernate in XPages
Hibernate in XPages
 
Sap bods Training in Hyderabad | Sap bods Online Training
Sap bods Training in Hyderabad | Sap bods  Online Training Sap bods Training in Hyderabad | Sap bods  Online Training
Sap bods Training in Hyderabad | Sap bods Online Training
 
Sap bods training in hyderabad
Sap bods training in hyderabadSap bods training in hyderabad
Sap bods training in hyderabad
 
Deep Dive into Azure Data Factory v2
Deep Dive into Azure Data Factory v2Deep Dive into Azure Data Factory v2
Deep Dive into Azure Data Factory v2
 
Serverless SQL
Serverless SQLServerless SQL
Serverless SQL
 
StackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStackStackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStack
 
Bringing DevOps to the Database
Bringing DevOps to the DatabaseBringing DevOps to the Database
Bringing DevOps to the Database
 
IBM Cloud Day January 2021 Data Lake Deep Dive
IBM Cloud Day January 2021 Data Lake Deep DiveIBM Cloud Day January 2021 Data Lake Deep Dive
IBM Cloud Day January 2021 Data Lake Deep Dive
 
Geek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsGeek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure Environments
 
AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)
 
In-memory ColumnStore Index
In-memory ColumnStore IndexIn-memory ColumnStore Index
In-memory ColumnStore Index
 
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)
 

More from Vera Ekimenko

Data Quality with AI
Data Quality with AIData Quality with AI
Data Quality with AIVera Ekimenko
 
Deep Reinforcement Learning for Portfolio Optimization
Deep Reinforcement Learning for Portfolio OptimizationDeep Reinforcement Learning for Portfolio Optimization
Deep Reinforcement Learning for Portfolio OptimizationVera Ekimenko
 
Artificial Intelligence for Data Quality
Artificial Intelligence for Data QualityArtificial Intelligence for Data Quality
Artificial Intelligence for Data QualityVera Ekimenko
 
Unsupervised AI for Data Quality
Unsupervised AI for Data QualityUnsupervised AI for Data Quality
Unsupervised AI for Data QualityVera Ekimenko
 
Deep Learning Hackathon
Deep Learning HackathonDeep Learning Hackathon
Deep Learning HackathonVera Ekimenko
 
Cloudera migration oozie_hadoop_ci_cd_pipeline
Cloudera migration oozie_hadoop_ci_cd_pipelineCloudera migration oozie_hadoop_ci_cd_pipeline
Cloudera migration oozie_hadoop_ci_cd_pipelineVera Ekimenko
 
Artificial Intelligence Hackathon
Artificial Intelligence HackathonArtificial Intelligence Hackathon
Artificial Intelligence HackathonVera Ekimenko
 
KeyAchivementsMimecast
KeyAchivementsMimecastKeyAchivementsMimecast
KeyAchivementsMimecastVera Ekimenko
 
KeyAchivementsJustisPublishing
KeyAchivementsJustisPublishingKeyAchivementsJustisPublishing
KeyAchivementsJustisPublishingVera Ekimenko
 
HCM Access Insight Dashboard
HCM Access Insight DashboardHCM Access Insight Dashboard
HCM Access Insight DashboardVera Ekimenko
 

More from Vera Ekimenko (13)

Data Quality with AI
Data Quality with AIData Quality with AI
Data Quality with AI
 
AML Knowledge Graph
AML Knowledge GraphAML Knowledge Graph
AML Knowledge Graph
 
Deep Reinforcement Learning for Portfolio Optimization
Deep Reinforcement Learning for Portfolio OptimizationDeep Reinforcement Learning for Portfolio Optimization
Deep Reinforcement Learning for Portfolio Optimization
 
Artificial Intelligence for Data Quality
Artificial Intelligence for Data QualityArtificial Intelligence for Data Quality
Artificial Intelligence for Data Quality
 
Unsupervised AI for Data Quality
Unsupervised AI for Data QualityUnsupervised AI for Data Quality
Unsupervised AI for Data Quality
 
Deep Learning Hackathon
Deep Learning HackathonDeep Learning Hackathon
Deep Learning Hackathon
 
Cloudera migration oozie_hadoop_ci_cd_pipeline
Cloudera migration oozie_hadoop_ci_cd_pipelineCloudera migration oozie_hadoop_ci_cd_pipeline
Cloudera migration oozie_hadoop_ci_cd_pipeline
 
Artificial Intelligence Hackathon
Artificial Intelligence HackathonArtificial Intelligence Hackathon
Artificial Intelligence Hackathon
 
DWHRestructure
DWHRestructureDWHRestructure
DWHRestructure
 
KeyAchivementsMimecast
KeyAchivementsMimecastKeyAchivementsMimecast
KeyAchivementsMimecast
 
KeyAchivementsJustisPublishing
KeyAchivementsJustisPublishingKeyAchivementsJustisPublishing
KeyAchivementsJustisPublishing
 
buy_in
buy_inbuy_in
buy_in
 
HCM Access Insight Dashboard
HCM Access Insight DashboardHCM Access Insight Dashboard
HCM Access Insight Dashboard
 

CSharp

  • 1. SSIS • SSIS script components for JSON data (JIRA) • SSIS script task for XML data (Netsuite) • SSIS script task to generate SSIS package SSAS • SSIS script task to amend/ migrate SSAS OLAP Cube or process it or generate a new one with input parameters (template) Tableau • C# console application or SQL CLR stored procedure to generate Tableau Data Extract file. • C# script to bulk amend/ migrate Tableau Workbooks Insight • C# console application to bulk amend/ migrate Insight object (dashboards, reports, data dictionaries) • Publish Insight objects using REST API SQL CLR • CLR stored procedure for parallel aggregation • Various text processing functions including using fuzzy match algorithm C# applications in Business Intelligence Projects
  • 2. ETL JSON data •In SSIS script task read user datetime parameters to set a time period •Set a base URL (string) •Create HttpWebRequest object •Set request attributes - ContentType, Method, CookieContainer, user credentials •Autenticate and get cookies •Make a request with cookies obtained on the previous step •Create Json serializer object and read the response •Create Datatable and load the serialized object into it •Write data to SQL Server using bulkCopy ETL XML data • Create a saved search in Netsuite •Develop and deploy RESTlets script to extract Netsuite data with the saved search •In SSIS script components create myHttpWebRequest •Add headers with authentication •Make request, load result into XMLDocument •Add rows to Output with SelectSingleNode NodeValue Generate SSIS packages •Can be used when: •a lot of SSIS packages need to be developed •source system change frequently •some changes need to be applied to all existing SSIS packages •using Microsoft.SqlServer.Dts library •using SqlConnection object's GetSchema method •Dynamic ETL: In SSIS script task check if source table changed •If a source table changed then load SSIS package deployed on the server within a project into object •Make transformation •Deploy back on the server •Run updated SSIS package C# in SQL Server Integration Service
  • 3. Generate SSAS OLAP cube •using Analysis Management Objects (AMO) •Can be used to generate and process dynamically OLAP cubes via SSIS script task ETL XML data • Create Server object •Create Database object •Create Data Source View •Create Dimensions •Create Cube •Process Cube Can be used •when a lot of OLAP cubes need to be created •for bulk OLAP cubes migration/transformation/restructuring projects •a lot of development time when a lot of custom parameters/calculations/properties need to be implemented C# in SQL Server Analysis Service
  • 4. Generate TDE file • Using TDE files as source significantly improves Tableau performance • Tableau provides .Net library • Script can be used as a standalone console application run by SSIS / SQL Job or as a SQL CLR assembly and run by stored procedure within t- SQL code Amend /generate Tableau workbook TWB file • Tableau Workbook is an XML file. • It can be alter like any other XML file using XMLDocument object. • Can be used when a large number of Tableau workbook files need to be amended • Also can be used to dynamically generate or alter Tableau elements like calculations that can difficult to parametrise via user interface. C# in Tableau
  • 5. Amend Insight reports • All Access Insight objects are XML files. • REST API is available to manipulate them • I developed a console application in C# to implement changes programmatically on big number of Insight objects. • For REST actions I use RestSharp library. • Make request to authenticate • Parse response and store token • Make GET request to download reports/dashboards/other objects with token • Load response into XMLDocument object • Make transformation using XMLNode • Upload transformed objects via PUT request Generate Insight objects • Can be used when: • A lot of Insight objects need to be developed • Massive changes need to be applied to all existing SSIS packages • Methods available at the moment: • Add new/change existing calculated field • Add new/change existing filter • Add new/change existing reports’ property C# in Access Insight