Skip to content

Commit

Permalink
Merge branch 'master' into feature/support-seed-monitoring
Browse files Browse the repository at this point in the history
  • Loading branch information
haritamar authored Sep 4, 2024
2 parents a469dbf + 70e4a00 commit b509e74
Show file tree
Hide file tree
Showing 6 changed files with 1,148 additions and 911 deletions.
49 changes: 38 additions & 11 deletions docs/cloud/integrations/bi/power-bi.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,41 @@
title: "Power BI"
---

<Card
title="Power BI"
href="https://tally.so/r/3N6DlW?integration=Power%20BI"
icon={
<svg width="52" height="28" viewBox="0 0 52 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0.749516 4.776C0.749516 3.944 0.929516 3.204 1.28952 2.556C1.64952 1.9 2.14952 1.392 2.78952 1.032C3.43752 0.664 4.16952 0.48 4.98552 0.48C5.98552 0.48 6.84152 0.743999 7.55352 1.272C8.26552 1.8 8.74152 2.52 8.98152 3.432H6.72552C6.55752 3.08 6.31752 2.812 6.00552 2.628C5.70152 2.444 5.35352 2.352 4.96152 2.352C4.32952 2.352 3.81752 2.572 3.42552 3.012C3.03352 3.452 2.83752 4.04 2.83752 4.776C2.83752 5.512 3.03352 6.1 3.42552 6.54C3.81752 6.98 4.32952 7.2 4.96152 7.2C5.35352 7.2 5.70152 7.108 6.00552 6.924C6.31752 6.74 6.55752 6.472 6.72552 6.12H8.98152C8.74152 7.032 8.26552 7.752 7.55352 8.28C6.84152 8.8 5.98552 9.06 4.98552 9.06C4.16952 9.06 3.43752 8.88 2.78952 8.52C2.14952 8.152 1.64952 7.644 1.28952 6.996C0.929516 6.348 0.749516 5.608 0.749516 4.776ZM14.2221 9.084C13.4301 9.084 12.7021 8.9 12.0381 8.532C11.3821 8.164 10.8581 7.652 10.4661 6.996C10.0821 6.332 9.89014 5.588 9.89014 4.764C9.89014 3.94 10.0821 3.2 10.4661 2.544C10.8581 1.888 11.3821 1.376 12.0381 1.008C12.7021 0.64 13.4301 0.456 14.2221 0.456C15.0141 0.456 15.7381 0.64 16.3941 1.008C17.0581 1.376 17.5781 1.888 17.9541 2.544C18.3381 3.2 18.5301 3.94 18.5301 4.764C18.5301 5.588 18.3381 6.332 17.9541 6.996C17.5701 7.652 17.0501 8.164 16.3941 8.532C15.7381 8.9 15.0141 9.084 14.2221 9.084ZM14.2221 7.212C14.8941 7.212 15.4301 6.988 15.8301 6.54C16.2381 6.092 16.4421 5.5 16.4421 4.764C16.4421 4.02 16.2381 3.428 15.8301 2.988C15.4301 2.54 14.8941 2.316 14.2221 2.316C13.5421 2.316 12.9981 2.536 12.5901 2.976C12.1901 3.416 11.9901 4.012 11.9901 4.764C11.9901 5.508 12.1901 6.104 12.5901 6.552C12.9981 6.992 13.5421 7.212 14.2221 7.212ZM29.2117 0.576V9H27.1597V3.948L25.2757 9H23.6197L21.7237 3.936V9H19.6717V0.576H22.0957L24.4597 6.408L26.7997 0.576H29.2117ZM32.7394 0.576V9H30.6874V0.576H32.7394ZM41.7624 9H39.7104L36.2784 3.804V9H34.2264V0.576H36.2784L39.7104 5.796V0.576H41.7624V9ZM48.8419 3.24C48.6899 2.96 48.4699 2.748 48.1819 2.604C47.9019 2.452 47.5699 2.376 47.1859 2.376C46.5219 2.376 45.9899 2.596 45.5899 3.036C45.1899 3.468 44.9899 4.048 44.9899 4.776C44.9899 5.552 45.1979 6.16 45.6139 6.6C46.0379 7.032 46.6179 7.248 47.3539 7.248C47.8579 7.248 48.2819 7.12 48.6259 6.864C48.9779 6.608 49.2339 6.24 49.3939 5.76H46.7899V4.248H51.2539V6.156C51.1019 6.668 50.8419 7.144 50.4739 7.584C50.1139 8.024 49.6539 8.38 49.0939 8.652C48.5339 8.924 47.9019 9.06 47.1979 9.06C46.3659 9.06 45.6219 8.88 44.9659 8.52C44.3179 8.152 43.8099 7.644 43.4419 6.996C43.0819 6.348 42.9019 5.608 42.9019 4.776C42.9019 3.944 43.0819 3.204 43.4419 2.556C43.8099 1.9 44.3179 1.392 44.9659 1.032C45.6139 0.664 46.3539 0.48 47.1859 0.48C48.1939 0.48 49.0419 0.724 49.7299 1.212C50.4259 1.7 50.8859 2.376 51.1099 3.24H48.8419ZM12.1553 27.084C11.5393 27.084 10.9873 26.984 10.4993 26.784C10.0113 26.584 9.61928 26.288 9.32328 25.896C9.03528 25.504 8.88328 25.032 8.86728 24.48H11.0513C11.0833 24.792 11.1913 25.032 11.3753 25.2C11.5593 25.36 11.7993 25.44 12.0953 25.44C12.3993 25.44 12.6393 25.372 12.8153 25.236C12.9913 25.092 13.0793 24.896 13.0793 24.648C13.0793 24.44 13.0073 24.268 12.8633 24.132C12.7273 23.996 12.5553 23.884 12.3473 23.796C12.1473 23.708 11.8593 23.608 11.4833 23.496C10.9393 23.328 10.4953 23.16 10.1513 22.992C9.80728 22.824 9.51128 22.576 9.26328 22.248C9.01528 21.92 8.89128 21.492 8.89128 20.964C8.89128 20.18 9.17528 19.568 9.74328 19.128C10.3113 18.68 11.0513 18.456 11.9633 18.456C12.8913 18.456 13.6393 18.68 14.2073 19.128C14.7753 19.568 15.0793 20.184 15.1193 20.976H12.8993C12.8833 20.704 12.7833 20.492 12.5993 20.34C12.4153 20.18 12.1793 20.1 11.8913 20.1C11.6433 20.1 11.4433 20.168 11.2913 20.304C11.1393 20.432 11.0633 20.62 11.0633 20.868C11.0633 21.14 11.1913 21.352 11.4473 21.504C11.7033 21.656 12.1033 21.82 12.6473 21.996C13.1913 22.18 13.6313 22.356 13.9673 22.524C14.3113 22.692 14.6073 22.936 14.8553 23.256C15.1033 23.576 15.2273 23.988 15.2273 24.492C15.2273 24.972 15.1033 25.408 14.8553 25.8C14.6153 26.192 14.2633 26.504 13.7993 26.736C13.3353 26.968 12.7873 27.084 12.1553 27.084ZM20.4741 27.084C19.6821 27.084 18.9541 26.9 18.2901 26.532C17.6341 26.164 17.1101 25.652 16.7181 24.996C16.3341 24.332 16.1421 23.588 16.1421 22.764C16.1421 21.94 16.3341 21.2 16.7181 20.544C17.1101 19.888 17.6341 19.376 18.2901 19.008C18.9541 18.64 19.6821 18.456 20.4741 18.456C21.2661 18.456 21.9901 18.64 22.6461 19.008C23.3101 19.376 23.8301 19.888 24.2061 20.544C24.5901 21.2 24.7821 21.94 24.7821 22.764C24.7821 23.588 24.5901 24.332 24.2061 24.996C23.8221 25.652 23.3021 26.164 22.6461 26.532C21.9901 26.9 21.2661 27.084 20.4741 27.084ZM20.4741 25.212C21.1461 25.212 21.6821 24.988 22.0821 24.54C22.4901 24.092 22.6941 23.5 22.6941 22.764C22.6941 22.02 22.4901 21.428 22.0821 20.988C21.6821 20.54 21.1461 20.316 20.4741 20.316C19.7941 20.316 19.2501 20.536 18.8421 20.976C18.4421 21.416 18.2421 22.012 18.2421 22.764C18.2421 23.508 18.4421 24.104 18.8421 24.552C19.2501 24.992 19.7941 25.212 20.4741 25.212ZM29.9077 27.084C29.1157 27.084 28.3877 26.9 27.7237 26.532C27.0677 26.164 26.5437 25.652 26.1517 24.996C25.7677 24.332 25.5757 23.588 25.5757 22.764C25.5757 21.94 25.7677 21.2 26.1517 20.544C26.5437 19.888 27.0677 19.376 27.7237 19.008C28.3877 18.64 29.1157 18.456 29.9077 18.456C30.6997 18.456 31.4237 18.64 32.0797 19.008C32.7437 19.376 33.2637 19.888 33.6397 20.544C34.0237 21.2 34.2157 21.94 34.2157 22.764C34.2157 23.588 34.0237 24.332 33.6397 24.996C33.2557 25.652 32.7357 26.164 32.0797 26.532C31.4237 26.9 30.6997 27.084 29.9077 27.084ZM29.9077 25.212C30.5797 25.212 31.1157 24.988 31.5157 24.54C31.9237 24.092 32.1277 23.5 32.1277 22.764C32.1277 22.02 31.9237 21.428 31.5157 20.988C31.1157 20.54 30.5797 20.316 29.9077 20.316C29.2277 20.316 28.6837 20.536 28.2757 20.976C27.8757 21.416 27.6757 22.012 27.6757 22.764C27.6757 23.508 27.8757 24.104 28.2757 24.552C28.6837 24.992 29.2277 25.212 29.9077 25.212ZM42.8933 27H40.8413L37.4093 21.804V27H35.3573V18.576H37.4093L40.8413 23.796V18.576H42.8933V27Z" fill="#F2386C"/>
</svg>
}
>
Click for details
</Card>
After you connect Power BI, Elementary will automatically and continuously extend the lineage to the report/dashboard level.
This will provide you end-to-end data lineage to understand your downstream dependencies, called exposures.

### Create & authorize a Service Principal

Elementary makes use of a service principal secret to authenticate with the Power BI API on your behalf.
Please follow the [official guide by Microsoft](https://learn.microsoft.com/en-us/power-bi/developer/embedded/embed-service-principal) for creating and authorizing a service principal for Power BI.
Make sure you're going through all steps up until but not including "Step 5 - Embed your content" (Which isn't currently our goal).
Also make sure that the security group you've created is allowed access to every relevant Workspace in your account.
Do NOTICE - "My Workspace" isn't accessible by service principals and thus can't be analyzed with our product.


### Allow Power BI's Admin API
Go to Power BI's Admin portal -> Tenant Settings -> Admin API settings
Enable the following features, and apply at least for the Service principal's security group (created on the last step):
- `Service principals can access read-only admin APIs`
- `Enhance admin APIs responses with detailed metadata`
- `Enhance admin APIs responses with DAX and mashup expressions`

Those features will allow Elementary to get all required info for computing the data lineage graph.

### Connecting Power BI to Elementary

Navigate to the **Account settings > Environments** and choose the environment to which you would like to connect Elementary.
Choose the Power BI connection and provide the following details to validate and complete the integration.

- **Tenant:** Your Microsoft tenant which is usaully your company's domain. e.g. `my-company.com`
- **Client ID**: The client ID of the new Microsoft Entra app you've created on the first step.
- **Client Secret:** The new client secret you've created on the first step.


### Limitations

- Due to service principal limitations - we cannot analyze the default "My Workspace" Workspace.
- The lineage currently doesn't apply to the following entities: (But would be in the future)
- Paginated Reports
- Dataflows
- Datamarts
6 changes: 6 additions & 0 deletions elementary/cli/upgrade.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,16 @@
import click
from packaging import version

from elementary.config.config import Config
from elementary.utils import package


def recommend_version_upgrade():
config = Config()

if config.disable_elementary_version_check:
return

try:
latest_version = package.get_latest_package_version()
current_version = package.get_package_version()
Expand Down
4 changes: 4 additions & 0 deletions elementary/config/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,10 @@ def __init__(
run_dbt_deps_if_needed, config.get("run_dbt_deps_if_needed"), True
)

self.disable_elementary_version_check = config.get(
"disable_elementary_version_check", False
)

def _load_configuration(self) -> dict:
if not os.path.exists(self.config_dir):
os.makedirs(self.config_dir)
Expand Down
Loading

0 comments on commit b509e74

Please sign in to comment.