Skip to content

Commit d2b125e

Browse files
authored
docs: DAX API for Power BI, Cube Cloud for Excel (#9224)
* New structure * Excel pages * DAX API / Power BI pages * Updates
1 parent 84f90c0 commit d2b125e

File tree

23 files changed

+678
-195
lines changed

23 files changed

+678
-195
lines changed

docs/pages/guides/recipes/auth/sql-api-ldap.mdx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@ Here's a step-by-step breakdown of the authentication flow:
2626
* Cube verifies the credentials via the Secure LDAP service.
2727
* If credentials are correct, users get access to the dataset.
2828

29+
<InfoBox>
30+
31+
In this recipe, the SQL API is used to connect to [Power BI][ref-powerbi].
32+
Currently, it's recommended to use the [DAX API][ref-dax-api].
33+
34+
</InfoBox>
35+
2936
## Configuration
3037

3138
To verify the credentials, use the
@@ -177,4 +184,8 @@ module.exports = {
177184
}
178185
};
179186

180-
```
187+
```
188+
189+
190+
[ref-dax-api]: /product/apis-integrations/dax-api
191+
[ref-powerbi]: /product/configuration/visualization-tools/powerbi

docs/pages/product/apis-integrations.mdx

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,37 +9,36 @@ With a rich set of APIs, Cube can power and deliver data to all kinds of data
99
applications.
1010

1111
[Data APIs](#data-apis) are used to run queries against the data model.
12-
Despite using various transports and query formats, all data APIs share common
12+
Despite varying protocols and query formats, all data APIs share common
1313
[querying concepts][ref-queries].
1414

15-
<Diagram src="https://ucarecdn.com/023ca78a-aa96-493a-9799-95955a6d8948/" />
15+
<Diagram src="https://ucarecdn.com/4abc9729-66a3-489f-9d48-0bf27e728c87/" />
1616

1717
Also, there are [management APIs](#management-apis) to control Cube deployments
1818
externally.
1919

20-
<Diagram src="https://ucarecdn.com/8b9c0a27-c9bf-4f32-86b7-223c9fae8cc8/" />
20+
<Diagram src="https://ucarecdn.com/3ff02e30-a010-480d-b6d6-3b927baa0dfe/" />
2121

2222
## Data APIs
2323

2424
A few rules of thumb to help you choose an API:
2525

26-
* When implementing internal or self-serve [business intelligence][cube-issbi] use
27-
case, pick the [SQL API][ref-sql-api] and [Semantic Layer Sync][ref-sls]. The
28-
SQL API allows querying Cube with a Postgres-compatible [dialect of
29-
SQL][ref-sql-syntax], either by writing queries manually or generating them with
30-
BI tools.
26+
* To connect to [Microsoft Power BI][ref-powerbi], use the [DAX API][ref-dax-api].
3127

32-
* To connect to Microsoft Excel, use the [MDX API][ref-mdx-api]. To connect to
33-
Google Sheets, use [Cube Cloud for Sheets][ref-cube-cloud-for-sheets].
28+
* To connect to [Microsoft Excel][ref-excel], use either the [MDX API][ref-mdx-api]
29+
or [Cube Cloud for Excel][ref-cube-cloud-for-excel].
3430

35-
* When implementing [embedded analytics][cube-ea] and [real-time
36-
analytics][cube-rta] use cases, pick [REST API][ref-rest-api] or [GraphQL
37-
API][ref-graphql-api]. Also, the [JavaScript SDK][ref-js-sdk] will simplify
38-
integration with your front-end code. The REST API uses a [JSON-based query
39-
format][ref-json-syntax], and the GraphQL API accepts [GraphQL
40-
queries][ref-graphql-syntax].
31+
* To connect to [Google Sheets][ref-sheets], use [Cube Cloud for Sheets][ref-cube-cloud-for-sheets].
4132

42-
* For AI use cases, consider using the [AI API][ref-ai-api].
33+
* For internal or self-serve [business intelligence][cube-issbi], use
34+
[Semantic Layer Sync][ref-sls] in case it supports your BI tools.
35+
Otherwise, connect via the [SQL API][ref-sql-api] directly.
36+
37+
* For [embedded analytics][cube-ea] and [real-time analytics][cube-rta], use
38+
[REST API][ref-rest-api] or [GraphQL API][ref-graphql-api]. When using the REST API,
39+
the [JavaScript SDK][ref-js-sdk] can simplify integration with your front-end code.
40+
41+
* For AI use cases, use the [AI API][ref-ai-api].
4342

4443
<ReferenceBox>
4544

@@ -53,21 +52,21 @@ for an unofficial, community-maintained [client library for Python](https://gith
5352
Support for data modeling features differ across APIs, integrations, and [visualization
5453
tools][ref-viz-tools]. Some of the features with partial support are listed below:
5554

56-
| Feature | Supported in | Not supported in |
55+
| Feature | Supported in | Not supported in |
5756
| --- | --- | --- |
58-
| [Hierarchies][ref-hierarchies] | [Tableau][ref-tableau] via [Semantic Layer Sync][ref-sls]<br/>Cube Cloud for Excel<br/>[Cube Cloud for Sheets][ref-cube-cloud-for-sheets] | All other tools |
59-
| [Folders][ref-folders] | [Tableau][ref-tableau] via [Semantic Layer Sync][ref-sls]<br/>Cube Cloud for Excel<br/>[Cube Cloud for Sheets][ref-cube-cloud-for-sheets] | All other tools |
57+
| [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] | All other tools |
58+
| [Folders][ref-folders] | [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] | All other tools |
6059

6160
### Authentication methods
6261

6362
Support for authentication methods differ across APIs, integrations, and [visualization
6463
tools][ref-viz-tools]:
6564

66-
| Method | Supported in |
65+
| Method | Supported in |
6766
| --- | --- |
68-
| [User name and password][ref-auth-user-pass] | [SQL API][ref-sql-api] and [Semantic Layer Sync][ref-sls]<br/>[MDX API][ref-mdx-api] |
69-
| [Identity provider][ref-auth-idp] | Cube Cloud for Excel<br/>[Cube Cloud for Sheets][ref-cube-cloud-for-sheets] |
70-
| [Access token][ref-auth-tokens] | [REST API][ref-rest-api]<br/>[GraphQL API][ref-graphql-api]<br/>[AI API][ref-ai-api] |
67+
| [User name and password][ref-auth-user-pass] | [DAX API][ref-dax-api]<br/>[MDX API][ref-mdx-api]<br/>[Semantic Layer Sync][ref-sls]<br/>[SQL API][ref-sql-api] |
68+
| [Identity provider][ref-auth-idp] | [Cube Cloud for Excel][ref-cube-cloud-for-excel]<br/>[Cube Cloud for Sheets][ref-cube-cloud-for-sheets] |
69+
| [Access token][ref-auth-tokens] | [REST API][ref-rest-api]<br/>[GraphQL API][ref-graphql-api]<br/>[AI API][ref-ai-api] |
7170

7271
## Management APIs
7372

@@ -79,6 +78,7 @@ API][ref-orchestration-api].
7978
[cube-ea]: https://cube.dev/use-cases/embedded-analytics
8079
[cube-rta]: https://cube.dev/use-cases/real-time-analytics
8180
[ref-queries]: /product/apis-integrations/queries
81+
[ref-dax-api]: /product/apis-integrations/dax-api
8282
[ref-sql-api]: /product/apis-integrations/sql-api
8383
[ref-rest-api]: /product/apis-integrations/rest-api
8484
[ref-graphql-api]: /product/apis-integrations/graphql-api
@@ -87,13 +87,14 @@ API][ref-orchestration-api].
8787
[ref-orchestration-api]: /product/apis-integrations/orchestration-api
8888
[ref-sls]: /product/apis-integrations/semantic-layer-sync
8989
[ref-js-sdk]: /product/apis-integrations/javascript-sdk
90-
[ref-sql-syntax]: /product/apis-integrations/sql-api#querying-fundamentals
91-
[ref-json-syntax]: /product/apis-integrations/rest-api/query-format
92-
[ref-graphql-syntax]: /product/apis-integrations/graphql-api#getting-started
90+
[ref-cube-cloud-for-excel]: /product/apis-integrations/microsoft-excel
9391
[ref-cube-cloud-for-sheets]: /product/apis-integrations/google-sheets
9492
[ref-viz-tools]: /product/configuration/visualization-tools
9593
[ref-hierarchies]: /reference/data-model/hierarchies
9694
[ref-folders]: /reference/data-model/view#folders
95+
[ref-powerbi]: /product/configuration/visualization-tools/powerbi
96+
[ref-excel]: /product/configuration/visualization-tools/excel
97+
[ref-sheets]: /product/configuration/visualization-tools/google-sheets
9798
[ref-tableau]: /product/configuration/visualization-tools/tableau
9899
[ref-auth-user-pass]: /product/auth#user-name-and-password
99100
[ref-auth-idp]: /product/auth#identity-provider

docs/pages/product/apis-integrations/_meta.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
module.exports = {
22
"queries": "Queries",
3+
"dax-api": "DAX API",
4+
"mdx-api": "MDX API",
5+
"microsoft-excel": "Cube Cloud for Excel",
6+
"google-sheets": "Cube Cloud for Sheets",
37
"semantic-layer-sync": "Semantic Layer Sync",
48
"sql-api": "SQL API",
59
"rest-api": "REST API",
610
"graphql-api": "GraphQL API",
7-
"mdx-api": "MDX API",
8-
"google-sheets": "Cube Cloud for Sheets",
911
"ai-api": "AI API",
1012
"javascript-sdk": "JavaScript SDK",
1113
"orchestration-api": "Orchestration API",
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# DAX API
2+
3+
The DAX API enables Cube to connect to [Microsoft Power BI][ref-powerbi].
4+
It derives its name from [data analysis expressions][link-dax], a query language
5+
for Power BI and SQL Server Analysis Services.
6+
7+
Unlike the [SQL API][ref-sql-api], it provides a native experience and superior
8+
support for Power BI features.
9+
10+
<SuccessBox>
11+
12+
The DAX API is available in Cube Cloud on [Enterprise and above](https://cube.dev/pricing) product tiers.
13+
It also requires the M [deployment tier](/product/deployment/cloud/pricing#deployment-tiers).
14+
15+
</SuccessBox>
16+
17+
<WarningBox>
18+
19+
The DAX API is currently in preview. Please [contact us](https://cube.dev/contact) to enable it for your account.
20+
21+
</WarningBox>
22+
23+
Read below about the DAX API [configuration](#configuration),
24+
[authentication](#authentication), and [using it](#using-dax-api-with-power-bi) with Power BI.
25+
26+
See the [DAX API reference][ref-ref-dax-api] for the list of supported DAX functions.
27+
28+
<YouTubeVideo
29+
url="https://www.youtube.com/embed/vgrFPOMuJJs"
30+
aspectRatio={8/5}
31+
/>
32+
33+
## Configuration
34+
35+
<WarningBox>
36+
37+
Please contact the customer success team in Cube Cloud so we can guide you
38+
through the configuration.
39+
40+
</WarningBox>
41+
42+
To enable or disable the DAX API on a specific deployment, go to <Btn>Settings</Btn>
43+
in the Cube Cloud sidebar, then <Btn>Configuration</Btn>, and then toggle the
44+
<Btn>Enable DAX API</Btn> option.
45+
46+
## Authentication
47+
48+
The DAX API supports the user name and password authentication method.
49+
50+
## Using DAX API with Power BI
51+
52+
<InfoBox>
53+
54+
The DAX API works only with [views][ref-views], not cubes.
55+
56+
</InfoBox>
57+
58+
{/*
59+
60+
TODO
61+
62+
*/}
63+
64+
### Connection methods
65+
66+
Power BI provides [three methods][link-powerbi-connection] to connect to data
67+
sources: _live connection_, _DirectQuery_, and _import mode_.
68+
69+
| | Live connection | DirectQuery | <nobr>Import mode</nobr> |
70+
| --- | --- | --- | --- |
71+
| Data location | 🟢 Data source | 🟢 Data source | 🟡 Power BI |
72+
| Data freshness | 🟢 Real-time data | 🟢 Real-time data | 🟡 Stale copy |
73+
| Semantic model | <nobr>🟢 Up-to-date model</nobr> | 🟡 Stale copy | 🟡 Stale copy |
74+
| Queries | <nobr>🟢 Composed in UI</nobr><br/><nobr>🔴 No custom queries</nobr> | <nobr>🟢 Composed in UI</nobr><br/><nobr>🟢 Custom queries</nobr> | <nobr>🟢 Composed in UI</nobr><br/><nobr>🟢 Custom queries</nobr> |
75+
76+
__It's recommended to use a _live connection_ whenever possible.__ Use _DirectQuery_
77+
if you need to write your own DAX queries, but be aware that you must manually
78+
synchronize semantic models as they evolve. _Import mode_ is not recommended, as
79+
it removes the benefits of using a semantic layer.
80+
81+
82+
[ref-powerbi]: /product/configuration/visualization-tools/powerbi
83+
[link-dax]: https://learn.microsoft.com/en-us/dax/
84+
[ref-sql-api]: /product/apis-integrations/sql-api
85+
[ref-ref-dax-api]: /product/apis-integrations/dax-api/reference
86+
[ref-views]: /product/data-modeling/concepts#views
87+
[link-powerbi-connection]: https://learn.microsoft.com/en-us/power-bi/connect-data/service-live-connect-dq-datasets
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
"reference": "Reference"
3+
}

0 commit comments

Comments
 (0)