|
|
|
Valued Member
      
Group: General Forum Members
Last Login: Friday, May 17, 2013 11:15 AM
Points: 68,
Visits: 205
|
|
Hi am trying to do partitions on monthly basis for every year in my solution. currently am trying it for material delivery cube.
i just need right approach to do this. SELECT [dbo].[FactMaterialDelivery].[MaterialDeliveryRowInfoKey], [dbo].[FactMaterialDelivery].[ActualIssueDateKey], [dbo].[FactMaterialDelivery].[Bill-toCustomerKey], [dbo].[FactMaterialDelivery].[IssueDateKey], [dbo].[FactMaterialDelivery].[MaterialKey], [dbo].[FactMaterialDelivery].[PayerCustomerKey], [dbo].[FactMaterialDelivery].[StoreKey], [dbo].[FactMaterialDelivery].[Ship-toCustomerKey], [dbo].[FactMaterialDelivery].[Sold-toCustomerKey], [dbo].[FactMaterialDelivery].[VendorKey], [dbo].[FactMaterialDelivery].[Actual Quantity Delivered Stock Units], [dbo].[FactMaterialDelivery].[Actual Quantity Delivered Sales Units], [dbo].[FactMaterialDelivery].[Gross weight], [dbo].[FactMaterialDelivery].[Net weight], [dbo].[FactMaterialDelivery].[Number of Delivery Items], [dbo].[FactMaterialDelivery].[Volume delivered], [dbo].[FactMaterialDelivery].[MaterialPlantAttributeKey], [dbo].[FactMaterialDelivery].[Delivered Qty BUn] FROM [dbo].[FactMaterialDelivery] WHERE IssueDateKey<=20111231
so what could be the changes to be done to this query for a specific month of any year
any suggestion would be appriciated
NIHARIKA
|
|
|
|
|
UDP Broadcaster
      
Group: General Forum Members
Last Login: Yesterday @ 8:25 AM
Points: 1,467,
Visits: 922
|
|
Well in your a DateKey dimenstion table you should have columns like below.
copied this from adventureworksdw
CREATE TABLE [dbo].[DimTime]( [TimeKey] [int] IDENTITY(1,1) NOT NULL, [FullDateAlternateKey] [datetime] NULL, [DayNumberOfWeek] [tinyint] NULL, [EnglishDayNameOfWeek] [nvarchar](10) NULL, [SpanishDayNameOfWeek] [nvarchar](10) NULL, [FrenchDayNameOfWeek] [nvarchar](10) NULL, [DayNumberOfMonth] [tinyint] NULL, [DayNumberOfYear] [smallint] NULL, [WeekNumberOfYear] [tinyint] NULL, [EnglishMonthName] [nvarchar](10) NULL, [SpanishMonthName] [nvarchar](10) NULL, [FrenchMonthName] [nvarchar](10) NULL, [MonthNumberOfYear] [tinyint] NULL, [CalendarQuarter] [tinyint] NULL, [CalendarYear] [char](4) NULL, [CalendarSemester] [tinyint] NULL, [FiscalQuarter] [tinyint] NULL, [FiscalYear] [char](4) NULL, [FiscalSemester] [tinyint] NULL, CONSTRAINT [PK_DimTime_TimeKey] PRIMARY KEY CLUSTERED ( [TimeKey] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY], CONSTRAINT [AK_DimTime_FullDateAlternateKey] UNIQUE NONCLUSTERED ( [FullDateAlternateKey] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
GO
SET ANSI_PADDING ON GO
AND your query would looke like this.
SELECT [dbo].[FactMaterialDelivery].[MaterialDeliveryRowInfoKey], [dbo].[FactMaterialDelivery].[ActualIssueDateKey], [dbo].[FactMaterialDelivery].[Bill-toCustomerKey], [dbo].[FactMaterialDelivery].[IssueDateKey], [dbo].[FactMaterialDelivery].[MaterialKey], [dbo].[FactMaterialDelivery].[PayerCustomerKey], [dbo].[FactMaterialDelivery].[StoreKey], [dbo].[FactMaterialDelivery].[Ship-toCustomerKey], [dbo].[FactMaterialDelivery].[Sold-toCustomerKey], [dbo].[FactMaterialDelivery].[VendorKey], [dbo].[FactMaterialDelivery].[Actual Quantity Delivered Stock Units], [dbo].[FactMaterialDelivery].[Actual Quantity Delivered Sales Units], [dbo].[FactMaterialDelivery].[Gross weight], [dbo].[FactMaterialDelivery].[Net weight], [dbo].[FactMaterialDelivery].[Number of Delivery Items], [dbo].[FactMaterialDelivery].[Volume delivered], [dbo].[FactMaterialDelivery].[MaterialPlantAttributeKey], [dbo].[FactMaterialDelivery].[Delivered Qty BUn] FROM [dbo].[FactMaterialDelivery] INNER JOIN [dbo].[DimTime] dt ON [TimeKey] = IssueDateKey WHERE dt.[MonthNumberOfYear] = 6 AND [CalendarYear] = 2012
|
|
|
|
|
Valued Member
      
Group: General Forum Members
Last Login: Friday, May 17, 2013 11:15 AM
Points: 68,
Visits: 205
|
|
Hi Ray, Thank you so much for your reply..
|
|
|
|
|
Valued Member
      
Group: General Forum Members
Last Login: Friday, May 17, 2013 11:15 AM
Points: 68,
Visits: 205
|
|
Hi All, for below query what could be the considerable date for partitioning basing on month. here we can see translation date, document date, posting date dimensions. which one should consider?
SELECT [dbo].[FactMaterialMovement].[MaterialMovementRowInfoKey], [dbo].[FactMaterialMovement].[TranslationDateKey], [dbo].[FactMaterialMovement].[LocalCurrencyKey], [dbo].[FactMaterialMovement].[MaterialKey], [dbo].[FactMaterialMovement].[StoreKey], [dbo].[FactMaterialMovement].[CampaignKey], [dbo].[FactMaterialMovement].[DocumentCurrencyKey], [dbo].[FactMaterialMovement].[SoldToCustomerKey], [dbo].[FactMaterialMovement].[VendorKey], [dbo].[FactMaterialMovement].[DocumentDateKey], [dbo].[FactMaterialMovement].[PostingDateKey], [dbo].[FactMaterialMovement].[ReceivingPlantKey], [dbo].[FactMaterialMovement].[ShipToCustomerKey], [dbo].[FactMaterialMovement].[Subtotal2], [dbo].[FactMaterialMovement].[Subtotal3], [dbo].[FactMaterialMovement].[AmountPOUnit], [dbo].[FactMaterialMovement].[AmountLocalCurrency], [dbo].[FactMaterialMovement].[BWAmountinBUnitM], [dbo].[FactMaterialMovement].[BWCostValLocalCurrency], [dbo].[FactMaterialMovement].[BWSalesValueLocalCurrency], [dbo].[FactMaterialMovement].[SalesValLocalCurrency], [dbo].[FactMaterialMovement].[DeliveryCostsLocalCurrency], [dbo].[FactMaterialMovement].[GrossWeightSU], [dbo].[FactMaterialMovement].[GrossWeightBU], [dbo].[FactMaterialMovement].[GrossWeightG/R], [dbo].[FactMaterialMovement].[VolumeinSU], [dbo].[FactMaterialMovement].[MovingPriceLocalCurrency], [dbo].[FactMaterialMovement].[ZFACT1], [dbo].[FactMaterialMovement].[ZS_FACTO], [dbo].[FactMaterialMovement].[QuantityBaseUOM], [dbo].[FactMaterialMovement].[DelivQtyinSUn], [dbo].[FactMaterialMovement].[Qtyinunofentry], [dbo].[FactMaterialMovement].[Volume], [dbo].[FactMaterialMovement].[MateriallantAttributeKey]
FROM [dbo].[FactMaterialMovement] WHERE
thanks Niharika
|
|
|
|
|
SSC-Enthusiastic
      
Group: General Forum Members
Last Login: Yesterday @ 3:16 AM
Points: 117,
Visits: 459
|
|
Hi,
It depends on two factors What is the most common date used for querying - therefore the users queries will be quicker if partitioned correctly Or do you get a date that is always incremental in your load and therefore you could process your cubes by just the latest partition - this will make your processing quicker
That's a judgement call you will have to make as it is impossible for me to understand any of this purely off the column names
Mack
|
|
|
|
|
Valued Member
      
Group: General Forum Members
Last Login: Friday, May 17, 2013 11:15 AM
Points: 68,
Visits: 205
|
|
Thanks for the reply and if there are many date keys we can choose appropriate one to make partitions.
but for following query , how can we choose SELECT dbo.DimPurchaseSDABRowInfo_view.RowInfoKey, dbo.DimPurchaseSDABRowInfo_view.Source AS SourceSDAB, dbo.DimPurchaseSDABRowInfo_view.SourceName AS SourceNameSDAB, ISNULL(dbo.DimProfitCenterNames.ProfitCenterName, N'N/A') AS [ProfitCenterName_FI-SDAB], REPLACE(LTRIM(REPLACE(dbo.DimPurchaseSDABRowInfo_view.ProfitCenter, '0', ' ')), ' ', '0') + ' - ' + ISNULL(dbo.DimProfitCenterNames.ProfitCenterName, N'N/A') AS [ProfitCenter_FI-SDAB], dbo.DimPurchaseSDABRowInfo_view.PurchaseInvoiceSD AS PurchaseInvoiceSDAB, dbo.DimPurchaseSDABRowInfo_view.FiscalYear AS FiscalYearSDAB, dbo.DimPurchaseSDABRowInfo_view.FiscalYearVariant AS FiscalYearVariantSDAB, dbo.DimPurchaseSDABRowInfo_view.LIVInvoiceItem AS LIVInvoiceItemSDAB, dbo.DimPurchaseSDABRowInfo_view.AccountAssignmentCategory AS AccountAssignmentCategorySDAB, dbo.DimPurchaseSDABRowInfo_view.BaseUnit AS BaseUnitSDAB, dbo.DimPurchaseSDABRowInfo_view.BWDocumentItemNumber AS BWDocumentItemNumberSDAB, dbo.DimPurchaseSDABRowInfo_view.PurchaseOrder AS PurchaseOrderSDAB, dbo.DimPurchaseSDABRowInfo_view.CompanyCode AS CompanyCodeSDAB, dbo.DimPurchaseSDABRowInfo_view.VendorCountry AS VendorCountrySDAB, dbo.DimPurchaseSDABRowInfo_view.DebitCreditIndicator AS DebitCreditIndicatorSDAB, dbo.DimPurchaseSDABRowInfo_view.DeliveryCompletedIndicator AS DeliveryCompletedIndicatorSDAB, dbo.DimPurchaseSDABRowInfo_view.Vendor AS VendorSDAB, dbo.DimPurchaseSDABRowInfo_view.PurchaseInvoiceTypeSD AS PurchaseInvoiceTypeSDAB, dbo.DimPurchaseSDABRowInfo_view.ExchangeRate AS ExchangeRateSDAB, dbo.DimPurchaseSDABRowInfo_view.FinalInvoiceIndicator AS FinalInvoiceIndicatorSDAB, dbo.DimPurchaseSDABRowInfo_view.PurchasingGroup AS PurchasingGroupSDAB, dbo.DimPurchaseSDABRowInfo_view.PurchasingOrganization AS PurchasingOrganizationSDAB, dbo.DimPurchaseSDABRowInfo_view.ItemCategory AS ItemCategorySDAB, dbo.DimPurchaseSDABRowInfo_view.Material AS MaterialSDAB, dbo.DimPurchaseSDABRowInfo_view.MaterialGroup AS MaterialGroupSDAB, dbo.DimPurchaseSDABRowInfo_view.Notification AS NotificationSDAB, dbo.DimPurchaseSDABRowInfo_view.OrderUnit AS OrderUnitSDAB, dbo.DimPurchaseSDABRowInfo_view.OriginofLogisticsInvoiceVerificationDocument AS OriginofLogisticsInvoiceVerificationDocumentSDAB, dbo.DimPurchaseSDABRowInfo_view.Plant AS PlantSDAB, dbo.DimPurchaseSDABRowInfo_view.ProfitCenter AS ProfitCenterSDAB, dbo.DimPurchaseSDABRowInfo_view.PurchaseOrderType AS PurchaseOrderTypeSDAB, dbo.DimPurchaseSDABRowInfo_view.ReferenceDocumentNumber AS ReferenceDocumentNumberSDAB, dbo.DimPurchaseSDABRowInfo_view.ConditionType AS ConditionTypeSDAB, dbo.DimPurchaseSDABRowInfo_view.SalesUnit AS SalesUnitSDAB, dbo.DimPurchaseSDABRowInfo_view.COArea AS COAreaSDAB, dbo.DimPurchaseSDABRowInfo_view.StorageLocation AS StorageLocationSDAB, dbo.DimPurchaseSDABRowInfo_view.TaxCode AS TaxCodeSDAB, dbo.DimPurchaseSDABRowInfo_view.PaymentTermsKey AS PaymentTermsKeySDAB, dbo.DimPurchaseSDABRowInfo_view.UnitOfMeasure AS UnitOfMeasureSDAB, dbo.DimPurchaseSDABRowInfo_view.UserName AS UserNameSDAB, dbo.DimPurchaseSDABRowInfo_view.ZLVType AS ZLVTypeSDAB, dbo.DimPurchaseSDABRowInfo_view.OutwardDeliveryCompletedIndicator AS OutwardDeliveryCompletedIndicatorSDAB, dbo.DimPurchaseSDABRowInfo_view.OrderPriceUnit AS OrderPriceUnitSDAB, dbo.DimPurchaseSDABRowInfo_view.LogisticModel AS LogisticModelSDAB, dbo.DimPurchaseSDABRowInfo_view.InsertAuditKey, dbo.DimPurchaseSDABRowInfo_view.DistributionChannel AS DistributionChannelSDAB, dbo.DimPurchaseSDABRowInfo_view.DocumentType AS DocumentTypeSDAB, dbo.DimPurchaseSDABRowInfo_view.SalesGroup AS SalesGroupSDAB, dbo.DimPurchaseSDABRowInfo_view.SalesOffice AS SalesOfficeSDAB, dbo.DimPurchaseSDABRowInfo_view.Incoterms, dbo.DimPurchaseSDABRowInfo_view.Incoterms2 FROM dbo.DimPurchaseSDABRowInfo_view LEFT OUTER JOIN dbo.DimProfitCenterNames ON dbo.DimProfitCenterNames.ProfitCenterID = dbo.DimPurchaseSDABRowInfo_view.ProfitCenter AND dbo.DimProfitCenterNames.[Language] = 'U'
|
|
|
|
|
SSC-Dedicated
           
Group: General Forum Members
Last Login: Today @ 2:32 PM
Points: 32,906,
Visits: 26,792
|
|
niha.736 (10/23/2012) Thanks for the reply and if there are many date keys we can choose appropriate one to make partitions.
but for following query , how can we choose SELECT dbo.DimPurchaseSDABRowInfo_view.RowInfoKey, dbo.DimPurchaseSDABRowInfo_view.Source AS SourceSDAB, dbo.DimPurchaseSDABRowInfo_view.SourceName AS SourceNameSDAB, ISNULL(dbo.DimProfitCenterNames.ProfitCenterName, N'N/A') AS [ProfitCenterName_FI-SDAB], REPLACE(LTRIM(REPLACE(dbo.DimPurchaseSDABRowInfo_view.ProfitCenter, '0', ' ')), ' ', '0') + ' - ' + ISNULL(dbo.DimProfitCenterNames.ProfitCenterName, N'N/A') AS [ProfitCenter_FI-SDAB], dbo.DimPurchaseSDABRowInfo_view.PurchaseInvoiceSD AS PurchaseInvoiceSDAB, dbo.DimPurchaseSDABRowInfo_view.FiscalYear AS FiscalYearSDAB, dbo.DimPurchaseSDABRowInfo_view.FiscalYearVariant AS FiscalYearVariantSDAB, dbo.DimPurchaseSDABRowInfo_view.LIVInvoiceItem AS LIVInvoiceItemSDAB, dbo.DimPurchaseSDABRowInfo_view.AccountAssignmentCategory AS AccountAssignmentCategorySDAB, dbo.DimPurchaseSDABRowInfo_view.BaseUnit AS BaseUnitSDAB, dbo.DimPurchaseSDABRowInfo_view.BWDocumentItemNumber AS BWDocumentItemNumberSDAB, dbo.DimPurchaseSDABRowInfo_view.PurchaseOrder AS PurchaseOrderSDAB, dbo.DimPurchaseSDABRowInfo_view.CompanyCode AS CompanyCodeSDAB, dbo.DimPurchaseSDABRowInfo_view.VendorCountry AS VendorCountrySDAB, dbo.DimPurchaseSDABRowInfo_view.DebitCreditIndicator AS DebitCreditIndicatorSDAB, dbo.DimPurchaseSDABRowInfo_view.DeliveryCompletedIndicator AS DeliveryCompletedIndicatorSDAB, dbo.DimPurchaseSDABRowInfo_view.Vendor AS VendorSDAB, dbo.DimPurchaseSDABRowInfo_view.PurchaseInvoiceTypeSD AS PurchaseInvoiceTypeSDAB, dbo.DimPurchaseSDABRowInfo_view.ExchangeRate AS ExchangeRateSDAB, dbo.DimPurchaseSDABRowInfo_view.FinalInvoiceIndicator AS FinalInvoiceIndicatorSDAB, dbo.DimPurchaseSDABRowInfo_view.PurchasingGroup AS PurchasingGroupSDAB, dbo.DimPurchaseSDABRowInfo_view.PurchasingOrganization AS PurchasingOrganizationSDAB, dbo.DimPurchaseSDABRowInfo_view.ItemCategory AS ItemCategorySDAB, dbo.DimPurchaseSDABRowInfo_view.Material AS MaterialSDAB, dbo.DimPurchaseSDABRowInfo_view.MaterialGroup AS MaterialGroupSDAB, dbo.DimPurchaseSDABRowInfo_view.Notification AS NotificationSDAB, dbo.DimPurchaseSDABRowInfo_view.OrderUnit AS OrderUnitSDAB, dbo.DimPurchaseSDABRowInfo_view.OriginofLogisticsInvoiceVerificationDocument AS OriginofLogisticsInvoiceVerificationDocumentSDAB, dbo.DimPurchaseSDABRowInfo_view.Plant AS PlantSDAB, dbo.DimPurchaseSDABRowInfo_view.ProfitCenter AS ProfitCenterSDAB, dbo.DimPurchaseSDABRowInfo_view.PurchaseOrderType AS PurchaseOrderTypeSDAB, dbo.DimPurchaseSDABRowInfo_view.ReferenceDocumentNumber AS ReferenceDocumentNumberSDAB, dbo.DimPurchaseSDABRowInfo_view.ConditionType AS ConditionTypeSDAB, dbo.DimPurchaseSDABRowInfo_view.SalesUnit AS SalesUnitSDAB, dbo.DimPurchaseSDABRowInfo_view.COArea AS COAreaSDAB, dbo.DimPurchaseSDABRowInfo_view.StorageLocation AS StorageLocationSDAB, dbo.DimPurchaseSDABRowInfo_view.TaxCode AS TaxCodeSDAB, dbo.DimPurchaseSDABRowInfo_view.PaymentTermsKey AS PaymentTermsKeySDAB, dbo.DimPurchaseSDABRowInfo_view.UnitOfMeasure AS UnitOfMeasureSDAB, dbo.DimPurchaseSDABRowInfo_view.UserName AS UserNameSDAB, dbo.DimPurchaseSDABRowInfo_view.ZLVType AS ZLVTypeSDAB, dbo.DimPurchaseSDABRowInfo_view.OutwardDeliveryCompletedIndicator AS OutwardDeliveryCompletedIndicatorSDAB, dbo.DimPurchaseSDABRowInfo_view.OrderPriceUnit AS OrderPriceUnitSDAB, dbo.DimPurchaseSDABRowInfo_view.LogisticModel AS LogisticModelSDAB, dbo.DimPurchaseSDABRowInfo_view.InsertAuditKey, dbo.DimPurchaseSDABRowInfo_view.DistributionChannel AS DistributionChannelSDAB, dbo.DimPurchaseSDABRowInfo_view.DocumentType AS DocumentTypeSDAB, dbo.DimPurchaseSDABRowInfo_view.SalesGroup AS SalesGroupSDAB, dbo.DimPurchaseSDABRowInfo_view.SalesOffice AS SalesOfficeSDAB, dbo.DimPurchaseSDABRowInfo_view.Incoterms, dbo.DimPurchaseSDABRowInfo_view.Incoterms2 FROM dbo.DimPurchaseSDABRowInfo_view LEFT OUTER JOIN dbo.DimProfitCenterNames ON dbo.DimProfitCenterNames.ProfitCenterID = dbo.DimPurchaseSDABRowInfo_view.ProfitCenter AND dbo.DimProfitCenterNames.[Language] = 'U'
This has nothing to do with the problem at hamd but this would be a whole lot easier to read if you learned how to use table aliases.
As to which date to use, only you can decide that.
--Jeff Moden "RBAR is pronounced "ree-bar" and is a "Modenism" for "Row-By-Agonizing-Row".
First step towards the paradigm shift of writing Set Based code: Stop thinking about what you want to do to a row... think, instead, of what you want to do to a column."
For better, quicker answers on T-SQL questions, click on the following... http://www.sqlservercentral.com/articles/Best+Practices/61537/
For better answers on performance questions, click on the following... http://www.sqlservercentral.com/articles/SQLServerCentral/66909/
|
|
|
|
|
Valued Member
      
Group: General Forum Members
Last Login: Friday, May 17, 2013 11:15 AM
Points: 68,
Visits: 205
|
|
Hi Thanks for ur reply,
if u can explain in detail about previous query , it will help me alot. show me the right way of thinking. am not an expert in sql queries, but am trying to do it.
thanks, Niharika
|
|
|
|