Skip to content

Commit

Permalink
Update integ (#4200)
Browse files Browse the repository at this point in the history
adding gsheet integration per request
  • Loading branch information
mirnawong1 authored Oct 5, 2023
2 parents 38577ef + 8edd799 commit d8d564b
Show file tree
Hide file tree
Showing 5 changed files with 98 additions and 18 deletions.
17 changes: 10 additions & 7 deletions website/docs/docs/use-dbt-semantic-layer/avail-sl-integrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ id: avail-sl-integrations
description: "Discover the diverse range of partners that seamlessly integrate with the powerful dbt Semantic Layer, allowing you to query and unlock valuable insights from your data ecosystem."
tags: [Semantic Layer]
sidebar_label: "Available integrations"
hide_table_of_contents: true
meta:
api_name: dbt Semantic Layer APIs
---
Expand All @@ -19,21 +20,23 @@ There are a number of data applications that seamlessly integrate with the dbt S

Use the [dbt Semantic Layer APIs](/docs/dbt-cloud-apis/sl-api-overview) to simplify metric queries, optimize your development workflow, and reduce coding. This approach also ensures data governance and consistency for data consumers.


<!-- turn these into cards for ga -->

import AvailIntegrations from '/snippets/_sl-partner-links.md';

<AvailIntegrations/>

### Custom integration
## Custom integration

You can create custom integrations using different languages and tools. We support connecting with JDBC, ADBC, and a GraphQL API. For more info, check out [our examples on GitHub](https://github.com/dbt-labs/example-semantic-layer-clients/).
- You can create custom integrations using different languages and tools. We support connecting with JDBC, ADBC, and a GraphQL APIs. For more info, check out [our examples on GitHub](https://github.com/dbt-labs/example-semantic-layer-clients/).
- You can also connect to tools that allow you to write SQL. These tools must meet one of the two criteria:

- Supports a generic JDBC driver option (such as DataGrip) or
- Supports Dremio and uses ArrowFlightSQL driver version 12.0.0 or higher.

## Related docs

- <span><a href="https://docs.getdbt.com/docs/dbt-cloud-apis/sl-api-overview" target="_self">{frontMatter.meta.api_name}</a></span> to learn how to integrate with JDBC and GraphQL to query your metrics in downstream tools.
- [dbt Semantic Layer APIs query syntax](/docs/dbt-cloud-apis/sl-jdbc#querying-the-api-for-metric-metadata)
- <span><a href="https://docs.getdbt.com/docs/dbt-cloud-apis/sl-api-overview" target="_self">{frontMatter.meta.api_name}</a></span> to learn how to integrate and query your metrics in downstream tools.
- [dbt Semantic Layer API query syntax](/docs/dbt-cloud-apis/sl-jdbc#querying-the-api-for-metric-metadata)
- [Hex dbt Semantic Layer cells](https://learn.hex.tech/docs/logic-cell-types/transform-cells/dbt-metrics-cells) to set up SQL cells in Hex.

</VersionBlock>

Expand Down
53 changes: 53 additions & 0 deletions website/docs/docs/use-dbt-semantic-layer/gsheets.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
title: "Google Sheets (beta)"
description: "Integrate with Google Sheets to query your metrics in a spreadsheet."
tags: [Semantic Layer]
sidebar_label: "Google Sheets (beta)"
---

:::info Beta functionality
Google Sheets integration with the dbt Semantic Layer is a [beta feature](https://docs.getdbt.com/docs/dbt-versions/product-lifecycles#dbt-cloud) and is subject to change without notification.
:::
The dbt Semantic Layer offers a seamless integration with Google Sheets through a custom menu. This add-on allows you to build dbt Semantic Layer queries and return data on your metrics directly within Google Sheet.

## Prerequisites

1. You have a Google account with access to Google Sheets.
2. You can install Google add-ons.
3. You have [set up the dbt Semantic Layer](/docs/use-dbt-semantic-layer/setup-sl).
4. You have a dbt Cloud Environment ID and a [service token](/docs/dbt-cloud-apis/service-tokens) to authenticate with from a dbt Cloud account.

## Installing the add-on

1. In Google Sheets, navigate to [**Extensions -> Add-on -> Get add-ons**](https://support.google.com/docs/answer/2942256?hl=en&co=GENIE.Platform%3DDesktop&oco=0#zippy=%2Cinstall-add-ons%2Cinstall-an-add-on).
2. Search for "dbt Semantic Layer for Sheets" and install it.
3. After installing, open the Add-On menu and select the "dbt Semantic Layer for Sheets". This will open a custom menu to the right-hand side of your screen.
4. Authenticate with the dbt Cloud Environment ID and Service Token.
5. Start querying your metrics using the **Query Builder**!
- For more info on the menu functions, refer to [Custom menu key functions](#custom-menu-key-functions).

When querying your data with Google Sheets:

- It returns the data to the cell you have clicked on.
- The custom menu operation has a timeout limit of six (6) minutes.

## Custom menu key functions

The custom menu provides the following capabilities:

| Menu items | Description |
|---------------|-------------------------------------------------------|
| Metrics | Search and select metrics. |
| Group By | Search and select dimensions to group by. Dimensions are grouped by the entity of the semantic model they come from. |
| Granularity | Modify the granularity of the primary time dimension. |
| Where | Filter your data. This includes categorical and time filters. |
| Order By | Return your data ordered. |
| Limit | Set a limit for the rows of your output. |


## Filtering data

To use the filter functionality, choose the dimension you want to filter by and select the operation you want to filter on.
- If it's a categorical dimension, type in the dimension value you want to filter by (no quotes needed) and press enter.
- Continue adding additional filters as needed with AND and OR. If it's a time dimension, choose the operator and select from the calendar.

Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ This is an evolving guide that is meant to provide recommendations based on our

To build a dbt Semantic Layer integration:

- We offer a [JDBC](/docs/dbt-cloud-apis/sl-jdbc) API (and will soon offer a GraphQL API). Refer to the dedicated [dbt Semantic Layer API](/docs/dbt-cloud-apis/sl-api-overview) for more technical integration details.
- We offer a [JDBC](/docs/dbt-cloud-apis/sl-jdbc) API and [GraphQL API](/docs/dbt-cloud-apis/sl-graphql). Refer to the dedicated [dbt Semantic Layer API](/docs/dbt-cloud-apis/sl-api-overview) for more technical integration details.

- Familiarize yourself with the [dbt Semantic Layer](/docs/use-dbt-semantic-layer/dbt-sl) and [MetricFlow](/docs/build/about-metricflow)'s key concepts. There are two main objects:

Expand Down
10 changes: 9 additions & 1 deletion website/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -410,8 +410,16 @@ const sidebarSettings = {
items: [
"docs/use-dbt-semantic-layer/quickstart-sl",
"docs/use-dbt-semantic-layer/setup-sl",
"docs/use-dbt-semantic-layer/avail-sl-integrations",
"docs/use-dbt-semantic-layer/sl-architecture",
{
type: "category",
label: "Integrations",
link: { type: "doc", id: "docs/use-dbt-semantic-layer/avail-sl-integrations" },
items: [
"docs/use-dbt-semantic-layer/avail-sl-integrations",
//"docs/use-dbt-semantic-layer/gsheets",
],
},
],
},
{
Expand Down
34 changes: 25 additions & 9 deletions website/snippets/_sl-partner-links.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,27 @@
<!-- turn this list into cards or sections once more docs are provided -->
The dbt Semantic Layer integrations are capable of querying dbt metrics, importing definitions, surfacing the underlying data in partner tools, and more. These are the following tools that integrate with the dbt Semantic Layer:
The following tools integrate with the dbt Semantic Layer:

<div className="grid--3-col">

<Card
title="Hex"
body="Connect to Hex to query metrics, collaborate, and do more with data."
link="https://learn.hex.tech/docs/connect-to-data/data-connections/dbt-integration#dbt-semantic-layer-integration"
icon="dbt-bit"/>

<Card
title="Mode"
body="Connect to Mode to query metrics and deliver consistent insights."
link="https://mode.com/help/articles/supported-databases/#dbt-semantic-layer"
icon="dbt-bit"/>

<Card
title="Google Sheets (coming end of Oct)"
body="Connect to Google Sheets to query metrics and collaborate with teams. Available end of October."
icon="dbt-bit"/>


</div><br />

Before you connect to these tools, you'll need to first [set up the dbt Semantic Layer](/docs/use-dbt-semantic-layer/setup-sl) and [generate a service token](/docs/dbt-cloud-apis/service-tokens) to create **Semantic Layer Only** and **Metadata Only** permissions.

1. **Mode** &mdash; To learn more about integrating with Mode, check out their [documentation](https://mode.com/help/articles/supported-databases/#dbt-semantic-layer) for more info.
2. **Hex** &mdash; To learn more about integrating with Hex, check out their [documentation](https://learn.hex.tech/docs/connect-to-data/data-connections/dbt-integration#dbt-semantic-layer-integration) for more info. Additionally, refer to [dbt Semantic Layer cells](https://learn.hex.tech/docs/logic-cell-types/transform-cells/dbt-metrics-cells) to set up SQL cells in Hex.
3. **Google Sheets** &mdash; Google Sheets integration coming soon.
4. **Tools that allows you to write SQL** &mdash; They must meet one of the two criteria:
* Supports a generic JDBC driver option (such as DataGrip) or
* Supports Dremio and uses ArrowFlightSQL driver version 12.0.0 or higher.

Before you connect to these tools, you'll need to first [set up the dbt Semantic Layer](/docs/use-dbt-semantic-layer/setup-sl) and [generate a service token](/docs/dbt-cloud-apis/service-tokens) to create a Semantic Layer Only and Metadata Only service token.

0 comments on commit d8d564b

Please sign in to comment.