The CSV plugin allows you to visualize CSV data, which can either be read from a CSV file or entered manually.
To add a data source click on the + next to Data Sources on the left-hand menu in SquaredUp. Search for the data source and click on it to open the Configure data source page.
You can also add a data source by clicking Add data source on the Settings > Data Sources page, but pre-built dashboards are not added when using this method.
The CSV plugin is a "hybrid" plugin, meaning it is available in both cloud and on-prem versions.
Use the cloud plugin to access a CSV file shared for Anyone, or paste the CSV raw text into the tile.
Use the on-prem plugin to access a CSV file in a secure location on a server. You will need to configure a relay agent before you configure the CSV on-prem plugin.
An on-prem data source uses a relay agent to connect SquaredUp to a data source running on your internal network.
A relay agent is installed on a server on your internal network, and has access to your data source.
Using a relay agent means that you don't need to open your firewall to allow access.
For an on-prem plugin you will need a relay agent that can access the server hosting your on-prem data source. You do not need a relay agent for cloud plugins.
If you have already created a relay agent in SquaredUp that can access this data source, then you can skip this step and choose the agent group you want to use while Configuring the data source.
See one of the following, depending on your platform type:
When configuring the data source, there are certain CSV locations you can specify (such as the Windows Folder option) that use Access Control Lists (ACLs) to determine which identities can access the files.
By default, the Relay agent service utilizes your local system identity, meaning you must ensure that your system identity can access your CSV files via an appropriate ACL. For example, if you want to read a CSV from a Windows Folder, you must ensure that the system identity used by the Relay agent is contained in the ACL of your specified Directory location.In the more complex scenario of remote UNC paths this may require you to use an account capable of accessing the network and network share, and ensuring that the account is present in the remote ACL. This could also include configuring the identity as the Network Service account or as a specific Domain User account.
Web URL - OneDrive
You can share a file on Onedrive, but you will need to set the link settings to work for Anyone. If this is not suitable security for the data you are using, you might want to consider the on-prem plugin and the access rights described above.
Display Name: Enter a name for your data source. This helps you to identify this data source in the list of your data sources.
Agent Group: Select the Agent Group that contains the agent(s) you want to use.
This field will only appear if you are adding the on-prem plugin. When selecting an agent group, be careful about mixing agent types. If you have a group composed of Linux and Windows agents, there could be potential issues when attempting to read a CSV file from a Windows based location on Linux, and vice versa.
Restrict access to this data source: You can enable this option if you only want certain users or groups to have access to the data source, or the permission to link it to new workspaces. See data source access control for more information.
Once you've added a CSV data source, you can start creating dashboards to visualize your data.
Use the File data stream to use CSV data which is saved in a shared file, so that the tile updates when the CSV file is updated. Alternatively, use the Raw Text data stream to copy and paste the raw CSV data straight into the tile.
On a dashboard click + and then Data to add a new data tile.
Data Stream tab: Click on File. If File isn't listed then perhaps the data source was added for the organization but not this workspace. Click the Data Source menu > Add new data source and look through the data sources listed. If you still can't see the data source perhaps it doesn't exist at the organization level, so click the link at the bottom of the page to add a new data source. Click on the Objects tab (or click Next).
Objects tab: Click on the name you gave your Data Source to tick it. Click on the Parameters tab (or click Next).
Parameters tab CSV Location:
Web URL: Enter the location of a CSV file shared on the internet.
You can share a file on Onedrive, but you will need to set the link settings to work for Anyone, so you should consider whether this is suitable security for the data you are using.
If you are using the on-prem plugin you will have further options:
Windows File (Windows Relay agent): Specify the Folder and File location of the CSV.
Windows Folder (Windows Relay agent): Specify the Folder location from which to get the most recently created CSV.
Linux File (Linux Relay agent): Specify the Folder and File location of the CSV.
Linux Folder (Linux Relay agent): Specify the Folder location from which to get the most recently created CSV.
Has Header Row: If your data uses the first row as the header tick the box.
Advanced Options:
Delimiter: If the delimiter is not automatically detected, you can specify the delimiter, such as a semicolon, here.
Skip Lines: Enter the number of lines in the file to skip before importing CSV data. This is useful in circumstances where the file includes some sort of intro text.
For Web URLs:
Ignore Certificate errors:
If you activate this checkbox the data source will ignore certificate errors when accessing the server. This is useful if you have self-signed certificates.
Timeframe tab: Timeframe is not supported for this tile.
A suitable visualization is chosen, where possible, but at this point you might like to change the visualization used, see Visualization Settings. In the right hand pane you can also hide and sort columns, The Shaping and Columns sections can help you configure the visualization as you need.
Shaping tab: Shaping allows you to perform filtering, grouping and sorting operations on the data.
Data can be filtered according to whether data in a column meets or does not meet specified text or numerical value conditions.
Multiple filters
You are able to add multiple filter conditions using the following operators:
AND: All conditions must be satisfied (e.g. Status-Equals-Closed ANDType-Equals-Question).
OR: Any condition can be satisfied (e.g. Status-Equals-Pending ORStatus-Equals-Closed).
Available filters
The following options are available when filtering data, which ones display depends on the column type.
Option
Description
Equals
Checks if the value of a field is the same as the specified value. For example,a Status of Active will return results where the status is Active.
Not equals
Checks if the value of a field is not equal to the specified value. It returns true if the values are different. For example, a status of Active would return results where the category is notActive.
Contains
Returns data if the specified value exists within the field value.
For example, example: URL Contains projects will return results where the URL includes the word "projects" anywhere in the string.
Doesn't contain
Returns data if the specified value doesn't exist within the field value.
For example, example: URL Doesn't contain projects will return results where the URL doesn't include the word "projects" anywhere in the string.
Less than
Checks if the value of a field is below the specified value. It is used for numerical or date values. For example, IncidentsLess than50 would return results where the number of incidents is below 50.
Greater than
Checks if the value of a field is over a specified value. It is used for numerical or date values. For example, Incidents Greater than 50 would return results where the number of incidents is over 50.
Is more than
Available when working with a date / time column. Checks if the value of a field is older than a given time period. You must additionally specify a time quantity and period, and whether to measure ago or from now.
For example, Due Is more than 100 days from now will return results where the due date is later than the current day + 100 days.
Similarly, Due Is more than 100 days ago will return results where the submitted date is earlier than the current day.
Within last
Filter records that fall within a specific time range from before the current date and time. You must additionally specify a time quantity and period.
For example, Submitted Within last 100 days will return results where the submitted date is between the current day and 100 days ago.
Within next
Filter records that are within a specified time range after the current date and time. You must additionally specify a time quantity and period.
For example, Event date Within next 7 days would return results where the event date is within the next week.
Is empty
Returns all data without a date value. Useful for identifying records where data is missing.
Is not empty
Returns all data with a date value.
You can group and aggregate data by column.
For example, for AWS cost data you might configure the following settings to display a table or bar chart of cost per label:
Group by:label
Aggregation type: Total
Aggregation column: Amount
Which columns are available depends on the data stream you chose.
Configuring grouping enables different visualizations to be displayed, such as bar chart and donut. For example, grouping tickets by channel allows you to show a donut of how many tickets were logged by email vs web form.
Bucket by
If you group by a time column, and further grouping is possible, the Bucket by dropdown appears. Use this field to control how the time data is grouped, for example by hour, day, month etc.
Aggregation type and column
Use this dropdown to choose how to summarize your data, for example as a count, average or total. For example, you could do the following:
When creating a Bar Chart of ticket data you might configure the following settings to show a graph of tickets per day:
Group by:Date created
Bucketby:Day
Aggregation type: Count
When creating Bar Chart of Azure Resource Group cost you could configure the following settings:
Group by:Timestamp
Bucketby:Day
Aggregation type:Total
Aggregate column: Cost
The Sort section allows you to select one or more columns to sort your date by, in either ascending or descending order.
While this sets the default sort order of data, but you can always click on a column heading to sort the data table on the fly.
To sort by multiple columns, click Add sort by to add a new row of sort fields to the list. This allows you perform more complex sorts, such as sorting data by the data it was created, then sorting those results alphabetically.
Enabling the Top toggle allows you to specify the top n rows of data to display.
Columns tab:
Use the Columns tab of the tile editor to format the columns of the table on the Data tab.The Columns tab with a formatted Data tableSquaredUp automatically defines the metadata retrieved from data streams so the data is assigned the correct data type, however in some circumstances you may want to override this.
For example, when retrieving data using the Web API plugin, scripting, or custom query data streams (such as Splunk Enterprise plugin), the assigned data type may not be quite correct or as you expect.
Formatting columns
Use the following options to format your columns.
Option
Description
Name
To rename a column, click the current Name value and enter a new one. Columns that can be renamed display the Rename column icon when hovered over.
Type
Select an option from the Type dropdown to change the data type of the column. If any additional options are available to configure, the dropdown is expanded below.
Value
Displays the original value of the column.
Formatted
Displays the formatted value of the column.
Add a copy of this column
Click to duplicate a column. The copied field displays Copy of [field name] above its Name.
Remove this column
Click to delete a cloned column.
Comparison columns
Comparison columns are used to compare two values, for example you may want to compare the number of tickets raised this month to the number of tickets raised last month. You can choose to show the value as an absolute change (for example, 12 more tickets) or as a percentage change (for example, a 28% increase).
When a column has a Type of Number, the Add comparison
button displays at the end of the row, which you can click to open the Add comparison window.From this window, if you have multiple columns with a Type of Number, you can create a comparison column by doing the following:
Column A: Select the first column to compare against. Automatically populated with the column of which you clicked Add comparison.
Column B: Select the second column to compare against.
Output: Select how to display the comparison value. This value is displayed in the Preview field. Choose from:
Absolute: Show the numerical value of Column A - Column B.
Percentage: Show the ratio of Column B to Column A as a percent.
Click Update to create the comparison. A new column is added to the Output table. The Output table with a comparison column added
Additional options
Some data types have advanced settings that can be configured in the options section, which is displayed whenever you change the data Type or by clicking expand
next to the column Name.
Option
Description
Output Format
Enter a custom format to display date values as a string. Any specified output format is supported. For example, dd/mm/yy, dd/mm/yyyy or d/M/Y.
By default, dates and times are displayed in your local timezone to ensure the data makes sense to you.
Input Format
Enter the format that corresponds to the inputted date. For example, if your data has values such as 05/27/24 01:44 PM, then the Input Format should be set to dd/mm/yy hh:mm aa.
Any input format is supported, however if you have a custom input format that is missing any time zone information, the input is always assumed to be UTC.
This field is required if the data string for the column are not ISO-8601 formatted. For example, 2024-09-09T13:52:25.281Z.
Currency
Select the currency to display the value in. This does not convert the currency value.
Decimal Places
Formats the number of decimal places for a supported data type. Enter a value between 0 and 20.
Link Text
Specify the text of the URL links in the column.
Format as duration
Toggle between displaying the time value in minutes and seconds or seconds.
Map Values to States
Define the values that trigger states. Select a value for each of the corresponding dropdowns:
This data stream is designed to quickly handle small amounts of data and is therefore limited to 20,480 characters. If you need to work with larger amounts of data, use the File data stream to read directly from the source file. Alternatively you may want to aggregate the data to use here.
On a dashboard click + and then Data to add a new data tile.
Data Stream tab: Click on Raw Text. If Raw Text isn't listed then perhaps the data source was added for the organization but not this workspace. Click the Data Source menu > Add new data source and look through the data sources listed. If you still can't see the data source perhaps it doesn't exist at the organization level, so click the link at the bottom of the page to add a new data source. Click on the Objects tab (or click Next).
Objects tab: Click on the name you gave your Data Source to tick it. Click on the Parameters tab (or click Next).
Parameters tab:
CSV Text: Paste your raw CSV data into the box.
Has Header Row: If your data uses the first row as the header tick the box.
Advanced Options: If the delimiter, i.e. comma, is not automatically detected, you can specify the delimiter, such as a semicolon, here.
Timeframe tab: Timeframe is not supported for this tile.
A suitable visualization is chosen, where possible, but at this point you might like to change the visualization used, see Visualization Settings. In the right hand pane you can also hide and sort columns, The Shaping and Columns sections can help you configure the visualization as you need.
Shaping tab: Shaping allows you to perform filtering, grouping and sorting operations on the data. Configure Group by and Aggregation type to show a donut
Data can be filtered according to whether data in a column meets or does not meet specified text or numerical value conditions.
Multiple filters
You are able to add multiple filter conditions using the following operators:
AND: All conditions must be satisfied (e.g. Status-Equals-Closed ANDType-Equals-Question).
OR: Any condition can be satisfied (e.g. Status-Equals-Pending ORStatus-Equals-Closed).
Available filters
The following options are available when filtering data, which ones display depends on the column type.
Option
Description
Equals
Checks if the value of a field is the same as the specified value. For example,a Status of Active will return results where the status is Active.
Not equals
Checks if the value of a field is not equal to the specified value. It returns true if the values are different. For example, a status of Active would return results where the category is notActive.
Contains
Returns data if the specified value exists within the field value.
For example, example: URL Contains projects will return results where the URL includes the word "projects" anywhere in the string.
Doesn't contain
Returns data if the specified value doesn't exist within the field value.
For example, example: URL Doesn't contain projects will return results where the URL doesn't include the word "projects" anywhere in the string.
Less than
Checks if the value of a field is below the specified value. It is used for numerical or date values. For example, IncidentsLess than50 would return results where the number of incidents is below 50.
Greater than
Checks if the value of a field is over a specified value. It is used for numerical or date values. For example, Incidents Greater than 50 would return results where the number of incidents is over 50.
Is more than
Available when working with a date / time column. Checks if the value of a field is older than a given time period. You must additionally specify a time quantity and period, and whether to measure ago or from now.
For example, Due Is more than 100 days from now will return results where the due date is later than the current day + 100 days.
Similarly, Due Is more than 100 days ago will return results where the submitted date is earlier than the current day.
Within last
Filter records that fall within a specific time range from before the current date and time. You must additionally specify a time quantity and period.
For example, Submitted Within last 100 days will return results where the submitted date is between the current day and 100 days ago.
Within next
Filter records that are within a specified time range after the current date and time. You must additionally specify a time quantity and period.
For example, Event date Within next 7 days would return results where the event date is within the next week.
Is empty
Returns all data without a date value. Useful for identifying records where data is missing.
Is not empty
Returns all data with a date value.
You can group and aggregate data by column.
For example, for AWS cost data you might configure the following settings to display a table or bar chart of cost per label:
Group by:label
Aggregation type: Total
Aggregation column: Amount
Which columns are available depends on the data stream you chose.
Configuring grouping enables different visualizations to be displayed, such as bar chart and donut. For example, grouping tickets by channel allows you to show a donut of how many tickets were logged by email vs web form.
Bucket by
If you group by a time column, and further grouping is possible, the Bucket by dropdown appears. Use this field to control how the time data is grouped, for example by hour, day, month etc.
Aggregation type and column
Use this dropdown to choose how to summarize your data, for example as a count, average or total. For example, you could do the following:
When creating a Bar Chart of ticket data you might configure the following settings to show a graph of tickets per day:
Group by:Date created
Bucketby:Day
Aggregation type: Count
When creating Bar Chart of Azure Resource Group cost you could configure the following settings:
Group by:Timestamp
Bucketby:Day
Aggregation type:Total
Aggregate column: Cost
The Sort section allows you to select one or more columns to sort your date by, in either ascending or descending order.
While this sets the default sort order of data, but you can always click on a column heading to sort the data table on the fly.
To sort by multiple columns, click Add sort by to add a new row of sort fields to the list. This allows you perform more complex sorts, such as sorting data by the data it was created, then sorting those results alphabetically.
Enabling the Top toggle allows you to specify the top n rows of data to display.
Columns tab:
Use the Columns tab of the tile editor to format the columns of the table on the Data tab.The Columns tab with a formatted Data tableSquaredUp automatically defines the metadata retrieved from data streams so the data is assigned the correct data type, however in some circumstances you may want to override this.
For example, when retrieving data using the Web API plugin, scripting, or custom query data streams (such as Splunk Enterprise plugin), the assigned data type may not be quite correct or as you expect.
Formatting columns
Use the following options to format your columns.
Option
Description
Name
To rename a column, click the current Name value and enter a new one. Columns that can be renamed display the Rename column icon when hovered over.
Type
Select an option from the Type dropdown to change the data type of the column. If any additional options are available to configure, the dropdown is expanded below.
Value
Displays the original value of the column.
Formatted
Displays the formatted value of the column.
Add a copy of this column
Click to duplicate a column. The copied field displays Copy of [field name] above its Name.
Remove this column
Click to delete a cloned column.
Comparison columns
Comparison columns are used to compare two values, for example you may want to compare the number of tickets raised this month to the number of tickets raised last month. You can choose to show the value as an absolute change (for example, 12 more tickets) or as a percentage change (for example, a 28% increase).
When a column has a Type of Number, the Add comparison
button displays at the end of the row, which you can click to open the Add comparison window.From this window, if you have multiple columns with a Type of Number, you can create a comparison column by doing the following:
Column A: Select the first column to compare against. Automatically populated with the column of which you clicked Add comparison.
Column B: Select the second column to compare against.
Output: Select how to display the comparison value. This value is displayed in the Preview field. Choose from:
Absolute: Show the numerical value of Column A - Column B.
Percentage: Show the ratio of Column B to Column A as a percent.
Click Update to create the comparison. A new column is added to the Output table. The Output table with a comparison column added
Additional options
Some data types have advanced settings that can be configured in the options section, which is displayed whenever you change the data Type or by clicking expand
next to the column Name.
Option
Description
Output Format
Enter a custom format to display date values as a string. Any specified output format is supported. For example, dd/mm/yy, dd/mm/yyyy or d/M/Y.
By default, dates and times are displayed in your local timezone to ensure the data makes sense to you.
Input Format
Enter the format that corresponds to the inputted date. For example, if your data has values such as 05/27/24 01:44 PM, then the Input Format should be set to dd/mm/yy hh:mm aa.
Any input format is supported, however if you have a custom input format that is missing any time zone information, the input is always assumed to be UTC.
This field is required if the data string for the column are not ISO-8601 formatted. For example, 2024-09-09T13:52:25.281Z.
Currency
Select the currency to display the value in. This does not convert the currency value.
Decimal Places
Formats the number of decimal places for a supported data type. Enter a value between 0 and 20.
Link Text
Specify the text of the URL links in the column.
Format as duration
Toggle between displaying the time value in minutes and seconds or seconds.
Map Values to States
Define the values that trigger states. Select a value for each of the corresponding dropdowns:
Data streams standardize data from all the different shapes and formats your tools use into a straightforward tabular format.
While creating a tile you can tweak data streams by grouping or aggregating specific columns.
Depending on the kind of data, SquaredUp will automatically suggest how to visualize the result, for example as a table or line graph.
Data streams can be either global or scoped:
Global data streams are unscoped and return information of a general nature (e.g. "Get the current number of unused hosts").
A scoped data stream gets information relevant to the specific set objects supplied in the tile scope (e.g. "Get the current session count for these hosts").
The following data streams are installed with this plugin.
Data stream
Description
Parameters
File
Allows you to visualize data imported from a CSV file. You must specify the location of the file you want to read data from.
CSV location: Select the location of the CSV file you want to read. Choose from:
Web URL: Specify the URL of the CSV file.
Windows File (Windows Relay agent): Specify the Directory and File location of the CSV.
Windows Folder (Windows Relay agent): Specify the Directory location to get the most recently created CSV from.
Linux File (Linux Relay agent): Specify the Directory and File location of the CSV.
Linux Folder (Linux Relay agent): Specify the Directory location to get the most recently created CSV from.
Has Header Row: Select this checkbox if the file you are reading treats the first row as a header. If left unchecked, then numbers are used to represent the data column headers.
Advanced Options: Click to display the following additional configuration options:
Delimeter: Enter an alternative delimiter for the data in the CSV file. For example, a semicolon ";".
Skip Lines: Enter the number of lines in the file to skip before importing CSV data. This is useful in circumstances where the file includes some sort of intro text.
Ignore Certificate errors:
If you activate this checkbox the data source will ignore certificate errors when accessing the server. This is useful if you have self-signed certificates.
Raw Text
Allows you to manually specify CSV data to visualize.
CSV Text: Enter or paste the CSV data that you want to visualize.
Has Header Row: Select this checkbox if the file you are reading treats the first row as a header. If left unchecked, then numbers are used to represent the data column headers.
Advanced Options: Click to display the following additional configuration options:
Delimeter: Enter an alternative delimiter for the data in the CSV file. For example, a semicolon ";".