Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hi,
I'm trying to figure out how to create a calculated table using data from an existing table.
Existing table has the following column
Title, StartDateDEV, EndDateDev, StartDateINTG, EndDateINTG, StartDateUAT, EndDateUAT
For each row of the existing table, I would like to create a row for each pair of date. So if the DEV dates exists, I would like to create a row that has
Title, "DEV", StartDate, EndDate (using DEV Dates)
If StartDateINTG/EndDateINTG exists, I would also add
Title, "INTG", StartDate, EndDate (using INTG Dates)
If StartDateUAT/EndDateUAT exists, I would also add
Title, "UAT", StartDate, EndDate (using UAT Dates)
I'm not sure where to start.. any pointer would be appreciated
Here is a schema
Solved! Go to Solution.
Hi @nfuids ,
You can also use the following writing.
Calculate table =
FILTER (
UNION (
SELECTCOLUMNS (
'Table',
"Title", [Title],
"StartDate", [StartDateDev],
"EndDate", [EndDateDev],
"Category", "Dev"
),
SELECTCOLUMNS (
'Table',
"Title", [Title],
"StartDate", [StartDateUAT],
"EndDate", [EndDateUAT],
"Category", "UAT"
),
SELECTCOLUMNS (
'Table',
"Title", [Title],
"StartDate", [StartDateINTG],
"EndDate", [EndDateINGT],
"Category", "INGT"
)
),
[StartDate] <> BLANK ()
&& [EndDate] <> BLANK ()
)
The only difference between the two writing is that SUMMARIZE will deduplicate the data and SELECTCOLUMNS will not, and if this has no effect on your data, then there is no difference.
Best Regards,
Gallen Luo
Hi @nfuids ,
You can also use the following writing.
Calculate table =
FILTER (
UNION (
SELECTCOLUMNS (
'Table',
"Title", [Title],
"StartDate", [StartDateDev],
"EndDate", [EndDateDev],
"Category", "Dev"
),
SELECTCOLUMNS (
'Table',
"Title", [Title],
"StartDate", [StartDateUAT],
"EndDate", [EndDateUAT],
"Category", "UAT"
),
SELECTCOLUMNS (
'Table',
"Title", [Title],
"StartDate", [StartDateINTG],
"EndDate", [EndDateINGT],
"Category", "INGT"
)
),
[StartDate] <> BLANK ()
&& [EndDate] <> BLANK ()
)
The only difference between the two writing is that SUMMARIZE will deduplicate the data and SELECTCOLUMNS will not, and if this has no effect on your data, then there is no difference.
Best Regards,
Gallen Luo
Thank you, it worked perfectly for my needs!
Super, I'll play with this and let you know!
why are you using selectcolums for Dev dates and then use SUMMARIZE for the other 2?
thanks
Hi @nfuids ,
Please follow these steps:
(1) Create a new table
Calculate table =
FILTER (
UNION (
SELECTCOLUMNS (
'Table',
"Title", [Title],
"StartDate", [StartDateDev],
"EndDate", [EndDateDev],
"Category", "Dev"
),
SUMMARIZE ( 'Table', [Title], [StartDateUAT], [EndDateUAT], "Category", "UAT" ),
SUMMARIZE (
'Table',
[Title],
[StartDateINTG],
[EndDateINGT],
"Category", "INGT"
)
),
[StartDate] <> BLANK ()
&& [EndDate] <> BLANK ()
)
(2)Final output
Best Regards,
Gallen Luo
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
User | Count |
---|---|
22 | |
11 | |
8 | |
6 | |
6 |
User | Count |
---|---|
26 | |
13 | |
11 | |
9 | |
6 |