SSAS Average value for range values

I have sales data provided weekly, and search data quarterly. In the SSAS data cube, I previously calculated the average amount of sales data for each time period, and I need to do this to get the related record from LookupTable for the following calculations, where: LookupTable.Min <Average sales <LookupTable.Max

Example:

Sales = 297 + 33 + 311 = 641

SalesAverage = 213.66

LookupRecordShrinkageIndicator = Min <SalesAverage <Max = 0 <213.66 9000 = 0.007

CREATE TABLE dbo.SalesData
(
    Id int,
    Sales decimal(18, 2)    )


CREATE TABLE dbo.LookupTable
(
    Id int,
    Min int,
    Max int,
    Shrinkage decimal(10, 5),
    Wages decimal(10, 5),
    Waste decimal(10, 5)
 )

INSERT [dbo].[SalesData] ([Id], [Sales]) VALUES (1, 297)
INSERT [dbo].[SalesData] ([Id], [Sales]) VALUES (2, 33)
INSERT [dbo].[SalesData] ([Id], [Sales]) VALUES (3, 311)

INSERT [dbo].[LookupTable] ([Id], [Min], [Max], [Shrinkage], [Wages], [Waste]) VALUES (1, 0, 9000, 0.00700, 0.12700, 0.00300)
INSERT [dbo].[LookupTable] ([Id], [Min], [Max], [Shrinkage], [Wages], [Waste]) VALUES (2, 9000, 9250, 0.00700, 0.12700, 0.00300)
INSERT [dbo].[LookupTable] ([Id], [Min], [Max], [Shrinkage], [Wages], [Waste]) VALUES (3, 9250, 9500, 0.00700, 0.12300, 0.00300)

I need to create a calculated item based on the sales average that contains indicators from the search table for the following calculations.

+4
1

, LookupTable , , .

  • LookupTable:

  • , Lookup . Cube design view

  • Lookup

:

mdx:

SELECT 
{
    FILTER([Lookup Table].[Id].AllMembers ,  [Measures].[Min] <= 213 AND [Measures].[Max] > 213 )
}
ON COLUMNS,
{
    [Measures].[Shrinkage - Lookup Table], [Measures].[Wages - Lookup Table], [Measures].[Waste - Lookup Table]

} ON ROWS
FROM
[MyCube]

:

MDX Query result

,

+1

All Articles