powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / SSAS подсчет меры 'Наиболее распространенная проблема'
3 сообщений из 3, страница 1 из 1
SSAS подсчет меры 'Наиболее распространенная проблема'
    #39471010
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем.
Есть Куб SSAS
Problem <--( Bridge Event Problem ) -- Event -- ( 1 ко многим )---> EventType

Bridge Event Problem
Надо выдать результат

EventType Мера1 , Мера2 , [Наиболее распространненная проблема] as m11

Мера1 , Мера2 посчитаны и выдаются ок (одна по ТФ Event , 2-я как Distinct Count по Bridge )

Проблема как выдать m11 - т.е проблема наиболее часто встречающиеся у пациентов

(в SQL я бы сделал группировку по нужным полям и взял MAX + потом пришлось бы еще выбирать проблему с кол-вом проблем = MAX по ранк = 1 (чтобы отсечь если несколько проблем имеют MAX))

Не могу сообразить в MDX

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
WITH MEMBER Measures.C1 AS  MAX -- Count
 (
   -- [Dim Event Type].[Event Type].[Event Type].ALLMEMBERS 
   [Dim Problem].[Problem].[Problem].ALLMEMBERS 
 , [Measures].[Problem Key Count]
  )
 SELECT NON EMPTY 
 { 
  [Measures].[Problem Key Count] 
  , [Measures].C1  
  --, [Measures].[# of Events]  
  } 
 ON COLUMNS
 , 
 NON EMPTY 
 { (
 [Dim Event Type].[Event Type].[Event Type].ALLMEMBERS 
 *  [Dim Problem].[Problem].[Problem].ALLMEMBERS 
 ) }
 HAVING [Measures].[Problem Key Count] = [Measures].C1
   ON ROWS 
 FROM [Simply Connect DWH]




1?) HAVING [Measures].[Problem Key Count] = [Measures].C1
отрезает другие - но значения с MAX значениями остаются
Event тип 1 - проблема1 - 1
Event тип 1 - проблема2 - 1
Event тип 1 - проблема3 - 1

Мне как-то оставить одну проблему (скажем 1-ю по алфавиту или любую)

2?) Даже елси удастся отрезать 1-й резатл-сет
после добавления других мер
( например число евентов по типу - обычный count : # events )

NON EMPTY перестает мне резать резалтсет

остается куча записей - что логично
Problem Key Count с1 # events
Event тип 1 ; проблема1 ; null ; null ; 33
Event тип 1 ; проблема2 ; null ; null ; 33

Вообще в идеале мне нужна мера в кубе возвращающая имя проблемы (строку) - не знаю возможно ли это ?


3?) думаю нельзя ли сюда как-то прикрутить TopCount (Top 1)
и засунть его в меру (не знаю возмжоно ли это в принципе)

любые мысли и ссылки (наверяняка есть но что-то я не нашел толковой статьи на эту тему ) велкам.
...
Рейтинг: 0 / 0
SSAS подсчет меры 'Наиболее распространенная проблема'
    #39471085
tashkafox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гулин Федор,
попробую :)

Код: sql
1.
2.
3.
4.
5.
6.
tail(order(nonempty(
		[Dim Problem].[Problem].[All].children 
		,[Measures].[Problem Key Count])
	,[Measures].[Problem Key Count]
	,asc)
,1).item(0).member_caption
...
Рейтинг: 0 / 0
SSAS подсчет меры 'Наиболее распространенная проблема'
    #39471606
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СПАСИБО
помучался вчера сильно - хотя задача вроде простая но не сталкивался раньше

Идея очень близка - мне с др. стороны подсказали через TopCount
и я сделал - достал из пропертей имя - свой вариант mm2

а в этом варинате не оч. ясно сколько записей в tail брать

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
WITH 
MEMBER Measures.mm2 as 
IIF ( [Measures].[# of Problems] = NULL , NULL ,
		TopCount
			(    [Dim Problem].[Problem].[Problem].MEMBERS
			   , 1
			   , [Measures].[# of Problems] 
			 )(0).Properties("Name") 
	 )
MEMBER Measures.tt as 
IIF ( [Measures].[# of Problems] = NULL , NULL ,
	tail(
		 order( nonempty(
			 -- [Dim Problem].[Problem].[All].children 
			  [Dim Problem].[Problem].[Problem].MEMBERS
			, [Measures].[# of Problems]  )
			, [Measures].[# of Problems] 
		, asc -- DESC --  -- DESC --  
			)
	,100).item(0).member_caption
	 )
Select  NON EMPTY  
{
--[Measures].[# of Events],[Measures].[# of Patients with CCD]
[Measures].[# of Patients with Problem]
,[Measures].[% of Patients with Medication by Event type]
--,[Measures].[Most Common Problem]
, {Measures.mm2} -- as mm333
, {Measures.tt} 
} 
on columns
, NON EMPTY  
{[Dim Event Type].[Event Type].[Event Type].AllMembers}  
ON ROWS  
FROM [DWH]
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / SSAS подсчет меры 'Наиболее распространенная проблема'
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]