# DAX Parser App

The power of open-source and GenAI. [Klaus Jürgen Folz](https://github.com/jurgenfolz) recently open-sourced the [PyDAX](https://github.com/jurgenfolz/PyDAXLexer) library, which parses DAX expressions to extract or remove comments, and identify referenced columns and measures. I used that library to create some demos for myself and then shared the notebook along with instructions with [Replit](https://replit.com/) agents to build an app for me.. 15 minutes & 3 prompts later I had a fully functional app. Give it a try : [https://daxparser.replit.app/](https://daxparser.replit.app/)

<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">I have provisioned a bare minimum VM to run the app so be patient and gentle with it :P It will likely be slow.</div>
</div>

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1730488293569/a80a7ee0-180b-4b44-adb6-c62226ffc3f7.gif align="center")

## Notes:

* Daniel Otykier, author of Tabular Editor, [mentioned](https://x.com/PawarBI/status/1852455269504307442) that technically it’s a lexer and not a parser and has limitations. Also, PyDAX is based on the lexer Daniel open-sourced with [TE2](https://github.com/TabularEditor/TabularEditor).
    
* ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1730568978637/1d1f2cbe-2fc9-414e-b61d-0ea1c43080c2.png align="center")
    
* I tried Replit a couple of months ago, and it was slow and buggy. It has definitely improved a lot. It's better at following instructions, resolving issues, and not getting stuck.
    
* The app is built on Streamlit.
    
* There are still some bugs, but my goal wasn't to make it perfect. I might take it down and use it locally. If I do, I will share the code for others to use.
    
* I am using PyDAX as is, and I have not tested it, so please exercise your judgement.
    
* It doesn’t format DAX. Use [DAX formatter](https://www.daxformatter.com/) or [my notebook](https://fabric.guru/formatting-all-dax-measures-using-semantic-link-in-fabric) for that.
