Skip to main content

DeepAnalyze Bot (D.A.B)

The DeepAnalyze Bot, affectionately known as D.A.B, is a state-of-the-art, intelligent chatbot designed to revolutionize the way you interact with your data warehouses. D.A.B empowers you to gain valuable insights from your data using simple, natural language queries. Say goodbye to complex SQL and hello to intuitive data exploration!

Key Features

D.A.B is built to make data analysis accessible to everyone in your organization, regardless of their technical expertise. Here are some of the awesome things you can do with D.A.B:

  • Instant Insights: Get immediate answers to your data questions without waiting for a data analyst.
  • Natural Language Queries: Simply ask questions in plain English, just like you would talk to a colleague. For example, "Show me the total sales for the last quarter" or "Which are the top 5 selling products this month?".
  • Ease of Use: No need to write complex SQL queries. D.A.B understands your intent and fetches the data for you.
  • Proactive Assistance: D.A.B can help identify trends, anomalies, and patterns in your data, providing proactive insights.
  • Interactive Visualizations: Instantly visualize your data by selecting your desired chart type (e.g., bar, line, pie) directly within the chat window for real-time insights.
  • Data Downloads: Easily download your query results as a CSV file for offline analysis. To facilitate this, queried data is temporarily stored in a secure, private bucket and is automatically deleted after 24 hours. We do not access or use this data in any way.
  • Query Transparency: D.A.B provides a summary of the generated query, explaining exactly what it's doing and how it works, giving you full visibility into the data retrieval process.
  • Complex Insights, Simplified: Ask complex questions that require joining tables and performing advanced analysis, all through simple natural language.
  • Robust Security: Your data's safety is our priority. D.A.B is designed to prevent accidental data loss by blocking any attempts to run destructive commands (like DROP, DELETE, or other DDL/DML statements), ensuring a safe, read-only analysis environment.

Supported Data Warehouses

D.A.B seamlessly integrates with a wide range of popular data warehouses. We are constantly working on expanding our support.

Currently, D.A.B supports:

  • PostgreSQL
  • Oracle
  • Amazon Redshift
  • Snowflake
  • Google BigQuery
  • MySQL
  • Microsoft SQL Server
  • Databricks

Coming Soon:

  • Amazon Athena

How it Works

D.A.B leverages advanced Natural Language Processing (NLP) and Machine Learning algorithms to understand your questions. When you ask a question, D.A.B translates your natural language query into a precise SQL query, runs it against your connected data warehouse, and returns the answer in an easy-to-understand format. This allows for a powerful and intuitive data exploration experience.

Using D.A.B Effectively: A Step-by-Step Guide

To unlock the full potential of D.A.B and ensure a smooth, efficient experience, follow these simple steps and best practices.

1. Secure Your Connection

Your journey begins by establishing a secure connection to your data warehouse.

  • Create a Vault Connection: The first step is to create a new vault connection within the DeepAnalyze platform. This vault securely stores your database credentials.
  • Encrypted and Private: Rest assured, all connection details are fully encrypted and are never visible to us. Your credentials remain confidential and secure.

2. Connect to D.A.B

Once your vault is set up, you can connect it to D.A.B.

  • Select Your Platform: On the D.A.B user interface, start by selecting your data warehouse platform from the list of supported options (e.g., BigQuery, Snowflake, Databricks).
  • Choose Your Vault: After selecting the platform, a dropdown menu will appear, showing your available vaults. Select the vault that corresponds to the data warehouse you wish to query.

3. Start Asking Questions

With the connection established, you are ready to converse with your data!

  • Focus on Data Insights: D.A.B is optimized for data-related queries. Ask questions about your data, request insights, or have D.A.B generate complex queries. Any non-data-related questions will be gracefully blocked, and you'll be prompted to focus your queries on database insights.
  • Monitor Your Usage: Each query you make consumes tokens. We recommend using D.A.B for data-related inquiries to make the most of your token allowance. You can easily track your token consumption in the Billing section of your account.

4. Best Practices for an Optimal Experience

To ensure you get the best performance and most accurate results from D.A.B, please consider the following tips:

  • Specify Full Table Paths: For optimal performance, always provide the full table path in your queries, such as dataset.schema.table_name or dataset.table_name. This helps D.A.B locate your data quickly and accurately. You can use the Catalog feature for table discovery to easily find fully qualified table names.
  • Limit Table Joins: While D.A.B can handle complex queries, we recommend joining a maximum of 2-3 tables at a time for faster response times.
  • Understand Data Limits: To ensure a smooth user experience, queries are capped to return a maximum of 20,000 records. Similarly, charts generated in the UI are currently supported for up to 100 records (with plans to increase this limit in the future).
  • Keep Chats Concise: For the best performance, we recommend starting a new chat session if your current conversation exceeds 8-10 messages.
  • Understand Chat Persistence: As part of our commitment to your privacy, we do not store any chat history. This means that if you refresh the page, you will need to start a new chat from scratch.
  • Refresh if Needed: If you notice that D.A.B is not performing as expected, a simple page refresh can often resolve the issue.

Platform-Specific Examples

To help you get started, here are some platform-specific query patterns and examples.

Google BigQuery

BigQuery uses a three-part notation for its tables: projectID.dataset.table.

When you connect D.A.B to BigQuery using your vault, the projectID is automatically sourced from your vault credentials. D.A.B establishes a connection to this specific project. Please note that at this time, you cannot query tables across multiple projects.

For your queries, D.A.B expects you to provide the dataset.table_name format.

Example 1: Single Table Query

can you get me orders cancelled in last month from sample_db.orders.

Example 2: Joining Tables

can you get records from sample_db.orders and join it on sample_db.customers and show me complete information for all orders that are in transit currently.

As you can see, providing the dataset.table_name allows D.A.B to efficiently locate and query your data.

Snowflake

When you connect to Snowflake, D.A.B. establishes a default connection using the database specified in your vault. However, you have the flexibility to override this default setting directly in your queries.

For best results, use the database.schema.table notation. If that doesn't work, you can explicitly specify the database, schema, and table names in your question.

Example 1: Using the Default Database In this example, D.A.B. will use the database from your vault connection.

can you show me all orders that were successfully delivered from TPCH_SF1.ORDERS.

Example 2: Overriding the Default Database Here, you can specify a different database, and D.A.B. will use it for this specific query.

can you find all orders that were cancelled today from database SNOWFLAKE_LEARNING_DB, schema TPCH_SF1 and table ORDERS.

Example 3: Joining Tables D.A.B. also supports joins across tables in Snowflake.

can you get me customer details from TPCH_SF1.CUSTOMER and join it with TPCH_SF1.ORDERS to show me all customers who have pending orders.

MySQL

For MySQL, the table notation is database.table_name. D.A.B. will use the default database specified in your vault connection unless you override it in your query. Even when using the default database, you can query any table within it.

Example 1: Using the Default Database When you don't specify a database, D.A.B. uses the one from your vault.

get me all employees whose salary is greater than 30000 from emp

Example 2: Overriding the Default Database You can query a different database by specifying it in the table name.

get me all employees whose salary is greater than 30000 from sample_db.emp

Example 3: Joining Tables Here's how you can perform a join.

get me the order details from orders and join it with customers to find all orders for customers in 'New York'.

Microsoft SQL Server

For Microsoft SQL Server, the expected notation is database.schema.table. The database from your vault connection is used by default, but you can specify a different one in your query. Even when using the default database, you can query any schema and table within it.

Example 1: Using the Default Database D.A.B. will use the database from your vault when you specify the schema and table.

can you query all records from schema dbo and table emp

Example 2: Overriding the Default Database To query a different database, explicitly mention it in your request.

can you query the top 5 records from schema dbo and table emp in database testssdb

Example 3: Joining Tables You can also perform joins across tables.

can you join the employees table in the dbo schema with the departments table in the dbo schema and show me the names of employees in the 'Sales' department.

PostgreSQL

For PostgreSQL, D.A.B. follows the database.schema.table naming convention. The database from your vault connection is used by default, but you can easily override it for specific queries. Even when using the default database, you can query any schema and table within it.

Example 1: Using the Default Database When you specify the schema and table, D.A.B. will use the database from your vault.

can you show me all products from the public schema and products table.

Example 2: Overriding the Default Database To query a different database, simply include it in your request.

can you query 2 records from schema pg_catalog and table pg_aggregate in database defaultdb.

Example 3: Joining Tables Joining tables is straightforward.

can you join the orders table with the customers table, both in the public schema, and show me the total order amount for each customer.

Databricks

For Databricks, D.A.B. requires Unity Catalog to be enabled for the best experience. The query notation follows the catalog.schema.table format.

Example 1: Single Table Query

Can you show me the different types of promotions and count them from the samples.tpcds_sf1.promotion table?

Example 2: Joining Tables

can you join the store_sales table with the item table from the samples.tpcds_sf1 catalog and schema, and show me the top 5 items with the highest sales.

Oracle

For Oracle databases, D.A.B. expects the schema.table_name format for identifying tables.

Example 1: Single Table Query

Can you show me the total count of orders from the Admin.orders table?

Example 2: Joining Tables

Can you join the Admin.orders table with the Admin.customers table and show me the names of customers who have placed more than 5 orders?

Amazon Redshift

When connecting to Amazon Redshift, the database is determined by your vault connection. To query a different database, you must select the vault associated with that specific database. D.A.B. expects a schema.table notation for queries.

Example 1: Single Table Query

Can you show me the top 10 most expensive products from the public.products table?

Example 2: Joining Tables

Can you join the public.sales table with the public.users table and find the total sales for each user?

Our Commitment to Your Privacy

We understand that your data is your most valuable asset. That's why D.A.B is built with a "privacy-first" architecture, ensuring that your sensitive information remains completely under your control.

  • Your Data Stays Yours: D.A.B queries your data warehouse in real-time and only displays the results to you. We never store your data, query results, or insights on our servers.
  • No Model Training on Your Data: Your data is never used to train our machine learning models. Your queries and business metrics remain confidential and are not used to improve our services for other customers.
  • Complete Transparency: We believe in being transparent about how our technology works. D.A.B is designed to be a trusted partner, and we are committed to upholding the highest standards of data privacy and security. Your personal information is never stored or tracked.

Support and Feedback

D.A.B is constantly evolving, and we strive to provide our users with the best possible experience. If you encounter any issues or have suggestions for improvement, please contact our support team. We value your feedback!