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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Medir el valor en el intervalo de tiempo

Hola a todos.

Tengo dos nombres de tabla: tabla de fechas y tabla de hechos. Tengo una segmentación de fechas que usa la tabla de fechas. La tabla de fechas está conectada con la columna de fecha de inicio. Me gustaría mostrar la tabla Promedio de la puntuación de la columna de hecho si la selección de la segmentación de datos está entre la fecha de inicio y la fecha de finalización de la columna. ¿Alguien tiene idea de cómo hacer esto?

qhpowerbi_0-1699584846296.png



¡Gracias!

12 REPLIES 12
Syndicate_Admin
Administrator
Administrator

Una escuela de negocios brinda educación en administración y gestión de empresas, ofreciendo programas como MBA y títulos especializados para desarrollar habilidades en finanzas, marketing, estrategia y liderazgo para el avance profesional.

Syndicate_Admin
Administrator
Administrator

Una escuela dentalcapacita a futuros dentistas a través de programas integrales en salud bucal, práctica clínica y ciencias dentales, que conducen a un título DDS o DMD, esencial para una carrera en odontología.
Syndicate_Admin
Administrator
Administrator

Una facultad de medicina educa a los futuros médicos, ofreciendo una formación rigurosa en ciencias médicas, práctica clínica y atención al paciente, que conduce a un título de MD o DO, esencial para una carrera en medicina.

Syndicate_Admin
Administrator
Administrator

Una facultad de medicina educa a los futuros médicos, ofreciendo una formación rigurosa en ciencias médicas, práctica clínica y atención al paciente, que conduce a un título de MD o DO, esencial para una carrera en medicina.

Syndicate_Admin
Administrator
Administrator

Una facultad de medicina educa a los futuros médicos, ofreciendo una formación rigurosa en ciencias médicas, práctica clínica y atención al paciente, que conduce a un título de MD o DO, esencial para una carrera en medicina.

Syndicate_Admin
Administrator
Administrator

Hola

Para ello, puede usar una medida de DAX en Power BI que calcule el promedio de la columna de puntuación de la tabla de hechos, teniendo en cuenta la segmentación de datos que se basa en la tabla Date y filtrando entre las columnas startdate y enddate. Aquí hay una guía paso a paso sobre cómo crear esta medida:

  1. Asegúrese de que las relaciones: compruebe que la tabla de fechas está correctamente relacionada con la tabla de hechos a través de la columna de fecha de inicio.

  2. Crear la medida: use el siguiente código DAX para crear una medida que calcule la puntuación media dentro del intervalo de fechas especificado.

    DAX
    Copiar código
    AverageScoreInRange = VAR SelectedStartDate = MIN('Date Table'[Date]) VAR SelectedEndDate = MAX('Date Table'[Date]) RETURN CALCULATE( AVERAGE('Fact Table'[score]), 'Fact Table'[startdate] >= SelectedStartDate, 'Fact Table'[enddate] <= SelectedEndDate )
     
    1. Agregar la medida al informe: agregue esta nueva medida al informe para ver la puntuación media en función del intervalo de fechas seleccionado en la segmentación.

      Explicación:

      • SelectedStartDate y SelectedEndDate capturan las fechas mínima y máxima seleccionadas en la segmentación de datos.
      • CALCULATE se utiliza para modificar el contexto del cálculo. Filtra la tabla de hechos para incluir solo las filas en las que la fecha de inicio es mayor o igual que la fecha de inicio seleccionada y la fecha de finalización es menor o igual que la fecha de finalización seleccionada.
      • AVERAGE calcula el promedio de la columna de puntuación dentro del contexto filtrado.

        Consejos adicionales:

        • Asegúrese de que la tabla Date contiene un intervalo continuo de fechas que cubran los valores posibles en las columnas startdate y enddate.
        • Valide que la segmentación de datos esté conectada y afecte a la tabla Date según lo previsto.
        • Compruebe que no falten relaciones entre las tablas o que sean incorrectas que puedan afectar a los cálculos.

          ¡No dudes en preguntar en Yacine TV si tienes más preguntas o necesitas más ayuda!

          ¡Gracias!

Syndicate_Admin
Administrator
Administrator

Para ello, puede crear una medida en Power BI mediante DAX. En primer lugar, crea una medida para la puntuación media de la tabla de hechos. A continuación, utilice la función FILTER para filtrar la tabla de hechos en función del intervalo de fechas seleccionado de la dirección URL de la segmentación de datos mediante la función RELATED para relacionar la columna de fecha de la tabla de hechos con la columna de fecha de la tabla de fechas. Por último, calcule la puntuación media dentro de este contexto filtrado. Su medida se vería así:

Css
Copiar código
AverageScoreInRange = AVERAGEX( FILTER( FactTable, FactTable[StartDate] <= MAX(DateTable[Date]) && FactTable[EndDate] >= MIN(DateTable[Date]) ), FactTable[Score] )

Esta medida calculará dinámicamente la puntuación media en función del intervalo de fechas seleccionado de la segmentación.

Syndicate_Admin
Administrator
Administrator

Muchas gracias. Esta es la respuesta que estoy buscando 🙂
Syndicate_Admin
Administrator
Administrator

Hi @qhpowerbi

Pruebe esta medida:

Avg. Score Selected Date = 
Var _Max_Selected_Date = MAX('Date table'[Date])
Var _Filtered_Fact_Table = 
    CALCULATETABLE(
        FILTER(
        'Fact Table',
        'Fact Table'[StartDate]<=_Max_Selected_Date&&'Fact Table'[EndDate]>=_Max_Selected_Date
        ),
        CROSSFILTER('Date table'[Date],'Fact Table'[StartDate],None)
    )
RETURN
AVERAGEX(_Filtered_Fact_Table,[Score])

Salida:

VahidDM_0-1699588077312.png

VahidDM_1-1699588089232.png

Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

¡Agradezco sus felicitaciones!

Badges.jpg

LinkedIn | Twitter | Blog | YouTube

Syndicate_Admin
Administrator
Administrator

Lo siento, hay un nombre de columna adicional 'proyecto' como se muestra a continuación;

qhpowerbi_0-1699585307749.png


Ejemplo: si el proyecto es A y la selección de la fecha es Mayo - 23 (dentro de la fecha de inicio 7 fecha de finalización), entonces 4, si el proyecto es A y la selección de la fecha es Enero - 23 (fuera de la fecha de inicio y la fecha de finalización), entonces En blanco

Syndicate_Admin
Administrator
Administrator

Hola

En función de los datos que ha compartido, muestre el resultado esperado.

 

Hola,

Puedes usar la siguiente consulta SQL para obtener el promedio de la columna de hechos basada en la segmentación de fechas:

 

sql
Copy code
SELECT AVG(h.hecho_columna) AS PromedioPuntuacion FROM tabla_de_hechos h JOIN tabla_de_fechas d ON d.fecha = h.fecha_inicio WHERE d.fecha BETWEEN h.fecha_inicio AND h.fecha_finalizacion;
 

Aquí:

  • AVG(h.hecho_columna) calcula el promedio de hecho_columna.
  • JOIN tabla_de_fechas d ON d.fecha = h.fecha_inicio conecta las tablas.
  • WHERE d.fecha BETWEEN h.fecha_inicio AND h.fecha_finalizacion filtra los registros según la selección de fechas.

    Ajusta según tu DBMS específico y estructura de tablas. Install AN WhatsApp Now

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

AugPowerBI_Carousel

Power BI Monthly Update - August 2024

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

August Carousel

Fabric Community Update - August 2024

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

Top Solution Authors