Run below query
Run below query
-- Data Data
CREATE TABLE [dbo].[Date]
(
[DateID] int NOT NULL,
[Date] date NULL,
[DateBKey] char(10) NULL,
[DayOfMonth] varchar(2) NULL,
[DaySuffix] varchar(4) NULL,
[DayName] varchar(9) NULL,
[DayOfWeek] char(1) NULL,
[DayOfWeekInMonth] varchar(2) NULL,
[DayOfWeekInYear] varchar(2) NULL,
[DayOfQuarter] varchar(3) NULL,
[DayOfYear] varchar(3) NULL,
[WeekOfMonth] varchar(1) NULL,
[WeekOfQuarter] varchar(2) NULL,
[WeekOfYear] varchar(2) NULL,
[Month] varchar(2) NULL,
[MonthName] varchar(9) NULL,
[MonthOfQuarter] varchar(2) NULL,
[Quarter] char(1) NULL,
[QuarterName] varchar(9) NULL,
[Year] char(4) NULL,
[YearName] char(7) NULL,
[MonthYear] char(10) NULL,
[MMYYYY] char(6) NULL,
[FirstDayOfMonth] date NULL,
[LastDayOfMonth] date NULL,
[FirstDayOfQuarter] date NULL,
[LastDayOfQuarter] date NULL,
[FirstDayOfYear] date NULL,
[LastDayOfYear] date NULL,
[IsHolidayUSA] bit NULL,
[IsWeekday] bit NULL,
[HolidayUSA] varchar(50) NULL
);
COPY INTO [dbo].[Date]
FROM 'https://nytaxiblob.blob.core.windows.net/2013/Date'
WITH
(
FILE_TYPE = 'CSV',
FIELDTERMINATOR = ',',
FIELDQUOTE = ''
);
-- Time Data
CREATE TABLE [dbo].[Time]
(
[TimeID] int NOT NULL,
[TimeBKey] varchar(8) NULL,
[HourNumber] int NOT NULL,
[MinuteNumber] int NOT NULL,
[SecondNumber] int NOT NULL,
[TimeInSecond] int NOT NULL,
[HourlyBucket] varchar(15) NULL,
[DayTimeBucketGroupKey] int NOT NULL,
[DayTimeBucket] varchar(100) NULL
);
COPY INTO [dbo].[Time]
FROM 'https://nytaxiblob.blob.core.windows.net/2013/Time'
WITH
(
FILE_TYPE = 'CSV',
FIELDTERMINATOR = ',',
FIELDQUOTE = ''
);
-- Geography Data
CREATE TABLE [dbo].[Geography]
(
[GeographyID] int NOT NULL,
[ZipCodeBKey] varchar(10) NOT NULL,
[County] varchar(50) NULL,
[City] varchar(50) NULL,
[State] varchar(50) NULL,
[Country] varchar(50) NULL,
[ZipCode] varchar(50) NULL
);
COPY INTO [dbo].[Geography]
FROM 'https://nytaxiblob.blob.core.windows.net/2013/Geography'
WITH
(
FILE_TYPE = 'CSV',
FIELDTERMINATOR = ',',
FIELDQUOTE = ''
);
-- Weather Data
CREATE TABLE [dbo].[Weather]
(
[DateID] int NOT NULL,
[GeographyID] int NOT NULL,
[PrecipitationInches] float NOT NULL,
[AvgTemperatureFahrenheit] float NOT NULL
);
COPY INTO [dbo].[Weather]
FROM 'https://nytaxiblob.blob.core.windows.net/2013/Weather'
WITH
(
FILE_TYPE = 'CSV',
FIELDTERMINATOR = ',',
FIELDQUOTE = '',
ROWTERMINATOR='0X0A'
);
-- Trip Data
CREATE TABLE [dbo].[Trip]
(
[DateID] int NOT NULL,
[MedallionID] int NOT NULL,
[HackneyLicenseID] int NOT NULL,
[PickupTimeID] int NOT NULL,
[DropoffTimeID] int NOT NULL,
[PickupGeographyID] int NULL,
[DropoffGeographyID] int NULL,
[PickupLatitude] float NULL,
[PickupLongitude] float NULL,
[PickupLatLong] varchar(50) NULL,
[DropoffLatitude] float NULL,
[DropoffLongitude] float NULL,
[DropoffLatLong] varchar(50) NULL,
[PassengerCount] int NULL,
[TripDurationSeconds] int NULL,
[TripDistanceMiles] float NULL,
[PaymentType] varchar(50) NULL,
[FareAmount] float NULL,
[SurchargeAmount] float NULL,
[TaxAmount] float NULL,
[TipAmount] float NULL,
[TollsAmount] float NULL,
[TotalAmount] float NULL
);
COPY INTO [dbo].[Trip]
FROM 'https://nytaxiblob.blob.core.windows.net/2013/Trip2013'
WITH
(
FILE_TYPE = 'CSV',
FIELDTERMINATOR = '|',
FIELDQUOTE = '',
ROWTERMINATOR='0X0A',
COMPRESSION = 'GZIP'
);
Model the relationship
Now if we generate the power bi report, as the data is on data warehouse and its in parquet format, the query will be much faster although it's not direct lake and its import mode.