Connectors → NetSuite Suite Analytics

About NetSuite SuiteAnalytics

NetSuite creates products for enterprise resource planning, financial management, e-commerce, and customer relationship management. NetSuite SuiteAnalytics provides real-time Saved Searches, Reporting, Key Performance Indicators (KPIs) Dashboard and Workbook features that are built into the NetSuite solution.

About the NetSuite SuiteAnalytics Connector

The NetSuite SuiteAnalytics connector supports the following Incorta specific functionality:

Feature Supported
Chunking
Data Agent
Encryption at Ingest
Incremental Load
Multi-Source
OAuth
Performance Optimized
Remote
Single-Source
Spark Extraction
Webhook Callbacks

Deploy the NetSuite SuiteAnalytics Connector in NetSuite

To connect to NetSuite, you must have access to the SuiteAnalytics Connect Service, which you must have purchased already. You can check to see if you have access by opening NetSuite Help Center in your NetSuite instance. Once purchased, the NetSuite Administrator can enable the SuiteAnalytics Connect service with the following steps:

  • Sign in to NetSuite.
  • Select SetupCompanyEnable Features.
  • Select the Analytics tab.
  • Under Connectivity, select SuiteAnalytics Connect.

Incorta uses the SuiteAnalytics JDBC driver to connect to the Connect Service. The SuiteAnalytics Connect properties can be found in the SuiteAnalytics Connect: JDBC Driver Setup screen in NetSuite. The NetSuite Administrator can access this screen as follows:

  • Sign in to NetSuite.
  • Select Set Up SuiteAnalytics Connect, which is located under Settings in the bottom left corner of the screen.
  • Select your operating system. To use SuiteAnalytics Connect with Incorta, select Linux 64-bit.
  • Select the Download button next to the JDBC driver.
  • Agree to the terms of service to be able to start the download. You cannot download the driver archive unless you agree to the terms of service.
  • Save the installation .zip file.
  • When the download is complete, extract the content of the .zip file to your desired location.
  • In the location where you extracted the content of the .zip file, locate the NQjc.jar file.

Deploy the NetSuite SuiteAnalytics Connector in Incorta

The following steps need to be performed by the Incorta Administrator:

  • Copy the NQjc.jar file to <INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/runtime/lib/
  • Either using the CMC or the shell scripts, restart the Analytics and Loader Services for the cluster.

Steps to connect NetSuite SuiteAnalytics and Incorta

To connect NetSuite SuiteAnalytics and Incorta, here are the high level steps, tools, and procedures:

Create an external data source

Here are the steps to create a external data source with the NetSuite SuiteAnalytics connector:

  • Sign in to the Incorta Direct Data Platform.
  • In the Navigation bar, select Data.
  • In the Action bar, select + NewAdd Data Source.
  • In the Choose a Data Source dialog, in Application, select NetSuite SuiteAnalytics.
  • In the New Data Source dialog, specify the applicable connector properties.
  • To test, select Test Connection.
  • Select Ok to save your changes.

NetSuite SuiteAnalytics connector properties

Access the NetSuite SuiteAnalytics connector credentials with the following steps:

  • Sign in to NetSuite.
  • Select Set Up SuiteAnalytics Connect, which is located under Settings in the bottom left corner of the screen.
  • On the SuiteAnalytics Connect Driver Download page, select Your Configuration to access the credentials, including Host, Port, and Account ID and Role ID.

Here are the properties for the NetSuite SuiteAnalytics connector:

Property Control Description
Data Source Name text box Enter the name of the data source
User Email text box Enter the NetSuite user email
Password text box Enter the NetSuite password
Connection Pool text box Enter the connection pool. The default is 30.
Connection String text box Enter the connection string. The format is: jdbc:ns://<HOST>:<PORT>;ServerDataSource=NetSuite.com;encrypted=1;CustomProperties=(AccountID=<ACCOUNT ID>;RoleID=<ROLE ID>)

The default port is 1708.
Connection Properties text box Optionally enter connector properties for a custom connection to NetSuite in the format: propertyName=propertyValue, where each connector property is on a new line.

The available connector properties are specified by com.netsuite.jdbc.openaccess.OpenAccessDriver. Refer to the JDBC Connection Properties section of the SuiteAnalytics Connect document for further information.
Use Data Agent toggle Enable using a data agent to securely ingest data from an external data source that is behind a firewall.
For more information, please review Tools → Data Agent and Tools → Data Manager.
Data Agent drop down list Enable Use Data Agent to configure this property. Select from the data agents created in the tenant, if any.

Important: Data Agent

A data agent is a service that runs on a remote host. It is also a data agent object in the Data Manager for a given tenant. An authentication file shared between the data agent object and the data agent service enables an authorized connection without using a VPN or SSH tunnel. With a data agent, you can securely extract data from one or more databases behind a firewall to an Incorta cluster. Your Incorta cluster can reside on-premises or in the cloud. A CMC Administrator must enable and configure an Incorta cluster to support the use of Data Agents. Only a Tenant Administrator (SuperUser) or user that belongs to a group with the SuperRole role for a given tenant can create a data agent that connects to a data agent service. To learn more, see Concepts → Data Agent and Tools → Data Agent.


Important

The default role for connecting to NetSuite is the full administrator role (RoleID=3). However, it is not required to use a full administrator role and it is often not advisable to use this role, especially in the case of public companies and/or security audits that track full administrator access to NetSuite. An alternative is to create a custom administrator role which has only view privileges to all of the tables imported into Incorta. In this case, the custom administrator Role ID is substituted above. Before creating a custom role, it is important to consider whether you need full access to the Netsuite tables, as certain tables, such as metadata tables, are not accessible with a custom administrator role.

Create a schema with the Schema Wizard

Here are the steps to create an NetSuite SuiteAnalytics schema with the Schema Wizard:

  • Sign in to the Incorta Direct Data Platform.
  • In the Navigation bar, select Schema.
  • In the Action bar, select + New → Schema Wizard.
  • In (1) Choose a Source, specify the following:

    • For Enter a name, enter the schema name.
    • For Select a Datasource, select the NetSuite SuiteAnalytics external data source.
    • Optionally create a description.
  • In the Schema Wizard footer, select Next.
  • In (2) Manage Tables, in the Data Panel, first select the name of the Data Source, and then check the Select All checkbox.
  • In the Schema Wizard footer, select Next.
  • In (3) Finalize, in the Schema Wizard footer, select Create Schema.

Create a schema with the Schema Designer

Here are the steps to create an NetSuite SuiteAnalytics schema using the Schema Designer:

  • Sign in to the Incorta Direct Data Platform.
  • In the Navigation bar, select Schema.
  • In the Action bar, select + NewCreate Schema.
  • In Name, specify the schema name, and select Save.
  • In Start adding tables to your schema, select SQL Database.
  • In the Data Source dialog, specify the NetSuite SuiteAnalytics table data source properties.
  • Select Add.
  • In the Table Editor, in the Table Summary section, enter the table name.
  • To save your changes, select Done in the Action bar.

NetSuite SuiteAnalytics table data source properties

For a schema table in Incorta, you can define the following NetSuite SuiteAnalytics specific data source properties as follows:

Property Control Description
Type drop down list The default is SQL Database.
Data Source drop down list Select the NetSuite SuiteAnalytics external data source
Incremental toggle Enable the incremental load configuration for the schema table.
Fetch Size text box For performance improvement, define the number of records that will be retrieved from the database in each batch until all records are retrieved. The default is 5000.
Query text box Enter the query to retrieve data from NetSuite SuiteAnalytics
Update Query text box Enable Incremental to configure this property. Define the SQL update query to use during an incremental load. The query and update query should be of the same structure, that is, the same selected columns.
Chunking Method drop down list Chunking methods allow for parallel extraction of large tables. The default is No Chunking. There are two chunking methods: By Size of Chunking (Single Table) By Date/Timestamp
Chunk Size text box Select By Size of Chunking for the Chunking Method to set this property. Enter the number of records to extract in each chunk in relation to the Fetch Size. The default is 3 times the Fetch Size.
Order Column drop down list Select By Size of Chunking for the Chunking Method to set this property. Select a column in the source table you want to order by before chunking. It’s typically an ID column and it must be numeric.
Upper Bound for Order Column text box Optional. Enter the maximum value for the order column.
Lower Bound for Order Column text box Optional. Enter the minimum value for the order column.
Order Column [Date/Timestamp] drop down list Select By Date/Timestamp for the Chunking Method to set this property. Select a column in the source table you want to order by before chunking. It should be a Date/Timestamp column.
Chunk Period drop down list Select the chunk period that will be used in dividing chunks:
  • Daily
  • Weekly (default)
  • Monthly
  • Yearly
  • Custom
  • Number of days text box Select Custom for the Chunk Period to set this property. Enter the chunking period in days
    Callback toggle Enable post extraction callback, that is, enable callback on the data source data set(s) by invoking a certain callback URL with parameters containing details about the load job.
    Callback URL text box Enable Callback to configure this property. Specify the callback URL.

    View the schema diagram with the Schema Diagram Viewer

    Here are the steps to view the schema diagram using the Schema Diagram Viewer:

    • Sign in to the Incorta Direct Data Platform.
    • In the Navigation bar, select Schema.
    • In the list of schemas, select the NetSuite SuiteAnalytics schema.
    • In the Schema Designer, in the Action bar, select Diagram.

    NetSuite schema diagram

    The following is an Accounting schema for an external data source that utilizes the NetSuite connector. This subset of the entire NetSuite entity relationship diagram (ERD) is provided for brevity.

    Load the schema

    Here are the steps to perform a Full Load of the NetSuite SuiteAnalytics schema using the Schema Designer:

    • Sign in to the Incorta Direct Data Platform.
    • In the Navigation bar, select Schema.
    • In the list of schemas, select the NetSuite SuiteAnalytics schema.
    • In the Schema Designer, in the Action bar, select Load → Load Now → Full.
    • To review the load status, in Last Load Status, select the date.

    Explore the schema

    With the full load of the NetSuite SuiteAnalytics schema complete, you can use the Analyzer to explore the schema, create your first insight, and save the insight to a new dashboard.

    To open the Analyzer from the schema, follow these steps:

    • In the Navigation bar, select Schema.
    • In the Schema Manager, in the List view, select the NetSuite SuiteAnalytics schema.
    • In the Schema Designer, in the Action bar, select Explore Data.

    Additional Considerations

    NetSuite Metadata Tables

    NetSuite provides the following metadata tables that are not accessible via the Schema Wizard:

    • OA_TABLES
    • OA_COLUMNS
    • OA_FKEYS

    These tables can be added to the schema using the Schema Designer with a query such as the example below.

    select * from OA_TABLES