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 September 15. Request your voucher.
I am using an interm measure in Filter funtion which is not giving me desired result, tried using VAR as well but no luck.
Dataset: "Inventory" table has 3 Columns, PanelID (Unique ID for each row), ReachIndex(HIGH, Medium, LOW), Reach(reach for each panel)
Requirement: Based on the user input, I must display 20% HIGH ReachIndex panels, 70% Medium ReachIndex panels and 10% LOW ReachIndex panels from inventory table in a new table called "Selection".
Example: if user input is 20, "Selection" table must display any 4 HIGH, 14 Medium and 2 LOW panels.
Implimentation : I have used what if parameter to take user input and calculated dax measures to calucalte number of panels to be displayed for each ReachIndexe types.
HighIndexPanels = ROUNDDOWN(Parameter[Parameter Value] * 0.20, 0)
MediumIndexPanels = ROUNDUP(Parameter[Parameter Value] * 0.7, 0)
LOWIndexPanels = Parameter[Parameter Value] - HighIndexPanels - MediumIndexPanels
calculated column "CoulmnIndexRank" to assign ranks to panels within each ReachIndex types.
created "Selection" table with below DAX code (Will implement for all ReachIndex types once I get expected result for 'Medium' ReachIndex type. )
Selection =
var m = [MediumIndexPanels]
return
FILTER (
Inventory,
Inventory[ColumnIndexRank] <= m && Inventory[ReachIndex] = "Medium"
)
This is showing me just one panel for all user inputs. For example when I input 20 panels, Selection table is showing only one panel where as it is suppose to show 14 panels.
User | Count |
---|---|
15 | |
12 | |
8 | |
7 | |
7 |
User | Count |
---|---|
24 | |
20 | |
12 | |
10 | |
7 |