Hi Evgeny,

 I have a dashboard with two widjtes and I linked like showed in the  the picture below:

 

 My doubt was if I have to do some action to appears  this change in deepsee web, because in the past I made changes in a dashboard and automatically appears in DW.

Changing the matter, I want to know if it's ready the version 3.0 of DW. How I can get this version ? Because it will fix some issues that I need.

Thanks for your help. 

Jaqueline K.

Hi Evgeny,

Definitely it's possible to use the operator IN inside the build restricction. The problem is that I don'y have a fixed value, the values of this condition cames from a dimension called "DatoSplunk" that cames from a method that brings the string. This values it will be always changing because it's another class and the data cames from a csv file. Also, Deepsee have a restriction about the size inside the operator IN. 

Thanks for your answer

Hi community, here I show the final solution  that resolve my problem. It was necessary create 3 methods.  In this solution the hierarchy was built programatically. 

ClassMethod GetUnitLevel(pUnidad As %Integer, pLevelReq As %Integer, ByRef pSC As %Status) As %String
{
Set str = ""
Set pSC = $$$OK
Try
{
Set objUnidad = ##class(AUPOL.CT.UnidadPolicial).%OpenId(pUnidad)

Set tUnidadInterno = objUnidad.IdUnidadInterno

#Dim objCTUnidad As AUPOL.CT.Unidad
Set objCTUnidad = ..GetCTUnidadByUniCodigo(tUnidadInterno)

If $IsObject(objCTUnidad)
{
Set objCTUnidadPadre = ..GetUnitLevelRef(objCTUnidad,pSC,.pArray)
Quit:$System.Status.IsError(pSC)


Set total = $order(pArray(""),-1)
Set nivel = 0
Set cursor = ""

If ( (pLevelReq -1) = total)
{
Set str = objCTUnidad.UNIDESCRIPCION
}
ElseIf ((pLevelReq > total))
{
Set str = ""
}
Else
{
For
{
Set nivel = nivel + 1
Set cursor = $order(pArray(cursor),-1)
Set str = pArray(cursor)

  
Quit:((pLevelReq = nivel))
}
}
"pLevelReq ",pLevelReq,!
"total ",total,!
"str ",str,!
}
}
Catch(e)
{
Set pSC = e.AsStatus()
}
Quit str
}

ClassMethod GetUnitLevelRef(pCTUnidad As AUPOL.CT.Unidad, ByRef pSC As %Status, ByRef pArray) As AUPOL.CT.Unidad
{
#Dim objUnidad As AUPOL.CT.Unidad
Set objUnidad = pCTUnidad
Try

Set objPadre = ..GetCTUnidadByUniCodigo(pCTUnidad.UNIPADRE,.pSC)
Quit:$System.Status.IsError(pSC)

If ($IsObject(objPadre))
{
If ($DATA(pArray) = 0)
{
Set pArray(1) = objPadre.UNIDESCRIPCION
}
ELSE
{
Set iNext = $order(pArray(""),-1) + 1

Set pArray(iNext) = objPadre.UNIDESCRIPCION
}

If ( objPadre.UNIPADRE > 0 )
{
Set objPadre = ..GetUnitLevelRef(objPadre, .pSC,.pArray)
Quit:$System.Status.IsError(pSC)
}
Set objUnidad = objPadre
}
}
Catch(e)
{
Set pSC = e.AsStatus()
}
Quit objUnidad
}

ClassMethod GetCTUnidadByUniCodigo(pUniCodigo As %String, ByRef pSC As %Status) As AUPOL.CT.Unidad
{
Set obj = ""
Try
{
Set sql = "SELECT %Id "_
 "FROM AUPOL_CT.Unidad "_
"WHERE Unicodigo = ? "

Set res = ##Class(%ResultSet).%New()

Set pSC = res.Prepare(sql)
Quit:$System.Status.IsError(pSC)

Set pSC = res.Execute(pUniCodigo)
Quit:$System.Status.IsError(pSC)

If (res.Next())
{
Set obj = res.GetObject()
}
}
Catch(e)
{
Set pSC = e.AsStatus()
}
Quit obj
}

ClassMethod TieneSubordinados(pUniCodigo As %String, ByRef pSC As %Status) As %Boolean
{
Set bool = 0
Try
{

Set sql = "SELECT SUM(*) As NumeroHijos "_
 "FROM AUPOL_CT.Unidad "_
"WHERE UNIPADRE = ? "

Set res = ##Class(%ResultSet).%New()

Set pSC = res.Prepare(sql)
Quit:$System.Status.IsError(pSC)

Set pSC = res.Execute(pUniCodigo)
Quit:$System.Status.IsError(pSC)

If (res.Next())
{
Set iNum = res.Get("NumeroHijos")

if (iNum > 0)
{
Set bool = 1
}
}


}
Catch(e)
{
Set pSC = e.AsStatus()
}
Quit bool
}

}
 

Hi Samuel, 

 Thanks for your comment.  Each comisaria belongs to only one prefecture , but one prefecture has one or more comisarias. I have many units type, but I can group them and define which hierarchy they belongs. Example:  Unit type = 20 and 90 corresponds a Zone, Unit type = 30 corresponds a Prefecture, Unit Type = 40 corresponds a Comisaria, Unit type in 50,60,70,80 corresponds a Destacamento. There are some Unit Type that I don't need. 

Regards,

Jaqueline K.

Hi Eduard,

In relation of my first problem, it's solved. About the second question I have four widjets that user a filter with a calendar, by range of Day. The idea is to use only one generic filter that affects the four widjets. Two of them uses the same date and the others another date. To implement the solution with the pivot variable and the computed dimensions I wrote to Evgency explaining the problem, because one of the date becames from a relationship that exists in the cube and didn´t appear the dimension level when I build the computed dimension.

Thanks for yor help. 

Hi Evgeny,

Sorry for asking two questions in the same post, for the next time will be only one. About the problems that I had, the first one works, I used the comma to select the widjets that will be affected by the date. In relation of the second problem, the possibility  to have a generic date that affects all of the widjtes with different dates, I still have a problem because I have to build two calculated dimensions and one of the date comes from a relation, then when I choose the dimension appears only the name of the relation and in the field dimension level didn´t appear anything. 

Thanks.