Connecting to Excel

Sisense enables easy and quick access to tables contained within Excel spreadsheets.
There are two options for uploading data:

  • The first option is to upload your file to the Sisense Server from your local machine. Once the file is uploaded, the data is imported into the ElastiCube as it was at the time the file was uploaded.
  • The second option is to define the location of your files on the Sisense Server. This is the preferred option if your Excel files frequently change, but remain in the same location on the Sisense Server, as the data is taken from the Excel files each time the ElastiCube is built.

    Note:

    If you are on a Linux deployment, place your files into a sub-folder created in: opt/sisense/storage/


When you import multiple files from a folder and build your ElastiCube, you have the option to combine the data together in a single table. To build multiple tables with separate tables for each file, you must repeat the process for each file you want to import as a table. If you have any questions about data accumulation between builds, please contact Sisense Support.

Note:

For the list of supported connectors, see Data Source Connectors.


Importing Data From Your Excel Files

  1. In the Data page, open an ElastiCube or create a new ElastiCube.
  2. In the ElastiCube, click ; the Add Data dialog box is displayed.
  3. Click Microsoft Excel. The Microsoft Excel Connect area is displayed.

  4. Select the relevant option for importing your data:

    • File Upload

      1. Select this option to import your data from your CSV file. If the file is updated later, you'll need to upload it again. To upload the file, click Browse and navigate to the file to be uploaded or drag the CSV file to the File Upload area.
        8-5CSVfileuploadthumb0300.png
        The uploaded file is added to the Uploads list. You can delete the file by clicking
        and confirming you want to delete the file.
      2. Select the relevant CSV file(s) to be uploaded.
      3. (Optional) Toggle the Union Selected switch to append several CSV files together when the data is imported into the ElastiCube. The data in the files must have the same column and data types.
      4. After you have finished uploading the relevant CSV files, select them from the upload list and click Next. Continue to Step 5.
    • Server Access

      This is a security option that helps you mitigate Local File Inclusion (LFI) attacks. Attackers could attempt to provide the application with a full input file path outside the current working directory. This could allow them to see the contents of other files stored on the computer running Sisense. To prevent this, you can define specific paths and folders for CSV and Excel files on the Sisense server.

      1. Select this option to define the location of your files on the Sisense Server if your CSV files frequently change, but remain in the same location on the Sisense Server as the data is taken from the CSV files each time the ElastiCube is built.
      2. Select Input Folder Path and enter the full file path with the file name where your Excel files are located. This displays each Excel file in the folder in the next screen where you select what tables to add to the ElastiCube.
        OR
        Select Input File Path and enter the full file path with the file name and its extension of your CSV file. For example, C:\Example.csv. This file displays all the tables in the CSV file on the next screen where you select what tables to add to the ElastiCube.
      3. (Optional) Toggle the Union Selected switch to append several Excel files together when the data is imported into the ElastiCube. The data in the files must have the same column and data types.
      4. After you have finished defining the locations of your CSV files, click Next and continue to Step 5. A list of CSV files in the directory are displayed.

  5. From the Select Table list, click 8-5CSVpreview1.pngto select preview the columns in the Excel file and display the Settings, which provides more options for customizing your data.
  6. In the Settings area, define the following settings:
    • Culture: Select the culture for your Excel. This defines settings such as the format of the date and time or delimiter (decimal or comma) used in your Excel file. To change the default culture, see Changing the Default Culture.
    • Fields in First Row: Enables you to specify table column names based on the header in the first row of the spreadsheet.
    • Static Range: Selecting Static Range option enables you to select a specific range of data in the sheet. Data needs to be in a table structure, starting at the top left cell of the range, with field names as the first row. Define two cells, each with a leading $ sign and a colon as a delimiter. For example, $A1:$E10 is a static range A1 to E10.

      Note:

      Your Excel file must not contain empty rows before the static range.


  7. After you have selected all the relevant tables, click Done. The tables are added to your schema in Sisense.

Out-of-Memory Issues

When building an ElastiCube with this connector, you might receive an "out of memory" error. To add more memory, see Troubleshooting Performance Issues.

BaseURL and File Uploads

If you have implemented BaseURLs with Nginx, the maximum CSV or Excel file size you can upload is 1.5mb. To upload files larger than 1.5mb, you need to add the following line of code to your ngnix.conf file located on the Sisense Server:

client_max_body_size 220M;

Where <200M> is the size in megabytes that you want to allow.

Note:

The location of the ngnix.conf file depends on where you installed Ngnix.
This line should be added to the server object as shown below:


Before After
location ~/reporting(/.*)$ {
set $path $1;
proxy_pass http://127.0.0.1:8081$path$is_args$args;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 6000;
proxy_send_timeout 6000;
proxy_read_timeout 6000;send_timeout 6000;
}
}
location ~/reporting(/.*)$ {
client_max_body_size 200M;
set $path $1;
proxy_pass http://127.0.0.1:8081$path$is_args$args;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 6000;
proxy_send_timeout 6000;
proxy_read_timeout 6000;
send_timeout 6000;
}
}