{ "info": { "author": "Tiago Taveira-Gomes", "author_email": "tiago.taveira@me.com", "bugtrack_url": null, "classifiers": [], "description": "MDX\n---\n\nThis is a simple library to help building .mdx scripts.\nIt is composed by:\n\n* A simple syntax module to generate mdx\n* Functions to generate mdx sets from lists, .json arrays or prefined .mdx sets\n* A writer class and a writer context manager\n\nInstallation\n============\n\n``pip install mdx``\n\nUsage\n=====\n\n.. code-block:: python\n\n # Usage\n from mdx import syntax as s\n from mdx import MDXSetConstructor, writerContext\n from mdx import loadJson, loadMDX\n\n toyCodeBuilder = MDXSetConstructor(memberPath=\"[Products].[ProductName]\", comment=\"Product Codes\")\n colorCodeBuilder = MDXSetConstructor(memberPath=\"[Colors]\", comment=\"Color Codes\")\n\n toys = {\n 'dolls' : toyCodeBuilder(codeList=[1,2,3], listName=\"toy dolls\")\n }\n\n colors = {\n 'blue' : colorCodeBuilder(codeList=['blue', 'cyan'], listName=\"blues\")\n }\n\n # Loads .mdx files in path\n # Each file becomes available as a tuple member with the file name as key\n toys = loadMDX(\n \"path/to/toys\",\n extraMembers = toys, # Add extra members defined by hand\n toyCodeBuilder\n )\n\n # Loads .json files in path\n # Each file becomes available as a member of a named tuple with the file name as field\n colors = loadJSON(\n \"path/to/colors\",\n extraMembers = colors, # Add extra members defined by hand\n colorCodeBuilder\n )\n\n # The first two arguments are passed automatically by the context manager\n @measure\n def volume(writer, sets, name, *expressions, **kwargs):\n\n # Perform some common .mdx operations here...\n\n writer.write(\n s.createMeasure(s.measureMember(name),\n s.sumExisting('[Measures].[PurchaseCount]', s.intersect(*expressions)\n )\n )\n )\n\n writer = MDXWriter(name='writer', path='./interestingToys') # by default the path is set on config[\"OUTPUT_FOLDER\"]\n\n # Putting it all together\n with writerContext((toys, colors), writer) as (measures, config):\n\n measures(volume)(\n # the writer and set variables are passed to the measure after the arguments\n 'volume of interesting toy purchases',\n s.tuple(toys.dolls, colors.blue),\n s.exclude(\n s.tuple(toys.cars, colors.any),\n s.tuple(toys.cars, colors.red),\n )\n )\n\n # The output will be available at ./interestingToys.mdx\n\n # Configuration options\n from mdx import config\n config[\"OUTPUT_FOLDER\"] = \"./path/to/folder\"\n config[\"LIST_BASE_PATH\"] = \"./path/to/folder\"\n config[\"TAB_SIZE\"] = 2", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/tiagotaveiragomes/mdx", "keywords": "MDX builder bi business intelligence", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "mdx", "package_url": "https://pypi.org/project/mdx/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/mdx/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/tiagotaveiragomes/mdx" }, "release_url": "https://pypi.org/project/mdx/0.1/", "requires_dist": null, "requires_python": null, "summary": "A simple package for generating mdx scripts", "version": "0.1" }, "last_serial": 1882191, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "cc5fe0761b0199a153475a816bee7ff2", "sha256": "20ed9abc90a3bb3037e63566fb9282f10d5299a9c00db90cbd03b2cff20bca6e" }, "downloads": -1, "filename": "mdx-0.1.tar.gz", "has_sig": false, "md5_digest": "cc5fe0761b0199a153475a816bee7ff2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18636, "upload_time": "2015-12-30T11:28:09", "url": "https://files.pythonhosted.org/packages/da/bf/29209fe9b59d6a007ef36f263a3227296aaf98086284ca59614f3521a945/mdx-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cc5fe0761b0199a153475a816bee7ff2", "sha256": "20ed9abc90a3bb3037e63566fb9282f10d5299a9c00db90cbd03b2cff20bca6e" }, "downloads": -1, "filename": "mdx-0.1.tar.gz", "has_sig": false, "md5_digest": "cc5fe0761b0199a153475a816bee7ff2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18636, "upload_time": "2015-12-30T11:28:09", "url": "https://files.pythonhosted.org/packages/da/bf/29209fe9b59d6a007ef36f263a3227296aaf98086284ca59614f3521a945/mdx-0.1.tar.gz" } ] }