Forum Discussion
recreating matrix as measure with calculated column
HI there,
I'm in quiet a pickle, I appreciate any help
I'm using a powerBI shared Dataset and I don't have the power query options; I was wondering if it's possible to recreate a matrix using a measure since measures are the only thing I can use in this case;
my data is as follow: it rapresents people from comapnies enrolled in training courses and I'd like to know if a company is a recurring customer or not.
I would like to create a matrix (counting the number of participant by year) with a calculated column, is it possible to do it only using measures? the calculated column would be a field with Yes or NO based if a company is a returning customer:
the logic of the returning would be:
- if a company has at least 1 person enrolled in 2022 and none in previous years = YES
- if a company has at least 1 person enrolled in any other year and not in 2022 = NO
- if a company has at least 1 person enrolled in previous years and in 2022 = YES
I appreciate any help, thanks
3 Replies
- alex12432New Member
Hi tamerj1
I Really appreciate the help
in this case customers are companies and values rapresent people from those companies enrolled in training programs through the years;
A returning customer is a company with at least 1 person enrolled in 2022 and at least 1 person in any of the 2 yers before:I've created a little table, hopefully will clear any doubts around what I'm trying to create
- tamerj1
Community Champion
Hi alex12432
please use a matrix visual, place Company in the rows and Year in the columns, activate the total column and place the following measure in the values of the matrix
=
VAR NormalResult =
DISTINCTCOUNT ( 'Table'[Person] )
VAR MaxYear = 2022
VAR MaxYearCount =
CALCULATE ( DISTINCTCOUNT ( 'Table'[Person] ), 'Date'[Year] = MaxYear )
VAR PreviousYearsSales =
CALCULATE ( DISTINCTCOUNT ( 'Table'[Person] ), 'Date'[Year] < MaxYear )
RETURN
IF (
HASONEVALUE ( 'Date'[Year] ),
NormalResult,
SWITCH (
TRUE (),
MaxYearCount = BLANK (), "NO",
PreviousYearsSales = BLANK (), "NEW",
"YES"
)
)