The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event! Join us in Stockholm, Sweden from September 24-27, 2024.
2-for-1 sale on June 20 only!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hi all,
I have 2 fct tables on quarter level and I have to connect these 2 fct tables to my date table which is on day level. (the dim date is day level because I have more 3 fact tables on day level connected to it)
How do I extract the first day of the quarter from the columns?
The table has the columns Quarter and Year as String and Int, I already tried to convert to date format and when I do that the Year gets all messed up, the 2020 becomes like 1950.
Quarter | Year |
Q2 | 2020 |
Q4 | 2020 |
Q1 | 2019 |
and I need the below: (First day of the quarter)
Quarter | Year | Date Column |
Q2 | 2020 | 1/04/2020 |
Q4 | 2020 | 1/09/2020 |
Q1 | 2019 | 1/01/2020 |
Thank you
Solved! Go to Solution.
Hi,
This M code works
let
Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content],
#"Inserted Text After Delimiter" = Table.AddColumn(Source, "Text After Delimiter", each Text.AfterDelimiter([Quarter], "Q"), type number),
#"Changed Type1" = Table.TransformColumnTypes(#"Inserted Text After Delimiter",{{"Text After Delimiter", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type1", "Custom", each if [Text After Delimiter] = 1 then 1 else if [Text After Delimiter] = 2 then 4 else if [Text After Delimiter] = 3 then 7 else 10, type text),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Date", each "1/"&Number.ToText([Custom])&"/"&Number.ToText([Year])),
#"Changed Type" = Table.TransformColumnTypes(#"Added Custom1",{{"Date", type date}}),
#"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"Text After Delimiter", "Custom"})
in
#"Removed Columns"
Hope this helps.
Hi,
This M code works
let
Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content],
#"Inserted Text After Delimiter" = Table.AddColumn(Source, "Text After Delimiter", each Text.AfterDelimiter([Quarter], "Q"), type number),
#"Changed Type1" = Table.TransformColumnTypes(#"Inserted Text After Delimiter",{{"Text After Delimiter", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type1", "Custom", each if [Text After Delimiter] = 1 then 1 else if [Text After Delimiter] = 2 then 4 else if [Text After Delimiter] = 3 then 7 else 10, type text),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Date", each "1/"&Number.ToText([Custom])&"/"&Number.ToText([Year])),
#"Changed Type" = Table.TransformColumnTypes(#"Added Custom1",{{"Date", type date}}),
#"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"Text After Delimiter", "Custom"})
in
#"Removed Columns"
Hope this helps.
Hey @Anonymous ,
you can just check for the quarter and then return the corresponding month.
Try the following calculated column:
Date Column =
VAR vCalcMonth =
SWITCH(
'myTable'[Quarter],
"Q1", 1,
"Q2", 4,
"Q3", 7,
"Q4", 10
)
RETURN
DATE( 'myTable'[Year], vCalcMonth, 1 )
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the June 2024 Power BI update to learn about new features.
User | Count |
---|---|
125 | |
106 | |
84 | |
64 | |
59 |
User | Count |
---|---|
257 | |
121 | |
117 | |
100 | |
79 |