The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
I have succussfully expanded a comma delimited column into multiple columns in query editor using split column, and then a new column was added to lookup the name of the service.
then I created a new table with this dax formula:
ServName =
UNION(
SELECTCOLUMNS( quotes, "Serv",Quotes[Service1] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service2] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service3] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service4] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service5] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service6] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service7] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service8] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service9] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service10] )
)
where quotes is the name of the original table and each [Servicex] is one of the expanded service names. this creates the single column Serv in a table called ServName.
I can use this to get a summary of the services offered and a percentage of all services offered but...
It does not change based on my report level filtering, I need to see percentages of services based on date range and quote status (won/lost).
How can i apply the report level filtering to this new table?
Sounds like you are missing a relationship between this new table and your other tables.
I've tried adding a column but maybe i'm doing it in the worng place, when i try adding a column for the quote id it says a table of multipl values was supplied where a single value was expected, how can i add that quote ID column to the table function?
I'm going to need to see a bit of raw data to really be of any use to you on this one.
table 1 - the service columns are created by spliting services provided in query editor:
Table 1 - Quotes | |||||
Quote ID | Services provided | Service 1 | service 2 | service 3 | service 4 |
1 | 5,7,9 | 5 | 7 | 9 | null |
2 | 5,8,2 | 5 | 8 | 2 | null |
3 | 4,1,8,7 | 4 | 1 | 8 | 7 |
Table 2 is a lookup for services:
table 2 - services | |
service id | name |
1 | design |
2 | study |
3 | testing |
4 | procurment |
5 | project management |
6 | technical design |
7 | feasibility |
8 | someother |
9 | other |
I then use a dax formula to create a new table servname
ServName =
UNION(
SELECTCOLUMNS( quotes, "Serv",Quotes[Service Required 1_xId.1] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service Required 1_xId.2] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service Required 1_xId.3] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service Required 1_xId.4] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service Required 1_xId.5] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service Required 1_xId.6] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service Required 1_xId.7] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service Required 1_xId.8] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service Required 1_xId.9] ),
SELECTCOLUMNS( quotes, "Serv",Quotes[Service Required 1_xId.10] )
)
where Service Required 1_xld# is equal to the service 1 and service 2 above - This new table will display the total instances of eash service, however it is not changing based on Report Level filtering, which is what I need. specifically filtering by date range and by quote status which do work for all other visuals. I understand there is no relationship between servName and Quotes except that's where the data comes from and it seems that the filtering would affect it.