Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 SSAS подсчет меры 'Наиболее распространенная проблема'  [new]
Гулин Федор
Member

Откуда: МИНСК
Сообщений: 906
Добрый день всем.
Есть Куб 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

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)
и засунть его в меру (не знаю возмжоно ли это в принципе)

любые мысли и ссылки (наверяняка есть но что-то я не нашел толковой статьи на эту тему ) велкам.
13 июн 17, 15:01    [20560744]     Ответить | Цитировать Сообщить модератору
 Re: SSAS подсчет меры 'Наиболее распространенная проблема'  [new]
tashkafox
Member

Откуда: Москва
Сообщений: 49
Гулин Федор,
попробую :)

tail(order(nonempty(
		[Dim Problem].[Problem].[All].children 
		,[Measures].[Problem Key Count])
	,[Measures].[Problem Key Count]
	,asc)
,1).item(0).member_caption
13 июн 17, 17:28    [20561356]     Ответить | Цитировать Сообщить модератору
 Re: SSAS подсчет меры 'Наиболее распространенная проблема'  [new]
Гулин Федор
Member

Откуда: МИНСК
Сообщений: 906
СПАСИБО
помучался вчера сильно - хотя задача вроде простая но не сталкивался раньше

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

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

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 --  
			)
	,[b]100[/b]).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]
14 июн 17, 15:39    [20564134]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить