Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
reikermann
Frequent Visitor

Mostrar datos en tabla con lógica no trivial

Hola comunidad de Power BI,

Tengo una tabla de tickets y una medida que calcula para un intervalo de tiempo seleccionado: cuántos tickets se abrieron para ese intervalo de tiempo, pero se cerró en ese intervalo de tiempo (o más tarde).

IdCreadoResuelto
1 15.10.2020 15:06:2320.10.2020 09:30:09
214.10.2020 13:55:2716.10.2020 10:14:55
316.10.2020 08:57:3302.11.2020 07:43:09
421.10.2020 11:03:44

La medida:

Old Tickets = 
VAR minDate = CALCULATE(MIN('Date'[Date]))
VAR oldTickets = CALCULATE(COUNTROWS(Tickets),Tickets[created]<minDate,OR(Tickets[solved]>=minDate,ISBLANK(Tickets[solved])))
RETURN 
oldTickets

Ahora me gusta agregar una obtención de detalles que muestren estos boletos antiguos en una tabla. Mi problema es: el filtro normal con las relaciones parece no ser posible. El siguiente intento fue una columna calculada que indica con true/false, si esta fila debe mostrarse para la selección de filtro actual. El problema aquí se calcula columna no tiene acceso/afecta al filtro actual y una medida no se puede evaluar en el contexto de una fila.
En la siguiente imagen se puede ver en la tabla izquierda, los datos de ticket abstracto: id, creado (fecha), resuelto (fecha), CreatedWeek y solvedWeek es sólo la semana de la fecha correspondiente.
A la derecha se puede ver la medida de "billetes antiguos", para KW 43 (Semana 43 del año) es "2" porque los tickets id 1 y 3 se crean antes de KW43, pero se resolvieron en KW 43 o posterior. El id de entrada "2" no se cuenta como "antiguo" porque fue creado en KW42 y resuelto en KW42.
image.png

Con la obtención de detalles (en KW43) me gustaría mostrar una tabla de detalles que incluye los tickets id 1 y 3
image.png

En la página "Mostrar tickets antiguos" es la tabla, que muestra los datos del ticket. Agregué una columna calculada que se evalúa como true/false. El objetivo era filtrar la tabla para mostrar solo las filas donde la fórmula "ShowinDetailsTable" es true. No funciona porque en la fórmula de columna calculada el filtro no está activo.

ShowinDetailsTable = 

//calculate for each row if it is to be shown for current filter settings: ticket was created before filtered, but was solved later

//like in measure "Old Tickets" select first date for current filter (since we are in calculated column this is not the first date of filter, but first date at all in Date table)
VAR minDate = CALCULATE(MIN('Date'[Date]))

VAR show = IF(
    AND(
        Tickets[created]<minDate,
        OR(
            Tickets[solved]>=minDate,
            ISBLANK(Tickets[solved])
        )
    ),
    TRUE(),
    FALSE())

RETURN
show
​


image.png

Creo que me gustaría algún tipo de "tabla de medida" y mostrar resultados directamente en la tabla visual


Ejemplo de archivo PBIX: https://www.dropbox.com/sh/iw4snh0goeoeoy5/AABlG9V2yGacQWvKbgWA62XXa?dl=0


Gracias por cualquier comentario o idea para darse cuenta de esto en Power BI

1 ACCEPTED SOLUTION
mahoneypat
Employee
Employee

Es mi culpa. Puede utilizar una medida como esta para utilizarla en el Panel de filtros para el objeto visual de tabla donde "está" 1.

IsOpen á var vMinDate ? MIN('Date'[Date])
var vMaxDate á MAX('Date'[Date])
var thiscreated á MIN(Tickets[creado])
var thissolved - MIN(Tickets[resuelto])
return if(AND(thiscreated<-vMaxDate, thissolved>-vMinDate), 1, 0)
example.png

Tenga en cuenta que es posible que tenga que adaptarse para cuando se cierra un ticket en el último día del período, ya que tiene un componente de tiempo mayor que el valor predeterminado de 12 AM.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


View solution in original post

5 REPLIES 5
mahoneypat
Employee
Employee

Es mi culpa. Puede utilizar una medida como esta para utilizarla en el Panel de filtros para el objeto visual de tabla donde "está" 1.

IsOpen á var vMinDate ? MIN('Date'[Date])
var vMaxDate á MAX('Date'[Date])
var thiscreated á MIN(Tickets[creado])
var thissolved - MIN(Tickets[resuelto])
return if(AND(thiscreated<-vMaxDate, thissolved>-vMinDate), 1, 0)
example.png

Tenga en cuenta que es posible que tenga que adaptarse para cuando se cierra un ticket en el último día del período, ya que tiene un componente de tiempo mayor que el valor predeterminado de 12 AM.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


mahoneypat
Employee
Employee

Pruebe una expresión como esta para mostrar el número de tickets abiertos en cualquier contexto de fecha de entrega (sin relación entre las tablas). Si necesita una relación (para otros análisis), simplemente puede agregar un ALL en EL CALCULATE. Usted debe ser capaz de adaptar este patrón de medida, si es necesario.

Entradas abiertas ?
VAR vMinDate ?
MIN ( 'Fecha'[Fecha] )
VAR vMaxDate ?
MAX ( 'Fecha'[Fecha] )
devolución
CALCULAR (
COUNTROWS ( Entradas ),
Boletos[creados] <- vMaxDate,
Entradas[resolvidas] > á vMinDate
)

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


@mahoneypat gracias! Creo que ya tengo la medida "viejas entradas":

Old Tickets = 
VAR minDate = CALCULATE(MIN('Date'[Date]))
VAR oldTickets = CALCULATE(COUNTROWS(Tickets),Tickets[created]<minDate,OR(Tickets[solved]>=minDate,ISBLANK(Tickets[solved])))
RETURN 
oldTickets

Y puedo visualizar el número de "entradas abiertas/antiguas" en el gráfico de barras.

image.png

Ahora Me gustaría seleccionar una barra (seleccione una semana) a través de la obtención de detalles y mostrar todas las entradas que son "antiguas / abiertas" en esta semana, no sólo el número de entradas.

Si se selecciona la semana 43 me gustaría en la siguiente tabla que muestra los tickets con id "1" y "3"
image.png

amitchandak
Super User
Super User

@amitchandak, gracias por la referencia. No estoy seguro de cómo su referencia podría ayudar en este caso. Creo que su caso sería mostrar una mesa con todos los empleados empleado en el "Año del Mes" seleccionado en su "Dashboard"

Dado que tiene una relación entre "fecha" y "inicio del empleado" en una tabla, solo puede mostrar que los empleados comenzaron en el "Año mes" seleccionado, pero uno desearía mostrar que todos los empleados comenzaron en cualquier momento antes de seleccionar "Año del mes"

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.