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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.1](https://github.com/cube-js/cube/compare/v1.6.0...v1.6.1) (2025-12-18)

**Note:** Version bump only for package cubejs

# [1.6.0](https://github.com/cube-js/cube/compare/v1.5.16...v1.6.0) (2025-12-18)

### Bug Fixes
Expand Down
4 changes: 3 additions & 1 deletion docs/pages/product/apis-integrations/core-data-apis.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ tools][ref-viz-tools]. Some of the features with partial support are listed belo
| [Hierarchies][ref-hierarchies] | [Microsoft Power BI][ref-powerbi] via the [DAX API][ref-dax-api]<br/>[Cube Cloud for Excel][ref-cube-cloud-for-excel]<br/>[Cube Cloud for Sheets][ref-cube-cloud-for-sheets]<br/>[Tableau][ref-tableau] via [Semantic Layer Sync][ref-sls]<br/><br/>Also, supported in [Playground][ref-playground] |
| Flat [folders][ref-folders] | [Microsoft Power BI][ref-powerbi] via the [DAX API][ref-dax-api]<br/>[Microsoft Excel][ref-excel] via the [MDX API][ref-mdx-api]<br/>[Cube Cloud for Excel][ref-cube-cloud-for-excel]<br/>[Cube Cloud for Sheets][ref-cube-cloud-for-sheets]<br/>[Tableau][ref-tableau] via [Semantic Layer Sync][ref-sls]<br/>[Apache Superset][ref-superset] via [Semantic Layer Sync][ref-sls]<br/>[Preset][ref-preset] via [Semantic Layer Sync][ref-sls]<br/><br/>Also, supported in [Playground][ref-playground] |
| Nested [folders][ref-folders] | [Microsoft Power BI][ref-powerbi] via the [DAX API][ref-dax-api]<br/>[Microsoft Excel][ref-excel] via the [MDX API][ref-mdx-api] |
| [Custom time formats][ref-custom-time-formats] | [Microsoft Excel][ref-excel] via the [MDX API][ref-mdx-api]<br/><br/>Also, supported in [Playground][ref-playground] and [Workbooks][ref-workbooks] |

## Authentication methods

Expand Down Expand Up @@ -77,4 +78,5 @@ tools][ref-viz-tools]:
[ref-superset]: /product/configuration/visualization-tools/superset
[ref-preset]: /product/configuration/visualization-tools/superset
[ref-playground]: /product/administration/workspace/playground

[ref-custom-time-formats]: /product/data-modeling/reference/types-and-formats#custom-time-formats
[ref-workbooks]: /product/exploration/workbooks
104 changes: 100 additions & 4 deletions docs/pages/product/data-modeling/reference/types-and-formats.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -214,11 +214,11 @@ engine][link-tesseract]. Tesseract is currently in preview. Use the

</WarningBox>

Unlike the `number` type which is used for calculations on measures (e.g.,
Unlike the `number` type which is used for calculations on measures (e.g.,
`SUM(revenue) / COUNT(*)`), `number_agg` indicates that the `sql` parameter contains
a direct SQL aggregate function.

The `sql` parameter is required and must include a custom aggregate function that returns a numeric
The `sql` parameter is required and must include a custom aggregate function that returns a numeric
value.

<CodeTabs>
Expand Down Expand Up @@ -646,8 +646,8 @@ cubes:

</CodeTabs>

Note that the type of the target column should be `TIMESTAMP`.
If your time-based column is type `DATE` or another temporal type,
Note that the type of the target column should be `TIMESTAMP`.
If your time-based column is type `DATE` or another temporal type,
you should cast it to a timestamp in the `sql` parameter of the dimension.

<ReferenceBox>
Expand Down Expand Up @@ -998,8 +998,104 @@ cubes:

</CodeTabs>

### Custom time formats

Dimensions with `time` type support custom formatting using
[POSIX strftime][link-strftime] format strings with [d3-time-format][link-d3-time-format] extensions.

<InfoBox>

Custom time formatting is subject to support in [visualization tools][ref-viz-tools].
Check [APIs & Integrations][ref-apis-support] for details.

</InfoBox>

<CodeTabs>

```javascript
cube(`orders`, {
// ...

dimensions: {
created_at: {
sql: `created_at`,
type: `time`,
format: `%Y-%m-%d %H:%M:%S`
}
}
})
```

```yaml
cubes:
- name: orders
# ...

dimensions:
- name: created_at
sql: created_at
type: time
format: "%Y-%m-%d %H:%M:%S"
```

</CodeTabs>

#### Common format examples

| Format string | Example output |
|---------------|----------------|
| `%m/%d/%Y %H:%M` | 12/04/2025 14:30 |
| `%Y-%m-%d %H:%M:%S` | 2025-12-04 14:30:00 |
| `%B %d, %Y` | December 04, 2025 |
| `%b %d, %Y` | Dec 04, 2025 |
| `%I:%M %p` | 02:30 PM |
| `%A, %B %d` | Thursday, December 04 |
| `Q%q %Y` | Q4 2025 |
| `Week %V, %Y` | Week 49, 2025 |

#### Supported format specifiers

| Specifier | Description |
|-----------|-------------|
| `%a` | Abbreviated weekday name |
| `%A` | Full weekday name |
| `%b` | Abbreviated month name |
| `%B` | Full month name |
| `%c` | Locale's date and time |
| `%d` | Day of month [01,31] |
| `%e` | Space-padded day of month |
| `%f` | Microseconds |
| `%g` | ISO 8601 year without century |
| `%G` | ISO 8601 year with century |
| `%H` | Hour (24-hour) [00,23] |
| `%I` | Hour (12-hour) [01,12] |
| `%j` | Day of year [001,366] |
| `%L` | Milliseconds |
| `%m` | Month [01,12] |
| `%M` | Minute [00,59] |
| `%p` | AM or PM |
| `%q` | Quarter [1,4] |
| `%Q` | Milliseconds since UNIX epoch |
| `%s` | Seconds since UNIX epoch |
| `%S` | Second [00,61] |
| `%u` | Monday-based weekday [1,7] |
| `%U` | Sunday-based week number [00,53] |
| `%V` | ISO 8601 week number |
| `%w` | Sunday-based weekday [0,6] |
| `%W` | Monday-based week number [00,53] |
| `%x` | Locale's date |
| `%X` | Locale's time |
| `%y` | Year without century [00,99] |
| `%Y` | Year with century |
| `%Z` | Time zone name |
| `%%` | Literal percent sign |

[ref-string-time-dims]: /product/data-modeling/recipes/string-time-dimensions
[ref-schema-ref-preaggs-rollup]:
/product/data-modeling/reference/pre-aggregations#rollup
[ref-calculated-measures]: /product/data-modeling/concepts/calculated-members#calculated-measures
[ref-drilldowns]: /product/apis-integrations/recipes/drilldowns
[link-strftime]: https://pubs.opengroup.org/onlinepubs/009695399/functions/strptime.html
[link-d3-time-format]: https://d3js.org/d3-time-format
[ref-viz-tools]: /product/configuration/visualization-tools
[ref-apis-support]: /product/apis-integrations/core-data-apis#data-modeling
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "1.6.0",
"version": "1.6.1",
"npmClient": "yarn",
"command": {
"bootstrap": {
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-api-gateway/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.1](https://github.com/cube-js/cube/compare/v1.6.0...v1.6.1) (2025-12-18)

**Note:** Version bump only for package @cubejs-backend/api-gateway

# [1.6.0](https://github.com/cube-js/cube/compare/v1.5.16...v1.6.0) (2025-12-18)

### Bug Fixes
Expand Down
10 changes: 5 additions & 5 deletions packages/cubejs-api-gateway/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@cubejs-backend/api-gateway",
"description": "Cube.js API Gateway",
"author": "Cube Dev, Inc.",
"version": "1.6.0",
"version": "1.6.1",
"repository": {
"type": "git",
"url": "https://github.com/cube-js/cube.git",
Expand All @@ -27,9 +27,9 @@
"dist/src/*"
],
"dependencies": {
"@cubejs-backend/native": "1.6.0",
"@cubejs-backend/query-orchestrator": "1.6.0",
"@cubejs-backend/shared": "1.6.0",
"@cubejs-backend/native": "1.6.1",
"@cubejs-backend/query-orchestrator": "1.6.1",
"@cubejs-backend/shared": "1.6.1",
"@ungap/structured-clone": "^0.3.4",
"assert-never": "^1.4.0",
"body-parser": "^1.19.0",
Expand All @@ -53,7 +53,7 @@
"zod": "^4.1.13"
},
"devDependencies": {
"@cubejs-backend/linter": "1.6.0",
"@cubejs-backend/linter": "1.6.1",
"@types/express": "^4.17.21",
"@types/jest": "^29",
"@types/jsonwebtoken": "^9.0.2",
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-athena-driver/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.1](https://github.com/cube-js/cube/compare/v1.6.0...v1.6.1) (2025-12-18)

**Note:** Version bump only for package @cubejs-backend/athena-driver

# [1.6.0](https://github.com/cube-js/cube/compare/v1.5.16...v1.6.0) (2025-12-18)

**Note:** Version bump only for package @cubejs-backend/athena-driver
Expand Down
10 changes: 5 additions & 5 deletions packages/cubejs-athena-driver/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@cubejs-backend/athena-driver",
"description": "Cube.js Athena database driver",
"author": "Cube Dev, Inc.",
"version": "1.6.0",
"version": "1.6.1",
"repository": {
"type": "git",
"url": "https://github.com/cube-js/cube.git",
Expand Down Expand Up @@ -30,13 +30,13 @@
"dependencies": {
"@aws-sdk/client-athena": "^3.22.0",
"@aws-sdk/credential-providers": "^3.22.0",
"@cubejs-backend/base-driver": "1.6.0",
"@cubejs-backend/shared": "1.6.0",
"@cubejs-backend/base-driver": "1.6.1",
"@cubejs-backend/shared": "1.6.1",
"sqlstring": "^2.3.1"
},
"devDependencies": {
"@cubejs-backend/linter": "1.6.0",
"@cubejs-backend/testing-shared": "1.6.0",
"@cubejs-backend/linter": "1.6.1",
"@cubejs-backend/testing-shared": "1.6.1",
"@types/ramda": "^0.27.40",
"typescript": "~5.2.2"
},
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-backend-cloud/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.1](https://github.com/cube-js/cube/compare/v1.6.0...v1.6.1) (2025-12-18)

**Note:** Version bump only for package @cubejs-backend/cloud

# [1.6.0](https://github.com/cube-js/cube/compare/v1.5.16...v1.6.0) (2025-12-18)

**Note:** Version bump only for package @cubejs-backend/cloud
Expand Down
6 changes: 3 additions & 3 deletions packages/cubejs-backend-cloud/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cubejs-backend/cloud",
"version": "1.6.0",
"version": "1.6.1",
"description": "Cube Cloud package",
"main": "dist/src/index.js",
"typings": "dist/src/index.d.ts",
Expand Down Expand Up @@ -30,15 +30,15 @@
"devDependencies": {
"@babel/core": "^7.24.5",
"@babel/preset-env": "^7.24.5",
"@cubejs-backend/linter": "1.6.0",
"@cubejs-backend/linter": "1.6.1",
"@types/fs-extra": "^9.0.8",
"@types/jest": "^29",
"jest": "^29",
"typescript": "~5.2.2"
},
"dependencies": {
"@cubejs-backend/dotenv": "^9.0.2",
"@cubejs-backend/shared": "1.6.0",
"@cubejs-backend/shared": "1.6.1",
"chokidar": "^3.5.1",
"env-var": "^6.3.0",
"form-data": "^4.0.0",
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-backend-maven/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.1](https://github.com/cube-js/cube/compare/v1.6.0...v1.6.1) (2025-12-18)

**Note:** Version bump only for package @cubejs-backend/maven

# [1.6.0](https://github.com/cube-js/cube/compare/v1.5.16...v1.6.0) (2025-12-18)

**Note:** Version bump only for package @cubejs-backend/maven
Expand Down
6 changes: 3 additions & 3 deletions packages/cubejs-backend-maven/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@cubejs-backend/maven",
"description": "Cube.js Maven Wrapper for java dependencies downloading",
"author": "Cube Dev, Inc.",
"version": "1.6.0",
"version": "1.6.1",
"license": "Apache-2.0",
"repository": {
"type": "git",
Expand Down Expand Up @@ -31,12 +31,12 @@
"dist/src/*"
],
"dependencies": {
"@cubejs-backend/shared": "1.6.0",
"@cubejs-backend/shared": "1.6.1",
"source-map-support": "^0.5.19",
"xmlbuilder2": "^2.4.0"
},
"devDependencies": {
"@cubejs-backend/linter": "1.6.0",
"@cubejs-backend/linter": "1.6.1",
"@types/jest": "^29",
"@types/node": "^20",
"jest": "^29",
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-backend-native/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.1](https://github.com/cube-js/cube/compare/v1.6.0...v1.6.1) (2025-12-18)

**Note:** Version bump only for package @cubejs-backend/native

# [1.6.0](https://github.com/cube-js/cube/compare/v1.5.16...v1.6.0) (2025-12-18)

**Note:** Version bump only for package @cubejs-backend/native
Expand Down
8 changes: 4 additions & 4 deletions packages/cubejs-backend-native/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cubejs-backend/native",
"version": "1.6.0",
"version": "1.6.1",
"author": "Cube Dev, Inc.",
"description": "Native module for Cube.js (binding to Rust codebase)",
"main": "dist/js/index.js",
Expand Down Expand Up @@ -36,7 +36,7 @@
"dist/js"
],
"devDependencies": {
"@cubejs-backend/linter": "1.6.0",
"@cubejs-backend/linter": "1.6.1",
"@types/jest": "^29",
"@types/node": "^20",
"cargo-cp-artifact": "^0.1.9",
Expand All @@ -47,8 +47,8 @@
"uuid": "^8.3.2"
},
"dependencies": {
"@cubejs-backend/cubesql": "1.6.0",
"@cubejs-backend/shared": "1.6.0",
"@cubejs-backend/cubesql": "1.6.1",
"@cubejs-backend/shared": "1.6.1",
"@cubejs-infra/post-installer": "^0.0.7"
},
"resources": {
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-backend-shared/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.1](https://github.com/cube-js/cube/compare/v1.6.0...v1.6.1) (2025-12-18)

**Note:** Version bump only for package @cubejs-backend/shared

# [1.6.0](https://github.com/cube-js/cube/compare/v1.5.16...v1.6.0) (2025-12-18)

**Note:** Version bump only for package @cubejs-backend/shared
Expand Down
4 changes: 2 additions & 2 deletions packages/cubejs-backend-shared/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cubejs-backend/shared",
"version": "1.6.0",
"version": "1.6.1",
"description": "Shared code for Cube.js backend packages",
"main": "dist/src/index.js",
"typings": "dist/src/index.d.ts",
Expand All @@ -27,7 +27,7 @@
},
"license": "Apache-2.0",
"devDependencies": {
"@cubejs-backend/linter": "1.6.0",
"@cubejs-backend/linter": "1.6.1",
"@types/bytes": "^3.1.5",
"@types/cli-progress": "^3.9.1",
"@types/decompress": "^4.2.7",
Expand Down
2 changes: 1 addition & 1 deletion packages/cubejs-backend-shared/src/env.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2080,7 +2080,7 @@ const variables: Record<string, (...args: any) => any> = {
.default('30')
.asInt(),
cubeStoreRollingWindowJoin: () => get('CUBEJS_CUBESTORE_ROLLING_WINDOW_JOIN')
.default('false')
.default('true')
.asBoolStrict(),
allowUngroupedWithoutPrimaryKey: () => get('CUBEJS_ALLOW_UNGROUPED_WITHOUT_PRIMARY_KEY')
.default(get('CUBESQL_SQL_PUSH_DOWN').default('true').asString())
Expand Down
Loading
Loading