For more details about the functions used in this recipe, refer to the following links:
- DISTINCT: https://docs.microsoft.com/en-us/dax/distinct-function-dax
- SELECTCOLUMNS: https://docs.microsoft.com/en-us/dax/selectcolumns-function-dax
- FILTER: https://docs.microsoft.com/en-us/dax/filter-function-dax
- CONCATENATEX: https://docs.microsoft.com/en-us/dax/concatenatex-function-dax
- ALL: https://docs.microsoft.com/en-us/dax/all-function-dax
- UNION: https://docs.microsoft.com/en-us/dax/union-function-dax
- ADDCOLUMNS: https://docs.microsoft.com/en-us/dax/addcolumns-function-dax
- PATHCONTAINS: https://docs.microsoft.com/en-us/dax/pathcontains-function-dax
- EARLIER: https://docs.microsoft.com/en-us/dax/earlier-function-dax
- IF: https://docs.microsoft.com/en-us/dax/if-function-dax
- ISBLANK: https://docs.microsoft.com/en-us/dax/isblank-function-dax
- FIND: https://docs.microsoft.com/en-us/dax/find-function-dax
- LEN: https://docs.microsoft.com/en-us/dax/len-function-dax
- LEFT: https://docs.microsoft.com/en-us/dax/left-function-dax
- SUBSTITUTE: https://docs.microsoft.com/en-us/dax/substitute-function-dax
- SWITCH: https://docs.microsoft.com/en-us/dax/switch-function-dax
- SUMX: https://docs.microsoft.com/en-us/dax/sumx-function-dax