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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Cómo calcular la proporción en cada subcategoría de una categoría más grande

Hola, estoy tratando de contar la proporción de eventos en cada categoría exactamente como lo que esta persión ha hecho en este tutorial: https://bielite.com/blog/calculating-percent-of-subtotal/
Enlace de Youtube al mismo tutorial: https://www.youtube.com/watch?v=AJxCCfFmLTQ
Seguí su guía e intenté crear una medida para mi visual, sin embargo, estoy recibiendo un error, he publicado mi cálculo en la parte inferior, si alguien pudiera ayudarme a corregir este error, eso sería muy apreciado.
Proporción de eventos % =
VAR Groupall = VALUES(Grupo[Grupo])
VAR categorytype = VALUES('Events'[categorytype])
VAR categoryname = VALUES('Events'[categoryname])
VAR eventcount = DISTINCTCOUNT('Events'[EventID])
VAR eventnames =
INTERRUPTOR(
VERDADERO(),
ISINSCOPE('Events'[nombre del evento]),CALCULATE(DISTINCTCOUNT('Events'[EventID]),ALLSELECTED(Group), Group[Group] IN Groupall, ALLSELECTED('Events'), 'Events'[categorytype] IN categorytype, 'Events'[categoryname] IN categoryname),
ISINSCOPE('Events'[categoryname]), CALCULATE(DISTINCTCOUNT('Events'[EventID),ALLSELECTED(Group), Group[Group] IN Groupall, ALLSELECTED('Events'), 'Events'[categorytype] IN categorytype),
ISINSCOPE('Events'[categorytype]), CALCULATE(DISTINCTCOUNT('Events'[EventID]),ALLSELECTED(Group), Group[Group] IN Groupall),
ISINSCOPE(Grupo[Grupo]),CALCULATE(DISTINCTCOUNT('Events'[EventID]),ALLSELECTED(Group))
)
DEVOLUCIÓN
SI(
ISINSCOPE(Grupo[Grupo]),
DIVIDE(eventcount, eventitems),
1
)
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Pude descubrir la solución es esta:

Proporción de eventos % =
VAR Groupall = VALUES(Grupo[Grupo])
VAR categorytype = VALUES('Events'[categorytype])
VAR categoryname = VALUES('Events'[categoryname])
VAR eventcount = DISTINCTCOUNT('Events'[EventID])
VAR eventnames =
INTERRUPTOR(
VERDADERO(),
ISINSCOPE('Events'[nombre del evento]),CALCULATE(DISTINCTCOUNT('Events'[EventID]),ALLSELECTED(Group), Group[Group] IN Groupall, ALLSELECTED('Events'), 'Events'[categorytype] IN categorytype, 'Events'[categoryname] IN categoryname),
ISINSCOPE('Events'[categoryname]), CALCULATE(DISTINCTCOUNT('Events'[EventID),ALLSELECTED(Group), Group[Group] IN Groupall, ALLSELECTED('Events'), 'Events'[categorytype] IN categorytype),
ISINSCOPE('Events'[categorytype]), CALCULATE(DISTINCTCOUNT('Events'[EventID]),ALLSELECTED(Group), Group[Group] IN Groupall),
ISINSCOPE(Group[Group]),CALCULATE(DISTINCTCOUNT('Events'[EventID]),ALLSELECTED(Events),ALLSELECTED(Group))
)
DEVOLUCIÓN
SI(
ISINSCOPE(Grupo[Grupo]),
DIVIDE(eventcount, eventitems),
1
)
Básicamente, también necesitaba agregar el filtro allselected para la tabla de eventos

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Pude descubrir la solución es esta:

Proporción de eventos % =
VAR Groupall = VALUES(Grupo[Grupo])
VAR categorytype = VALUES('Events'[categorytype])
VAR categoryname = VALUES('Events'[categoryname])
VAR eventcount = DISTINCTCOUNT('Events'[EventID])
VAR eventnames =
INTERRUPTOR(
VERDADERO(),
ISINSCOPE('Events'[nombre del evento]),CALCULATE(DISTINCTCOUNT('Events'[EventID]),ALLSELECTED(Group), Group[Group] IN Groupall, ALLSELECTED('Events'), 'Events'[categorytype] IN categorytype, 'Events'[categoryname] IN categoryname),
ISINSCOPE('Events'[categoryname]), CALCULATE(DISTINCTCOUNT('Events'[EventID),ALLSELECTED(Group), Group[Group] IN Groupall, ALLSELECTED('Events'), 'Events'[categorytype] IN categorytype),
ISINSCOPE('Events'[categorytype]), CALCULATE(DISTINCTCOUNT('Events'[EventID]),ALLSELECTED(Group), Group[Group] IN Groupall),
ISINSCOPE(Group[Group]),CALCULATE(DISTINCTCOUNT('Events'[EventID]),ALLSELECTED(Events),ALLSELECTED(Group))
)
DEVOLUCIÓN
SI(
ISINSCOPE(Grupo[Grupo]),
DIVIDE(eventcount, eventitems),
1
)
Básicamente, también necesitaba agregar el filtro allselected para la tabla de eventos
Syndicate_Admin
Administrator
Administrator

@OPS-MLTSD , Lo que sea que esté en el ámbito removefilter para eso usando todos o todos los filtros seleccionados o removefiltros

ejemplo

INTERRUPTOR(
VERDADERO(),
ISINSCOPE('Events'[nombre del evento]),CALCULATE(DISTINCTCOUNT('Events'[EventID]),ALLSELECTED('Events'[nombre del evento])) ,

agregar para otro

)

no es necesario en la cláusula si ya están unidos con la tabla o parte de la misma tabla

@amitchandak gracias, ¿no es eso lo que hice con el dax en la parte superior? He eliminado los filtros para lo que sea que esté en el alcance. ¿Es esto lo que debería haber hecho en su lugar?

Proporción de eventos % =

VAR Groupall = VALUES(Grupo[Grupo])

VAR categorytype = VALUES('Events'[categorytype])

VAR categoryname = VALUES('Events'[categoryname])

VAR eventcount = CALCULATE(DISTINCTCOUNT('Events'[EventID])

VAR eventnames =

INTERRUPTOR(

VERDADERO(),

ISINSCOPE('Events'[nombre del evento]),CALCULATE(DISTINCTCOUNT('Events'[EventID]),ALLSELECTED('Events'[nombre del evento]) ,

ISINSCOPE('Events'[categoryname]), CALCULATE(DISTINCTCOUNT('Events'[EventID),ALLSELECTED('Events'[categoryname]),

ISINSCOPE('Events'[categorytype]), CALCULATE(DISTINCTCOUNT('Events'[EventID]),ALLSELECTED('Events'[categorytype]),

ISINSCOPE(Grupo[Grupo]),CALCULATE(DISTINCTCOUNT('Events'[EventID]),ALLSELECTED(Group))

)

DEVOLUCIÓN

SI(

ISINSCOPE(Grupo[Grupo]),

DIVIDE(eventcount, eventitems),

1

)

por favor hágamelo saber, gracias

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.