#Prerequisities:
Before installing this package, ensure that you have the following packages: pandas (version 2.2.1 or higher) and pyadomd (version 0.1.1 or higher).
It's assumed that you hold administrative rights for the PowerBI dataset, Analysis Services, or localhost.
#Overview
This project deals with extracting information about data models objects and their dependencies.
#Key Project Parameters Explained:
data_source: It provides two options for specifying the data source: "folder" or "live".
folder: If you choose folder as the data source, you need to provide a folder path where the project will look for three specific csv files and you should also provide folder_path parameter along with it.
live: you can connect to analysis services or powerbi datasets to get their objects and thier dependencies. If you choose live as the data source, you need to provider server, database parameters along with it.
folder_path: it assumes this path contains the tables.csv, measures.csv and calc_dependency.csv files in it. follow the below instructions to generate the following files in dax studio.
tables.csv: This file contains information about the tables in the data model. You can generate this file in Dax Studio using the provided DAX DMV function:
%SQL
Select * from $SYSTEM.TMSCHEMA_TABLES
measures.csv: This file contains information about the measures defined in the data model. You can generate this file in Dax Studio using the provided DAX DMV function:
%SQL
select * from $SYSTEM.TMSCHEMA_MEASURES
calc_dependency.csv: This file contains information about the calculation dependencies within the data model. You can generate this file in Dax Studio using the provided DAX DMV function:
%SQL
select * from $SYSTEM.DISCOVER_CALC_DEPENDENCY
server: The server name or address of the Analysis Services server, Power BI dataset server, or even your local machine.
database: The specific catalog name or ID of the data model you want to analyze.
Additional Parameter:
filename: This parameter allows you to specify the desired filename for the output CSV file containing the extracted nested dependent objects. This file is created after you call the set_parameters method within the project.
adomd_path: This parameter specifies the location of the ADOMD.NET library, which is required if you're connecting directly using Analysis Services or live Power BI datasets. The project assumes you have Analysis Services installed and points to the default location for the latest version.
please utlize the double \\ instead of single \\\\ in ADOMD_Path
Note: The version number in the adomd_path might change depending on the specific Analysis Services version you have installed.
If you don't have Analysis Services and choose the database connection method, you'll need to download and install SQL Server from Microsoft's website (https://www.microsoft.com/en-us/sql-server/sql-server-downloads) and ensure Analysis Services is included during the custom installation process.
By providing these parameters, the project can either read the data model information from the specified CSV files or connect directly to the database and extract details about the measures, calc_column, calc_tables and their dependencies within the data model.
#Follow the below demonstration on how to use the package:
#if data_source is the folder option then use the below code:
#code:
from nestedobjects import NestedObjects
NestedObjects.set_parameters(data_source="folder", folder_path = r"folderpath",filename = "filename")
#if data_source is the live option then use the below code:
from nestedobjects import NestedObjects
NestedObjects.set_parameters(data_source="live", server = "localhost" , database = "catalogname",filename = "filename")
Raw data
{
"_id": null,
"home_page": null,
"name": "nestedobjects",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "nested measures, dependent objects, dependent",
"author": "vamshi krishna",
"author_email": "vamshikrishna.r@sonata-software.com",
"download_url": "https://files.pythonhosted.org/packages/4c/e3/fae2fa099b348ecf15f276bc2065cdf2c847685e0ce318eda33453dc4ddb/nestedobjects-0.0.2.tar.gz",
"platform": null,
"description": "\r\n#Prerequisities:\r\n\r\n Before installing this package, ensure that you have the following packages: pandas (version 2.2.1 or higher) and pyadomd (version 0.1.1 or higher).\r\n\r\n It's assumed that you hold administrative rights for the PowerBI dataset, Analysis Services, or localhost.\r\n\r\n\r\n\r\n#Overview \r\n\r\n This project deals with extracting information about data models objects and their dependencies. \r\n\r\n\r\n\r\n#Key Project Parameters Explained:\r\n\r\n \r\n\r\n data_source: It provides two options for specifying the data source: \"folder\" or \"live\".\r\n\r\n folder: If you choose folder as the data source, you need to provide a folder path where the project will look for three specific csv files and you should also provide folder_path parameter along with it.\r\n\r\n live: you can connect to analysis services or powerbi datasets to get their objects and thier dependencies. If you choose live as the data source, you need to provider server, database parameters along with it.\r\n\r\n \r\n\r\n folder_path: it assumes this path contains the tables.csv, measures.csv and calc_dependency.csv files in it. follow the below instructions to generate the following files in dax studio.\r\n\r\n \r\n\r\n tables.csv: This file contains information about the tables in the data model. You can generate this file in Dax Studio using the provided DAX DMV function:\r\n\r\n %SQL\r\n\r\n Select * from $SYSTEM.TMSCHEMA_TABLES\r\n\r\n \r\n\r\n measures.csv: This file contains information about the measures defined in the data model. You can generate this file in Dax Studio using the provided DAX DMV function:\r\n\r\n %SQL\r\n\r\n select * from $SYSTEM.TMSCHEMA_MEASURES\r\n\r\n\r\n\r\n calc_dependency.csv: This file contains information about the calculation dependencies within the data model. You can generate this file in Dax Studio using the provided DAX DMV function:\r\n\r\n %SQL\r\n\r\n select * from $SYSTEM.DISCOVER_CALC_DEPENDENCY\r\n\r\n\r\n\r\n server: The server name or address of the Analysis Services server, Power BI dataset server, or even your local machine.\r\n\r\n\r\n\r\n database: The specific catalog name or ID of the data model you want to analyze.\r\n\r\n\r\n\r\n Additional Parameter:\r\n\r\n filename: This parameter allows you to specify the desired filename for the output CSV file containing the extracted nested dependent objects. This file is created after you call the set_parameters method within the project.\r\n\r\n adomd_path: This parameter specifies the location of the ADOMD.NET library, which is required if you're connecting directly using Analysis Services or live Power BI datasets. The project assumes you have Analysis Services installed and points to the default location for the latest version.\r\n\r\n please utlize the double \\\\ instead of single \\\\\\\\ in ADOMD_Path\r\n\r\n\r\n\r\n Note: The version number in the adomd_path might change depending on the specific Analysis Services version you have installed.\r\n\r\n If you don't have Analysis Services and choose the database connection method, you'll need to download and install SQL Server from Microsoft's website (https://www.microsoft.com/en-us/sql-server/sql-server-downloads) and ensure Analysis Services is included during the custom installation process.\r\n\r\n\r\n\r\n\r\n\r\nBy providing these parameters, the project can either read the data model information from the specified CSV files or connect directly to the database and extract details about the measures, calc_column, calc_tables and their dependencies within the data model.\r\n\r\n\r\n\r\n\r\n\r\n#Follow the below demonstration on how to use the package: \r\n\r\n\r\n\r\n#if data_source is the folder option then use the below code:\r\n\r\n#code:\r\n\r\nfrom nestedobjects import NestedObjects\r\n\r\nNestedObjects.set_parameters(data_source=\"folder\", folder_path = r\"folderpath\",filename = \"filename\")\r\n\r\n\r\n\r\n#if data_source is the live option then use the below code:\r\n\r\nfrom nestedobjects import NestedObjects \r\n\r\nNestedObjects.set_parameters(data_source=\"live\", server = \"localhost\" , database = \"catalogname\",filename = \"filename\")\r\n\r\n\r\n\r\n",
"bugtrack_url": null,
"license": null,
"summary": "creates an excel with all the dependent objects in a powerbi datasets or analysis services",
"version": "0.0.2",
"project_urls": null,
"split_keywords": [
"nested measures",
" dependent objects",
" dependent"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5abc9b3498690c088cfca356d91ac7cf413e7d0d2884087adc84e2410ee01b23",
"md5": "25780ebf840faa329375acb94552077a",
"sha256": "b6474487de26bfa65664af00f0824f5f834172cadf0919ccbd893285bcc871b6"
},
"downloads": -1,
"filename": "nestedobjects-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "25780ebf840faa329375acb94552077a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 9014,
"upload_time": "2024-05-03T21:54:51",
"upload_time_iso_8601": "2024-05-03T21:54:51.613457Z",
"url": "https://files.pythonhosted.org/packages/5a/bc/9b3498690c088cfca356d91ac7cf413e7d0d2884087adc84e2410ee01b23/nestedobjects-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4ce3fae2fa099b348ecf15f276bc2065cdf2c847685e0ce318eda33453dc4ddb",
"md5": "d47877469333e6b2d04add2f7436a993",
"sha256": "4e9f7a69d94d87214369d82029c0cdd85576515bb14a1b461f26f012cfd4267f"
},
"downloads": -1,
"filename": "nestedobjects-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "d47877469333e6b2d04add2f7436a993",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7876,
"upload_time": "2024-05-03T21:54:53",
"upload_time_iso_8601": "2024-05-03T21:54:53.093103Z",
"url": "https://files.pythonhosted.org/packages/4c/e3/fae2fa099b348ecf15f276bc2065cdf2c847685e0ce318eda33453dc4ddb/nestedobjects-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-03 21:54:53",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "nestedobjects"
}