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
aso1
Helper II
Helper II

comprobar el total de hoy - advertirme si aumento desde la última

Tengo una lista de diferentes servidores en mi conjunto de datos. cada servidor contiene algunos usuarios administrativos.

Quiero comprobar si hay un aumento en estos usuarios administrativos. Así que ejecuto un script todos los días que muestra a todos los usuarios.

Como puede ver, así es como se ve mi conjunto de datos. todos los días inserto datos con date_in marca de tiempo.

toma los servidores y los usuarios que tienen el rol 'sysadmin'.

powerbi_increase_insysadmins.jpg

En el campo inferior, esto es lo que quiero. para comprobar cómo la diferencia con los administradores del sistema de ayer.

Mi resultado deseado :

SI sysadmin es mayor que antes en este servidor, entonces avísame.

¿Cómo puedo lograrlo?

12 REPLIES 12

Hola @aso1 ,

¿Se resolvió su problema?

Did I answer your question?
Please mark my post as solution, this will also help others.
Please give Kudos for support.

Marcus Wegener works as Full Stack Power BI Engineer at BI or DIE.
His mission is clear: "Get the most out of data, with Power BI."
twitter - LinkedIn - YouTube - website - podcast


v-yingjl
Community Support
Community Support

Hola @aso1 ,

Dado que el ejemplo de datos no tiene datos relacionados sobre los datos del último día, he agregado una fila sobre SERVERA-INSTANCEB en 2020/6/29 como datos del último día:

sample.png

Cree una columna calculada para obtener el total acumulado de un día:

Sysadmins_Today = 
CALCULATE (
    COUNT ( 'Table'[SQL_ID] ),
    FILTER (
        ALLEXCEPT ( 'Table', 'Table'[SQL_ID] ),
        'Table'[date_in] <= EARLIER ( 'Table'[date_in] )
    )
)

Cree otra columna para establecer la alerta:

Alert = 
VAR _D = [date_in].[Day]
VAR _t = [SQL_ID]
VAR _lastday =
    CALCULATE (
        MAX ( 'Table'[Sysadmins_Today] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[SQL_ID] = _t
                && 'Table'[date_in].[Day]
                    = CALCULATE (
                        MAX ( 'Table'[date_in].[Day] ),
                        FILTER ( ALL ( 'Table' ), 'Table'[SQL_ID] = _t && 'Table'[date_in].[Day] < _D )
                    )
        )
    )
RETURN
    IF (
        [Sysadmins_Today] > _lastday
            && _lastday <> BLANK (),
        "There is an increase since last!",
        BLANK ()
    )

Aquí está el resultado:

sample result.png

Adjunto mi archivo de muestra que espera ayudarle: comprobar el total de hoy - advertirme si aumento desde last.pbix

Best Looks,
Yingjie Li

Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Tengo algunas dificultades para crear la columna personalizada. ¿Qué estoy haciendo mal? la tabla se denomina 'ServerRoles'

sysadmins_role.jpg

v-yingjl
Community Support
Community Support

Hola @aso1 ,

La fórmula es DAX, no la consulta M, debe crear una columna calculada en el menú Modelado no en la consulta power para crear una columna personalizada.

column.png

Best Looks,
Yingjie Li

Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Gracias por su rápida respuesta, realmente apreciamos su ayuda.

así que.. Obtengo un número muy grande en 'sysadmins_today' cuando hago este script DAX.

Estoy 100% seguro de que no tenemos tantos administradores de sistemas en cada servidor 🙂 .. parece que suma los números.

Annotation 2020-07-15 120134.jpg

Cuando miro en la vista de datos, se ve más bien.

ok.jpg

Entonces, ¿cómo puedo presentar este número para una vista diaria en la columna DAX.

Hoy cantidad de administradores del sistema : 20

Ayer : 19

Alerta: ¡hay un aumento!

v-yingjl
Community Support
Community Support

Hola @aso1 ,

Vuelva a mi tabla de muestra SA-INSB, por favor dígame si desea calcular el conteo de hoy sin incluir el último día de esta manera:

countrows.png

Si es así, modifique la fórmula de columna calculada [Sysadmins_Today] como esta:

Sysadmins_Today = 
// CALCULATE (
//     COUNT ( 'Table'[SQL_ID] ),
//     FILTER (
//         ALLEXCEPT ( 'Table', 'Table'[SQL_ID] ),
//         'Table'[date_in].[Day] <= EARLIER ( 'Table'[date_in].[Day] )
//     )
// )
//If you want to include last day, use the above formula


CALCULATE(
    COUNTROWS('Table'),
    ALLEXCEPT(
        'Table',
        'Table'[SQL_ID],
        'Table'[date_in].[Day]
    )
)   

Best Looks,
Yingjie Li

Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

gracias una vez más.

Hice un ajuste basado en su sugerencia.

muestra 676x administradores en total...... pero usted ve, sólo hay 26 administradores en este servidor.

Así que sólo debe escribir 26x. ¿Qué hacer?

_serveroles4.jpg_serverroles.jpg

v-yingjl
Community Support
Community Support

Hola @aso1 ,

Por favor, intente mostrar el promedio de esta columna calculada en el objeto visual de la tarjeta.

average.png

Best Looks,
Yingjie Li

Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola @aso1 ,

Si ha solucionado el problema por su cuenta, por favor comparta su solución. Si la ayuda de los mensajes anteriores, por favor márquela como una solución para ayudar a otros a encontrarlo más rápidamente. ¡Gracias!


Best Looks,
Yingjie Li

Simplemente ejecutó mi informe y seleccionó el día actual en un filtro + un servidor específico.

Esto muestra que el servidor tiene 26x sysadmins para hoy (si cuenta las filas). Esto es correcto y esperado.

Sin embargo, mire en 'Sysadmins_Today'. Para este SQL_ID específico.. debería escribir "26" hasta el final.

No estoy seguro de por qué no hace eso. muestra un número mucho más alto.

sysadmins.jpg

amitchandak
Super User
Super User

@aso1, estas son varias maneras de obtener los valores de los últimos días

Ejemplo

Day behind Sales = CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Day))

This Day = CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Date]=max('Date'[Date])))

Last Day = CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Date]=max('Date'[Date])-1))
Last Day = CALCULATE(sum('order'[Qty]), previousday('Date'[Date]))

Usted puede tomar diferencia con el valor de hoy

Para un día no continuo

Last Day Non Continuous = CALCULATE([sales],filter(ALLSELECTED('Date'),'Date'[Date] =MAXX(FILTER(ALLSELECTED('Date'),'Date'[Date]<max('Date'[Date])),'Date'[Date])))

Para obtener lo mejor de la función de inteligencia del tiempo. Asegúrese de que tiene un calendario de fechas y que se ha marcado como la fecha en la vista de modelo. Además, únase a ella con la columna de fecha de su/s hecho/s. Consulte:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/

Vea si mi seminario web sobre Time Intelligence puede ayudar: https://community.powerbi.com/t5/Webinars-and-Video-Gallery/PowerBI-Time-Intelligence-Calendar-WTD-Y...


Apreciamos tus Felicitaciones.

Hola Amit Chandak,

¿Puede ayudarme con un ejemplo basado en mis datos?..

La única tabla que tengo con fecha / hora se ve así :

date.jpg

¿Cómo puedo hacer esto más inteligente, con el fin de utilizar DAX mejor.

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.