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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Syndicate_Admin
Administrator
Administrator

¿Por qué monthoffset no funciona?

Me cuesta entender por qué monthoffset funciona para todos los KPI excepto para uno.

Contexto:
Estoy tratando de construir una tarjeta de kpi de 5 medidas. Oportunidad activa, tasa de ganancias, acuerdos cerrados, tasa de conversión e ingresos totales del mes. Mi conjunto de datos tiene 4 tablas: Cuentas, Productos, Pipelines de ventas, Equipo de ventas. Tengo una tabla de fechas creada con una relación activa con la fecha de cierre y una relación inactiva con la fecha de participación. Creé todas las fórmulas y, para el valor mensual, utilicé el valor monthoffset en el panel de filtros. Pero me da todos los valores correctos, excepto la oportunidad activa. Para la oportunidad activa. Activé la relación inactiva con la siguiente fórmula:

Active Opportunities = 
CALCULATE(
    COUNTROWS(sales_pipeline),
    sales_pipeline[deal_stage] IN {"Prospecting", "Engaging"},
    USERELATIONSHIP(DateTable[Date], sales_pipeline[engage_date])
)
Dio el resultado incorrecto para DIC. Pero da los valores correctos para nov, oct y sept.

Mi fórmula de DateTable es:
DateTable = 
ADDCOLUMNS(
    CALENDAR(MIN(sales_pipeline[engage_date]), MAX(sales_pipeline[close_date])),
    "Year", YEAR([Date]),
    "Month", FORMAT([Date], "MMM"),
    "MonthNo", MONTH([Date]),
    "Quarter", "Q" & FORMAT([Date], "Q"),
    "Year-Month", FORMAT([Date], "MMM YYYY"),
    "Weekday", FORMAT([Date], "dddd"),
    "IsWeekend", IF(WEEKDAY([Date],2)>5, TRUE(), FALSE()),
    "MonthOffset", DATEDIFF(CALCULATE(MAX(sales_pipeline[close_date])), [Date], MONTH)
)​

baray098_1-1751092938027.png

baray098_2-1751093534891.png

Da el valor correcto si filtra manualmente el mes, diciembre y el año 2017. Pero quiero saber por qué está sucediendo esto. Comparto el archivo pbix. Si alguien puede explicar el problema, sería útil.

Enlace al archivo:

Oportunidad de venta.pbix

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Por favor, pruebe este código

Active Opportunities = 
CALCULATE(
    COUNT(sales_pipeline[engage_date]),
    sales_pipeline[deal_stage] IN {"Prospecting", "Engaging"},
    USERELATIONSHIP(DateTable[Date], sales_pipeline[engage_date]) 
)

Screenshot_1.png

Syndicate_Admin
Administrator
Administrator

@baray098

No estoy seguro de cuál es exactamente el resultado esperado, ya que solo mencionaste el resultado correcto. Pero suponiendo que el valor esperado sea 18 para diciembre de 2017, es posible que se deba a que cuando Power BI genera automáticamente el DAX, intenta resumir sales_pipeline[Active Opportunities] agrupadas por DateTable, pero esas filas no coincidentes seguirán mostrándose como espacios en blanco en la columna DateTable, por lo que esas 500 filas se agregarán a menos que se filtren explícitamente. Este parece ser el caso solo si el valor del filtro es 0.

danextian_0-1751114313510.png

Pruebe lo siguiente:

Active Opportunities =
CALCULATE (
    COUNTROWS ( sales_pipeline ),
    sales_pipeline[deal_stage] IN { "Prospecting", "Engaging" },
    USERELATIONSHIP ( DateTable[Date], sales_pipeline[engage_date] ),
    KEEPFILTERS ( NOT ( ISBLANK ( DateTable[Date] ) ) )
)

danextian_1-1751114649526.png

Gracias. Ahora entiendo lo que está pasando. ¿Puede decirme si debo eliminar las filas con valores en blanco? ¿Cuál es la mejor práctica? Supongo que eso crearía resultados incorrectos para otras métricas.

Depende de si necesita esas filas. ¿Tiene la intención de mostrar el número de registros o realizar un seguimiento de aquellos que no tienen ninguna de las dos columnas de fecha? En caso afirmativo, guárdelos.

Syndicate_Admin
Administrator
Administrator

No ha proporcionado un ejemplo de su tabla de calendario.

Es posible que haya definido incorrectamente el desplazamiento mensual.

Haga clic aquí para descargar un ejemplo de trabajo de onedrive
Haga clic aquí

Por favor, haga clic en pulgares hacia arriba porque he tratado de ayudarlo.

A continuación, haga clic en aceptar solución si soluciona el problema.

Quiero ayudarte más, pero tu descripción es demasiado vaga.


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


* 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.
* 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.
* 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.

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors