У мене є проблема, з якою я стикаюсь кожного разу, коли вирішу будувати куб, і я ще не знайшов способу його подолати.
Питання полягає в тому, як дозволити користувачеві автоматично визначати діапазон речей, не маючи необхідності жорстко кодувати їх у вимірі. Я поясню свою проблему на прикладі.
У мене є таблиця під назвою Клієнти :
це дані в таблиці:
Я хочу відобразити дані у стилі повороту та згрупувати заробітну плату та вік у визначені діапазони, як показано нижче:
Я написав цей сценарій і визначив діапазони:
SELECT [CustId]
,[CustName]
,[Age]
,[Salary]
,[SalaryRange] = case
when cast(salary as float) <= 500 then
'0 - 500'
when cast(salary as float) between 501 and 1000 then
'501 - 1000'
when cast(salary as float) between 1001 and 2000 then
'1001 - 2000'
when cast(salary as float) > 2000 then
'2001+'
end,
[AgeRange] = case
when cast(age as float) < 15 then
'below 15'
when cast(age as float) between 15 and 19 then
'15 - 19'
when cast(age as float) between 20 and 29 then
'20 - 29'
when cast(age as float) between 30 and 39 then
'30 - 39'
when cast(age as float) >= 40 then
'40+'
end
FROM [Customers]
GO
Мої діапазони жорстко закодовані та визначені. Коли я копіюю дані в Excel і переглядаю їх у зведеній таблиці, це відображається нижче:
Моя проблема полягає в тому, що я хочу створити куб, перетворивши таблицю « Клієнти» в таблицю фактів і створити 2 таблиці розмірів SalaryDim & AgeDim .
Таблиця SalaryDim має 2 стовпці ( SalaryKey, SalaryRange ), а таблиця AgeDim схожа ( ageKey, AgeRange ). Таблиця фактів мого клієнта :
Customer
[CustId]
[CustName]
[AgeKey] --> foreign Key to AgeDim
[Salarykey] --> foreign Key to SalaryDim
Мені все ж доведеться визначити свої діапазони всередині цих вимірів. Кожен раз, коли я підключаю поворот Excel до свого куба, я можу бачити лише ці твердо кодовані діапазони.
Моє запитання полягає в тому, як динамічно визначати діапазони зі зведеної таблиці безпосередньо, не створюючи розмірних діапазонів, таких як AgeDim та SalaryDim . Я не хочу притримуватися лише діапазонів, визначених у вимірі.
Визначений діапазон - "0-25", "26-30", "31 - 50". Можливо, я хочу змінити його на "0-20", "21 -31", "32 -42" і так далі, і користувачі щоразу вимагають різних діапазонів.
Кожен раз, коли я його змінюю, я повинен змінювати вимір. Як я можу покращити цей процес?
Було б чудово, щоб рішення було реалізовано в кубі, так що будь-який BI-клієнтський інструмент, який підключається до куба, може визначати діапазони, але я не заперечую, чи є хороший спосіб використання лише Excel.