Skip to content

Instantly share code, notes, and snippets.

let CreateDateTable = (StartDate as date, EndDate as date, optional Culture as nullable text) as table =>
let
// Determine number of days between start and end date
DayCount = Duration.Days(Duration.From(EndDate - StartDate)),
// Add a day back, as Duration math above will give you the days literally between rather than inclusive. Ex Dec 31 - Dec 1 = 30 days, but we need 31 days in that period
DayCountAdd = DayCount + 1,
// Create a Dates list object starting at the start date, for the duration of the day count, increment of one year
Source = List.Dates(StartDate,DayCountAdd,#duration(1,0,0,0)),
// Turn that date list into a table
TableFromList = Table.FromList(Source, Splitter.SplitByNothing()),
Date =
ADDCOLUMNS (
CALENDAR (
DATE ( YEAR ( MIN ( 'Sales'[Date] ) ), 1, 1 ),
DATE ( YEAR ( MAX ( 'Sales'[Date] ) ), 12, 31 )
),
"Year", YEAR ( [Date] ),
"Quarter Number", INT ( FORMAT ( [Date], "q" ) ),
"Quarter", "Q" & INT ( FORMAT ( [Date], "q" ) ),
"Month Number", MONTH ( [Date] ),
@aabundez
aabundez / ssas_tabular_column_listing.dax
Last active April 12, 2018 22:15
Retrieve SSAS Tabular column definitions
//Run in DAXStudio (http://daxstudio.org/)
select [ExplicitName], [IsHidden], [Type], [SourceColumn], [Expression]
from $SYSTEM.TMSCHEMA_COLUMNS
where TableID = 13
@aabundez
aabundez / Microsoft SQL Server Management Studio 17.lnk
Last active November 13, 2018 21:13
Runas shortcut for Management Studio. Update the Target property.
C:\Windows\System32\runas.exe /user:DOMAIN\username /netonly "C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe"
@aabundez
aabundez / reset_vs_environment.bat
Created June 9, 2017 15:23
Resets Visual Studio sign in
Devenv /ResetSettings