Forum Discussion
Paginated report - View with even one parameter value selection though it has multiple parameters
Hello All,
I am new to the paginated reports.
And i have recieved a new assignement where my client has designed a paginated report and now i need to make some changes out of that report for parameters behaviour.
We have overall 9 parameters in the report which shows as below.
Out of which Project manager, Project market, Project, Sub project manager, Project practice/discipline, Client, and Project accountant parameters,
- The report parameters should be by default selected to NA and the report should not show any values.
- Just like power bi, if we have multiple slicers, when we select any value from any of the slicer, the report visuals will be filtered with the only selected values.
Similary, in paginated report, out of all parameters which ever the parameter i select, for that selected values it should view the report.
Ex: If i select the Project Manager vlaue as below
it is enabling the view report but as the other parameters are required, it will not allow me to view the report of whole data for that project manager which i have selected.
Similary when i select Project market, report should view for the data of Project manager Abdulla Qassim for only project market advisory services.
I know this is simple in power bi but what i understood from youtube source or some blogs, it is bit complicated in paginated report.
I have made some changes in the DAX for parameters datasource
For Ex: Project Manager parameter dataset DAX
EVALUATE
UNION
(
DISTINCT(SELECTCOLUMNS(Projects,"Top_ProjectManager","NA"))
,
SUMMARIZECOLUMNS(
Projects[Top_ProjectManager],
KEEPFILTERS( FILTER( ALL( Projects[Top_ProjectManager] ), NOT( ISBLANK( Projects[Top_ProjectManager] ))))
)
)
Similary for all parameters i have added NA as row to the respective field values which used so that i can keep default values as in parameters properties as below
Now i need to map these parameters and properties which i set, should impact how the report should be viewed through the dax query which writte for my dataset.
Master dataset DAX Query:
EVALUATE
SUMMARIZECOLUMNS(
Projects[Top_Project],
Projects[Top_ProjectName],
Projects[Top_ProjectManager],
Projects[Top_MarketName],
Projects[Top_PracDiscName],
Projects[Top_Market],
Projects[Top_Customer],
Projects[Top_Stage],
Projects[Top_LGM],
Projects[Top_StartDate],
Projects[Top_EndDate],
Projects[ProjectID],
Projects[ProjectManager],
Projects[ProjectName],
Projects[Market],
Projects[FeeType],
Projects[LGM],
Projects[Stage],
Projects[ContractCurrency],
FILTER(VALUES(Projects[Top_ProjectManager]), PATHCONTAINS(@ProjectManager, Projects[Top_ProjectManager] )),
FILTER(VALUES(Projects[ProjectManager]), PATHCONTAINS(@SubProjectManager, Projects[ProjectManager] )),
FILTER(VALUES(Projects[Top_MarketName]), PATHCONTAINS(@ProjectMarket, Projects[Top_MarketName] )),
FILTER(VALUES(Projects[Top_PracDiscName]), PATHCONTAINS(@ProjectPracDisc, Projects[Top_PracDiscName] )),
FILTER(VALUES(Projects[Top_Stage]), PATHCONTAINS(@Stages, Projects[Top_Stage])),
FILTER(VALUES(Projects[Top_Customer]), PATHCONTAINS(@ClientName, Projects[Top_Customer])),
FILTER(VALUES(Projects[Top_Project]), PATHCONTAINS(@TopProject, Projects[Top_Project])),
FILTER(VALUES(Projects[Top_ProjectAccountant]), PATHCONTAINS(@ProjectAccountant, Projects[Top_ProjectAccountant])),
KEEPFILTERS( FILTER( ALL( 'Date'[Date] ), 'Date'[Date] <= @Date )),
"Fee", ROUND(SUM('Base Finance'[Contract_Fee])+0,2),
"Revenue", ROUND(SUM('Base Finance'[Contract_Revenue])+0,2),
"Labor", ROUND(SUM('Base Finance'[Contract_Labor])+0,2),
"SubsAndOdcs", ROUND(SUM('Base Finance'[Contract_SubsAndODCs])+0,2),
"WIP", ROUND(SUM('Base Finance'[Contract_WIP])+0,2),
"TotalCost", ROUND(SUM('Base Finance'[Contract_TotalCost])+0,2),
"Billed", ROUND(SUM('Base Finance'[Contract_Billed])+0,2),
"Budgeted goal", ROUND((SUM('Base Finance'[Contract_Labor]) * MIN(Projects[LGM])) + SUM('Base Finance'[Contract_SubsAndODCs])+0,2),
"Goal VAR PTD", ROUND((SUM('Base Finance'[Contract_Revenue]) - ((SUM('Base Finance'[Contract_Labor]) * MIN(Projects[LGM])) + SUM('Base Finance'[Contract_SubsAndODCs])))+0,2),
"Goal VAR YTD", ROUND((TOTALYTD(SUM('Base Finance'[Contract_Revenue]), 'Date'[Date]) - ((TOTALYTD(SUM('Base Finance'[Contract_Labor]), 'Date'[Date]) * MIN(Projects[LGM])) + TOTALYTD(SUM('Base Finance'[Contract_SubsAndODCs]), 'Date'[Date])))+0,2),
"PTD Eff Mult", ROUND(DIVIDE((SUM('Base Finance'[Contract_Revenue]) - SUM('Base Finance'[Contract_SubsAndODCs])), SUM('Base Finance'[Contract_Labor]),0),2),
"Bill Goal", ROUND((SUM('Base Finance'[Contract_WIP]) + SUM('Base Finance'[Contract_Billed]))+0,2),
"Used Pct", ROUND((DIVIDE(((SUM('Base Finance'[Contract_Labor]) * MIN(Projects[LGM])) + SUM('Base Finance'[Contract_SubsAndODCs])), SUM('Base Finance'[Contract_Fee]), 0) * 100),2),
"Rpt Pct", ROUND((DIVIDE(SUM('Base Finance'[Contract_Revenue]), SUM('Base Finance'[Contract_Fee]), 0) * 100),2),
"Last Invoiced", [Last Invoiced],
"AR Outstanding", ROUND(SUM('Base Finance'[Contract_AROutstanding])+0,2),
"Emp Cost Sales", [EmpCostSales],
"Proj Cost Sales", [ProjCostSales]
)
ORDER BY
Projects[Top_Project] ASC,
Projects[Top_ProjectName] ASC,
Projects[Top_ProjectManager] ASC,
Projects[Top_MarketName] ASC,
Projects[Top_PracDiscName] ASC,
Projects[Top_Market] ASC,
Projects[Top_Customer] ASC,
Projects[ProjectID] ASC
Out of which i see in the above DAX summerizecolumns, the first filter has below code.
FILTER(VALUES(Projects[Top_ProjectManager]), PATHCONTAINS(@ProjectManager, Projects[Top_ProjectManager] )),
I believe i should make changes in here itself so that it will allow me view the report even if i select one parameter value from any of the parameters and show based on the selected values.
Under Dataset properties - parameters
I have added the below code and tried but no luck.
=IIF(Parameters!ProjectManager.Value= "NA", "", "__Usefilter")
I really need some help from you here.
Please correct or guide me.
I hope i will get some positive responce.
Thanks,
Mohan V.
1 Reply
- AnonymousNot applicable
Can anyone please guide me on this.