Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Hi,
I am very new to DAX and have to convert some SSRS into paginated reports using powerbi data source as the model has already been published. I am stuggling converting this stored procedure into DAX, any help would be very much appreciated. The parameters in this stored procedure are multi-valued ones:
Solved! Go to Solution.
Hi, @bpdax
Based on your description, you want to implement DAX statements that have similar functionality to SQL statements, and the following are possible DAX statements. If it does not work, you can share the data without sensitive information, the expected effect and the logic to achieve the effect. Feel free for anything about this.
VAR BaseTable =
CALCULATETABLE(
'database'[table],
'database'[Compliant] = 0,
'database'[Team] IN @Team,
'database'[Course] IN @Course
)
VAR SummaryTable =
SUMMARIZE(
BaseTable,
'database'[StaffID],
"TrainingTracked", SUM('database'[TrainingTracked]),
"DemNumDiff", SUM('database'[Denominator]) - SUM('database'[Numerator]),
"TrackDemNumDiff", SUM('database'[TrackedDenominator]) - SUM('database'[TrackedNumerator]),
"NotComplaint", IF(
[TrainingTracked] = 16 && [TrackDemNumDiff] > 0, 1,
IF([TrainingTracked] <> 16 && [DemNumDiff] > 0, 1, 0)
)
)
VAR FinalTable =
FILTER(
SummaryTable,
[NotComplaint] = 1
)
EVALUATE
SELECTCOLUMNS(
FinalTable,
"StaffID", 'database'[StaffID],
"Team", 'database'[Team],
"FirstName", 'database'[FirstName],
"LastName", 'database'[LastName],
"CourseName", 'database'[CourseName],
"DueOnDate", 'database'[DueOnDate]
)
Best Regards,
Yang
Community Support Team
If there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
How to get your questions answered quickly -- How to provide sample data in the Power BI Forum
Hi, @bpdax
Based on your description, you want to implement DAX statements that have similar functionality to SQL statements, and the following are possible DAX statements. If it does not work, you can share the data without sensitive information, the expected effect and the logic to achieve the effect. Feel free for anything about this.
VAR BaseTable =
CALCULATETABLE(
'database'[table],
'database'[Compliant] = 0,
'database'[Team] IN @Team,
'database'[Course] IN @Course
)
VAR SummaryTable =
SUMMARIZE(
BaseTable,
'database'[StaffID],
"TrainingTracked", SUM('database'[TrainingTracked]),
"DemNumDiff", SUM('database'[Denominator]) - SUM('database'[Numerator]),
"TrackDemNumDiff", SUM('database'[TrackedDenominator]) - SUM('database'[TrackedNumerator]),
"NotComplaint", IF(
[TrainingTracked] = 16 && [TrackDemNumDiff] > 0, 1,
IF([TrainingTracked] <> 16 && [DemNumDiff] > 0, 1, 0)
)
)
VAR FinalTable =
FILTER(
SummaryTable,
[NotComplaint] = 1
)
EVALUATE
SELECTCOLUMNS(
FinalTable,
"StaffID", 'database'[StaffID],
"Team", 'database'[Team],
"FirstName", 'database'[FirstName],
"LastName", 'database'[LastName],
"CourseName", 'database'[CourseName],
"DueOnDate", 'database'[DueOnDate]
)
Best Regards,
Yang
Community Support Team
If there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
How to get your questions answered quickly -- How to provide sample data in the Power BI Forum
Thank you for your help. I managed to write a similar piece of code, I just changed the last part of the code to a NaturalLeftOuterJoin to get the rest of the things I needed.
Hi @bpdax ,
Please try using below method
EVALUATE
VAR NotCompliantTable =
SUMMARIZE (
FILTER (
VALUES ( 'database'[Team] ),
[Compliant] = 0
&& [NotComplaint] = 1
),
'database'[StaffID],
"TrainingTracked", SUM ( 'database'[TrainingTracked] ),
"DemNumDiff", SUM ( 'database'[Denominator] ) - SUM ( 'database'[Numerator] ),
"TrackDemNumDiff", SUM ( 'database'[TrackedDenominator] ) - SUM ( 'database'[TrackedNumerator] ),
"NotComplaint",
SWITCH (
TRUE (),
SUM ( 'database'[TrainingTracked] ) = 16
&& SUM ( 'database'[TrackedDenominator] ) - SUM ( 'database'[TrackedNumerator] ) > 0, 1,
SUM ( 'database'[TrainingTracked] ) <> 16
&& SUM ( 'database'[Denominator] ) - SUM ( 'database'[Numerator] ) > 0, 1,
0
)
)
EVALUATE
SUMMARIZE (
'database',
'database'[StaffID],
'database'[Team],
'database'[FirstName],
'database'[LastName],
'database'[CourseName],
'database'[DueOnDate]
)
EVALUATE
FILTER (
'database',
'database'[StaffID]
IN VALUES ( NotCompliantTable[StaffID] )
)
Please accept as solution and give kudos if it helps
Proud to be a Super User! |
|
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
26 | |
20 | |
19 | |
14 | |
13 |
User | Count |
---|---|
43 | |
36 | |
24 | |
24 | |
22 |