This repository offers a suite of Power Query functions and scripts, aiming to streamline data manipulation tasks. It addresses the lack of a centralized library system in Power Query, helping developers avoid redundant efforts and improve efficiency.
Power Query’s absence of shared libraries leads to unnecessary duplication and inefficiencies in development. This project encourages more efficient data handling and reduces development time by aggregating reusable code.
Despite Power Query’s limitations, such as its specific M code environment, this initiative promotes community collaboration to expand its capabilities. Through sharing code and expertise, it seeks to overcome inherent challenges and push the boundaries of Power Query’s functionality.
This repository was inspired by Injae Park’s YouTube video and repository on how to version control M Code, his research and code is a cornerstone of this project; extremely useful were the references he included:
This library is in a very early development stage, and lots of things are moving, meaning that there is a high probability of experiencing breaking changes.
This library is “imported” into Power Query by following these steps:
M[General.PictureBinary](table, number, number)
You may run into GitHub’s API rate limit. To avoid this, add a Personal Access Token to the “PAT” parameter of the M code. Visit this link to learn how to create a PAT.
Contributions are welcome! Feel free to submit a pull request if you have any new functions or improvements to existing ones.
Please contribute in the folder category that best suits. If the folder does not exist, create it.
The functions you create will only work if all the Power Query native functions used are declared in the M.pq file. You can run the M_Creator.py Python script to locate all the functions via regex and rewrite an M.pq file.
When naming the function, keep meaningfulness and brevity in mind.
The M script creates the entry based on the folder where the function is stored and its name.
Example: A function named Join in the folder Table will appear as Table.Join
This means there is no need to add the group (folder) of the function to its name.
Below, you will find other handy PowerQuery libraries:
This project is licensed under the MIT License.