Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion _docs/latest/cloud/cloud-vs-self-hosting.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,4 @@ Metabase also has a paid version that ships with all of the bells and whistles (
- [Metabase Pro](/product/pro)
- [Metabase Enterprise](/product/enterprise)

You can self-host this paid version, or have have us host it for you on Metabase Cloud for no additional cost. We don't charge more because we believe you'll have such a better experience that it'll be easier for us to support you.
You can self-host this paid version, or have us host it for you on Metabase Cloud for no additional cost. We don't charge more because we believe you'll have such a better experience that it'll be easier for us to support you.
2 changes: 1 addition & 1 deletion _docs/latest/cloud/how-billing-works.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Companies with large number of users can talk to sales about our [Enterprise pla
Though we bill you monthly, we calculate how much you owe each day. So, say you're on the [Starter plan](/pricing/). Your monthly bill would include:

- $100 flat payment for the month. This payment additionally covers the first five people who use your Metabase that month. If you have fewer than five people using your Metabase, your bill will still be $100 that month.
- Each additional person costs \$6, prorated for how many days their [accounts were available](#what-counts-as-a-user-account) that month. So if an account only existed for the last 10 days of your 30 day billing period, you'd only be charged for those 10 days, not for the full 30 days. Same goes if you deactivated an account prior to the end of the billing period, you'll only be charged for the days when the account was available for use during that billing period. Basically, you only ever pay for all accounts in your Metabase that haven't been deactivated yet.
- Each additional person costs \$6, prorated for how many days their [accounts were available](#what-counts-as-a-user-account) that month. So if an account only existed for the last 10 days of your 30 day billing period, you'd only be charged for those 10 days, not for the full 30 days. Same goes if you deactivated an account before the end of the billing period, you'll only be charged for the days when the account was available for use during that billing period. Basically, you only ever pay for all accounts in your Metabase that haven't been deactivated yet.

## How annual billing works

Expand Down
4 changes: 2 additions & 2 deletions _docs/latest/developers-guide/api-changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ latest: true
When setting `archived` to `false`, you may optionally also provide a `collection_id` (for Dashboards or Cards) or a
`parent_id` (for Collections). In this case, the entity will be re-parented to the specified Collection when it is
moved from the Trash. If a new `collection_id` or `parent_id` is not provided, the entity will be moved back to its
original location if possible. If this is not possible (for example, the original location is also in the Trash) an
original location if possible. If this is impossible (for example, the original location is also in the Trash) an
error will occur.

- `/api/metric`
Expand Down Expand Up @@ -132,7 +132,7 @@ NOTE: These endpoint changes were added in 0.49.3, and a bug in `GET /api/embed/

The above endpoints now accept the `format_rows` query parameter. It is an optional boolean parameter that will default to `true` if not included in the request.
When `format_rows` is `true`, the export will have formatting applied such that the values match what they appear as in the app.
When `format_rows` is `false`, formatting is not applied and exports will behave as they did prior to 0.49.0.
When `format_rows` is `false`, formatting is not applied and exports will behave as they did before 0.49.0.

The value of `format_rows` has no effect when exporting xlsx files.

Expand Down
12 changes: 6 additions & 6 deletions _docs/latest/developers-guide/driver-changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ latest: true

- Added a feature `:multi-level-schema` for drivers that support hierarchical levels between database and schema. Such as databricks' catalog. Defaults to false.

- Added the multi-method `adjust-schema-qualification` that allows drivers to to qualify, or unqualify table schemas based on enabling or disabling multi-level-schema support. Drivers may need to implement `sql.qp/->honeysql [driver ::h2x/identifier]` to properly quote fully qualified schemas.
- Added the multi-method `adjust-schema-qualification` that allows drivers to qualify, or unqualify table schemas based on enabling or disabling multi-level-schema support. Drivers may need to implement `sql.qp/->honeysql [driver ::h2x/identifier]` to properly quote fully qualified schemas.

- Added the multi-method `float-dbtype` which returns the name of the float type we coerce to for coercion strategies and the `float()` custom expression function.

Expand Down Expand Up @@ -199,7 +199,7 @@ latest: true
for better performance when saving Questions. Refer to the method docstring for more information and where to find
an example implementation.

- Prior to 0.51.0, to generate SQL queries with inline parameters, Metabase would generate a parameterized SQL string,
- Before 0.51.0, to generate SQL queries with inline parameters, Metabase would generate a parameterized SQL string,
then attempt to parse the SQL replace and replace `?` placeholders with inline values from the driver method
`metabase.driver.sql.util.unprepare/unprepare-value`. In 0.51.0+, Metabase instead generates these queries using
Honey SQL 2's `:inline` option, eliminating the need to parse and replace `?` placeholders. As such, the
Expand Down Expand Up @@ -277,7 +277,7 @@ latest: true
- Similarly, `metabase.test.data.sql-jdbc.execute/execute-sql!` and helper functions like
`metabase.test.data.sql-jdbc.execute/sequentially-execute-sql!` are now called with a `java.sql.Connection`
instead of both a `DatabaseDefinition` and either `:server` or `:db` _context_; the appropriate connection type is
created automatically and passed in in the calling code. Update your method implementations and usages
created automatically and passed in the calling code. Update your method implementations and usages
accordingly.

- Added method `metabase.test.data.interface/dataset-already-loaded?` to check if a test dataset has already been
Expand Down Expand Up @@ -410,7 +410,7 @@ latest: true
- New feature `:identifiers-with-spaces` has been added to indicate where a driver supports identifiers like table or
column names that contains a space character. Defaults to `false`.

- New feature `:uuid-type` has been added to indicate that this database is able to distinguish and filter against UUIDs.
- New feature `:uuid-type` has been added to indicate that this database can distinguish and filter against UUIDs.
Only a few database support native UUID types. The default is `false`.

## Metabase 0.49.22
Expand Down Expand Up @@ -534,7 +534,7 @@ latest: true
new function takes a Field as returned by `lib.metadata/field`, i.e. a `kebab-case` map.

- Tests should try to avoid using any of the `with-temp` helpers or application database objects; instead, use the
metadata functions above and and the helper _metadata providers_ in `metabase.lib`, `metabase.lib.test-util`, and
metadata functions above and the helper _metadata providers_ in `metabase.lib`, `metabase.lib.test-util`, and
`metabase.query-processor.test-util` for mocking them, such as `mock-metadata-provider`,
`metabase-provider-with-cards-for-queries`, `remap-metadata-provider`, and `merged-mock-metadata-provider`.

Expand Down Expand Up @@ -789,7 +789,7 @@ differences between the library versions.

#### Breaking Changes in 0.46.0 related to the Honey SQL 2 transition

**Note: these breaking changes will hopefully be fixed before 0.46.0 ships. This will be updated if they are.**
**Note: we expect these breaking changes to be fixed before 0.46.0 ships. This will be updated if they are.**

The classes `metabase.util.honeysql_extensions.Identifer` and `metabase.util.honeysql_extensions.TypedHoneySQLForm`
have been moved to `metabase.util.honey_sql_1.Identifer` and `metabase.util.honey_sql_1.TypedHoneySQLForm`,
Expand Down
4 changes: 2 additions & 2 deletions _docs/latest/embedding/embedded-analytics-js.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ The exact customization options you see will depend on what type of entity you'r

![Customizing embeds](./images/embed-flow-options.png)

You'll also be be able to pick brand, text, and background color used for all your embeds. To configure other colors (e.g. secondary colors, query builder colors etc), as well as font, you can specify a [theme](#theming) in your embed code snippet.
You'll also be able to pick brand, text, and background color used for all your embeds. To configure other colors (e.g. secondary colors, query builder colors etc), as well as font, you can specify a [theme](#theming) in your embed code snippet.

All the customization options you select in this interactive flow will be reflected in the parameter values in the embed code, so you'll be able to adjust them later by editing the embed snippet.

Expand Down Expand Up @@ -120,7 +120,7 @@ Here's an example of a script:

Note the `defer` attribute and the reference to your Metabase URL in the script that loads `embed.js` library.

If you're embedding multiple entities on the same page, you only need to include the `<script>` tags once globally.
If you're embedding multiple entities in a single page, you only need to include the `<script>` tags once globally.

You can also generate the code snippet for Embedded Analytics JS interactively in Metabase through **+ New > Embed**. Check out the [Quickstart](#quickstart).

Expand Down
2 changes: 1 addition & 1 deletion _docs/latest/embedding/public-links.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ latest: true

> Only admins can create public links and iframes.

Admins can create and share public links (URLs) for questions and dashboards. People can view them as standalone destinations (URLs) or as embedded iframes in another page or app. In both cases, the public item will display static (view-only) results of your question or dashboard, so visitors won't be able to drill-down into the underlying data on their own.
Admins can create and share public links (URLs) for questions and dashboards. People can view them as standalone destinations (URLs) or as embedded iframes in another page or app. In both cases, the public item will display static (view-only) results of your question or dashboard, so visitors won't be able to drill down into the underlying data on their own.

## Create a public link for a question

Expand Down
2 changes: 1 addition & 1 deletion _docs/latest/embedding/sdk/quickstart-with-sample-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ From any Metabase page, click on the **gear** icon in the upper right and select

Turn on:

- Embedded analytics SDK
- Embedded analytics SDK (it's in the **Modular** section)
- Static embedding

Otherwise, this whole thing is hopeless.
Expand Down
2 changes: 1 addition & 1 deletion _docs/latest/embedding/sdk/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ yarn add @metabase/embedding-sdk-react@{next-major-version-number}-stable

See more on [SDK versions](./version).

### If there are breaking changes, make the necessary changes to your application code
### If there are deprecations or breaking changes, make the necessary changes to your application code

Breaking changes are rare, but if you do need to make changes, we'll mention it in the release notes for the new major version and have docs that walk you through the changes.

Expand Down
2 changes: 1 addition & 1 deletion _docs/latest/exploration-and-organization/start.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ View changes to a question, dashboard or model and revert to previous versions.

## [Delete and restore items](./delete-and-restore)

Move outdated outdated questions, models, and dashboards to trash, or delete them permanently.
Move outdated questions, models, and dashboards to trash, or delete them permanently.

## [Data reference](./data-model-reference)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ If you've already been running Metabase with the default application database (H

Here's an example `docker-compose.yml` file for running Metabase with a PostgreSQL database `metabaseappdb`:

> This is an example file and and is not meant to be used when running Metabase in a production environment. Please refer to our guide about [How to run Metabase in production](/learn/metabase-basics/administration/administration-and-operation/metabase-in-production)
> This is an example file and is not meant to be used when running Metabase in a production environment. Please refer to our guide about [How to run Metabase in production](/learn/metabase-basics/administration/administration-and-operation/metabase-in-production)

```yml
services:
Expand Down Expand Up @@ -352,7 +352,7 @@ We currently support the following [environment variables](../configuring-metaba

In order for the Metabase container to read the files and use the contents as a secret, the environment variable name needs to be appended with a "\_FILE" as explained above.

> This is an example file and and is not meant to be used when running Metabase in a production environment. Please refer to our guide about [How to run Metabase in production](/learn/metabase-basics/administration/administration-and-operation/metabase-in-production).
> This is an example file and is not meant to be used when running Metabase in a production environment. Please refer to our guide about [How to run Metabase in production](/learn/metabase-basics/administration/administration-and-operation/metabase-in-production).

## Troubleshooting

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ If you've already been running Metabase with the default application database (H

### Running Metabase as a service

We can use the [systemd](https://systemd.io/) initialization service to register a Metabase service that can be started and stopped automatically. Prior to executing this process, ensure that the Metabase container is operational. Then, utilize Podman's built-in feature to generate the service file as follows:
We can use the [systemd](https://systemd.io/) initialization service to register a Metabase service that can be started and stopped automatically. Before executing this process, ensure that the Metabase container is operational. Then, utilize Podman's built-in feature to generate the service file as follows:

```
sudo podman generate systemd --new --name metabase > metabase.service
Expand Down
2 changes: 1 addition & 1 deletion _docs/latest/people-and-groups/managing.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ To add a user attribute manually:
4. Click **+ Add an attribute**.
5. Add the name of the user attribute under "Key". For example, "Department".
6. Add the value that applies to the specific person. For example, "Engineering".
7. Optional: [create a group](#creating-a-group) to organize people who will get get row and column security.
7. Optional: [create a group](#creating-a-group) to organize people who will get row and column security.
8. Add the person to the group.

You can also sync user attributes from your identity provider [via SSO](./start#authentication).
Expand Down
4 changes: 2 additions & 2 deletions _docs/latest/permissions/impersonation.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ For impersonation access to work, you'll first need to set up roles in your data

### Set up Metabase database connection for impersonation

Impersonation uses database roles to run queries on your database, but there still needs to be a default role that that will be used to run operations like [sync, scans, and fingerprinting](../databases/sync-scan). So the user account that Metabase uses to [connect to your database](../databases/connecting) should have access to everything in that database that any Metabase group may need access to, as that database user account is what Metabase uses to sync table information.
Impersonation uses database roles to run queries on your database, but there still needs to be a default role that will be used to run operations like [sync, scans, and fingerprinting](../databases/sync-scan). So the user account that Metabase uses to [connect to your database](../databases/connecting) should have access to everything in that database that any Metabase group may need access to, as that database user account is what Metabase uses to sync table information.

You can then create roles in the database that have more restrictive access to the database (like row-level or table-level security). When the role is passed to the database using impersonation, the engine will return a subset of the data, or restrict the query altogether.

Expand Down Expand Up @@ -128,7 +128,7 @@ People in one group can have different attribute values, but must have the same

1. In Metabase, hit Cmd/Ctrl + K to bring up the command palette and search for **Permissions**, or go directly to **Admin settings** > **Permissions** > **Data**.

2. Select the group that you want to to associate with the database role you created.
2. Select the group that you want to associate with the database role you created.

3. Select the database to configure access to.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ If you use a datetime dimension in the **Group by** block, Metabase will accumul

![Cumulative count by category, source, and created at](../../images/cumulative-date-category.png)

If there are multiple datetime dimensions (including multiple groupings by the same datetime column), Metabase will accumulate along the the more granular dimension, regardless of their order. For example, if you're grouping by "Created At: Month" and "Viewed At: Week", Metabase will accumulate along "Viewed At: Week".
If there are multiple datetime dimensions (including multiple groupings by the same datetime column), Metabase will accumulate along the more granular dimension, regardless of their order. For example, if you're grouping by "Created At: Month" and "Viewed At: Week", Metabase will accumulate along "Viewed At: Week".

![Cumulative count by two datetime fields](../../images/cumulative-multiple-datetimes.png)

Expand Down
2 changes: 1 addition & 1 deletion _docs/latest/questions/query-builder/expressions/week.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,5 +103,5 @@ Here's an incomplete list of example functions:
| -------- | ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| Postgres | `EXTRACT(WEEK FROM TIMESTAMP created_at)` | ISO algorithm |
| MySQL | `WEEKOFYEAR("2017-06-15")` | The first day of the week is Monday and the first week of the year has more than 3 days. Alternative functions exist. |
| BigQuery | `EXTRACT(WEEK FROM DATE ticreated_at)` | Weeks numbered from 0. Dates prior to the first Sunday of the year are in week 0. Alternative functions exist. |
| BigQuery | `EXTRACT(WEEK FROM DATE ticreated_at)` | Weeks numbered from 0. Dates before the first Sunday of the year are in week 0. Alternative functions exist. |
| Redshift | `DATE_PART(week, TIMESTAMP created_at)` | ISO algorithm |
2 changes: 1 addition & 1 deletion _docs/latest/questions/visualizations/funnel.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ By default, Metabase will present steps in the same order as they appear in the

To create a query with a result that has the shape required for a funnel chart, you'll probably need to summarize your data.

If your (original, unaggregated) data already contains a field with the the step for every data point, you can build a simple query with a breakout by steps:
If your (original, unaggregated) data already contains a field with the step for every data point, you can build a simple query with a breakout by steps:

![A query in the query builder used to build a funnel chart](../images/build-a-funnel-query.png)

Expand Down
Loading