Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Tengo una matriz en la cual debo saber el total de clientes por año y por semana, lo que sucede es que el total de clientes esta bien por año y semana pero la suma del subtotal de fila es incorrecto, como se puede corregir ese problema. En los valores, estoy usando recuento distintivo.
Hola @Syndicate_Admin ,
Gracias por ponerse en contacto con la comunidad de Microsoft Fabric.
En los objetos visuales de matriz, cuando se usa DISTINCTCOUNT, es posible que las filas de subtotal (como el total de clientes por semana a lo largo de los años) no se comporten como se esperaba. De forma predeterminada, Power BI calcula el recuento distinto en el nivel de subtotal en todos los datos subyacentes, en lugar de sumar los recuentos distintos individuales que se muestran en cada fila o columna.
Para corregir esto y asegurarse de que los subtotales reflejen la suma de distintos recuentos por semana y por año, puede usar una medida con ISINSCOPE() para manejar cada nivel del diseño de la matriz de manera adecuada.
Probé este comportamiento con los siguientes datos de ejemplo:
Medir:
SalesPerson Count (Correct Totals) =
VAR IsYearInScope = ISINSCOPE(SalesData[Year])
VAR IsWeekInScope = ISINSCOPE(SalesData[Week])
-- 1. Cell-level (Year & Week in scope)
VAR CellValue =
IF(
IsYearInScope && IsWeekInScope,
CALCULATE(DISTINCTCOUNT(SalesData[SalesPerson]))
)
-- 2. Row Subtotal (Year in scope only — across weeks)
VAR YearTotal =
IF(
IsYearInScope && NOT IsWeekInScope,
SUMX(
VALUES(SalesData[Week]),
CALCULATE(DISTINCTCOUNT(SalesData[SalesPerson]))
)
)
-- 3. Column Subtotal (Week in scope only — across years)
VAR WeekTotal =
IF(
NOT IsYearInScope && IsWeekInScope,
SUMX(
VALUES(SalesData[Year]),
CALCULATE(DISTINCTCOUNT(SalesData[SalesPerson]))
)
)
-- 4. Grand Total (neither in scope)
VAR GrandTotal =
IF(
NOT IsYearInScope && NOT IsWeekInScope,
SUMX(
VALUES(SalesData[Year]),
SUMX(
VALUES(SalesData[Week]),
CALCULATE(DISTINCTCOUNT(SalesData[SalesPerson]))
)
)
)
RETURN
COALESCE(CellValue, YearTotal, WeekTotal, GrandTotal)
Salida:
Este enfoque garantiza que los subtotales y los totales generales representen la suma de los recuentos distintos semanales o anuales individuales, en lugar de un recuento distinto en todo el grupo de subtotales.
Espero que esto ayude.
Si esto no resuelve completamente su situación, comparta un conjunto de datos de muestra o un archivo .pbix (sin información confidencial) para que podamos brindarle asistencia más específica.
Si esta publicación ayuda, considere dar un felicito y aceptar como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Gracias.
Adjuntar el archivo .pbix como referencia.
Hola @Syndicate_Admin ,
Simplemente verifique si su consulta se resuelve y si alguna respuesta fue útil. Si es así, considere marcar la respuesta útil como "Solución aceptada" para ayudar a otros con consultas similares.
De lo contrario, no dude en ponerse en contacto con nosotros para obtener más ayuda.
Gracias.
Más información sobre las funciones interactivas "x" como SUMX
https://learn.microsoft.com/en-us/dax/sumx-function-dax
https://www.youtube.com/watch?app=desktop&v=vcYz0XPklXg&t=220s
Quiero ayudarte más, pero tu descripción es demasiado vaga. Por favor, escríbalo de nuevo.
Obtendrá una respuesta más rápida y mejor sin malentendidos si dedica tiempo y esfuerzo a escribir cuidadosamente una descripción clara del problema con ejemplos de datos de entrada y salida. Esperamos poder ayudarle cuando reciba esta información
* Por favor, proporcione una descripción funcional simple y no técnica de lo que desea
* Manténgalo simple y divida los proyectos grandes en preguntas más pequeñas y haga solo una pregunta por ticket.
* Cambie el nombre de las columnas a nombres descriptivos para el usuario. Evite la jerga de su propio sistema que puede que no entendamos.
* Lo más importante es que proporcione datos de entrada de ejemplo como texto de tabla (no una impresión de pantalla) para que los ayudantes puedan importar los datos y crear una solución para usted. (Aprenda a compartir datos a continuación)
* Proporcione el ejemplo de salida deseado, con una descripción clara paso a paso de los cálculos y el flujo del proceso.
* Tómese el tiempo y el cuidado de usar los mismos nombres de tabla y campo en la entrada, salida y descripción para que podamos comprender su problema y ayudarlo.
* Elimine cualquier tabla, fila o columna innecesaria que pueda causar confusión. Manténgalo corto y conciso con la información mínima sobre el problema clave.
* Recuerde no compartir datos privados... No queremos que te metas en problemas.
* Haga clic en el botón de pulgar hacia arriba para obtener estos consejos y sugerencias útiles. Gracias.
Aprenda a adjuntar datos en el foro usando OneDrive:-
* Guarde su archivo en una carpeta de OneDrive
* Haga clic derecho en el archivo y haga clic en el icono de la nube azul "Compartir"
* Haga clic en el botón "Copiar" inferior
* Haga clic en "Cualquiera que tenga un enlace puede editar"
* Haga clic en "Puede editar"
* Haga clic en "Puede ver"
* Haga clic en el botón "Aplicar"
* Haga clic en "Copiar"
* Pega el enlace generado a través del foro, correo electrónico, chat o cualquier otro método.
* A continuación, los ayudantes pueden descargar sus datos, crear una solución y compartirla.
Aprenda a adjuntar datos en el foro usando Dropbox: -
1. Abre Dropbox: Accede a la carpeta de Dropbox en tu computadora o a través de la interfaz web de Dropbox.
2. Seleccione Archivo/Carpeta: Busque el archivo o carpeta que desea compartir.
3. Haga clic en Compartir (u Obtener enlace): Busque una opción "Compartir" o una opción similar de "Obtener enlace".
4. Elija Permisos: Decida si desea permitir el acceso de "solo lectura" o "ver y descargar".
5. Copiar y compartir: Copie el enlace generado y compártalo con cualquier persona a través del foro, correo electrónico, chat o cualquier otro método.
https://www.youtube.com/watch?app=desktop&v=vcYz0XPklXg&t=220s