Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Recuento en SQL a DAX

Soy capaz de obtener un recuento en SQL. Intentar hacer lo mismo con la medida DAX no resulta en la salida correcta. ¿Cómo traduciría lo siguiente:

SELECT store_num, COUNT(emp_id)-1 AS alert_count
FROM store_loc
GROUP BY store_num
HAVING COUNT(emp_id) > 1;

Cualquier consejo sobre la traducción de lo anterior en una medida será muy apreciado.

  • v-yingjl's avatar
    v-yingjl
    5 years ago

    No @win_anthony ,

    Si desea utilizar la medida y la matriz, puede crear esta medida:

    alert_count =
    COUNT ( store_loc[emp_id] ) - 1
    

    Ponlo en Matrix, y crea otra medida como esta, establece su valor como 1 y ponlo en el filtro visual:

    visual control =
    IF ( [alert_count] > 1, 1, 0 )
    

    matrix.png

    Si no desea utilizar esta medida de filtro, puede filtrarla directamente por [alert_count]:
    filter.png

    Adjunto un archivo de muestra en el siguiente, espera ayudarle.

    Saludos
    Equipo de apoyo a la comunidad _ Yingjie Li
    Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

6 Replies

  • @win_anthony agregar la siguiente medida y luego usarla en el filtro visual izquierdo

    Count = COUNTROWS ( Table ) - 1

    añadir un objeto visual de tabla, poner el número de tienda y esta nueva medida y en el filtro visual izquierdo elegir donde cuenta > 1

    Consulta mi última entrada de blog Año-2020, Pandemia, Power BI y más allá para obtener un resumen de mis versiones favoritas de las características de Power BI en 2020

    Me gustaría elogios si mi solución ayudara. 👉 Si puedes dedicar tiempo a publicar la pregunta, también puedes hacer esfuerzos para dar Felicitaciones a quien haya ayudado a resolver tu problema. ¡Es una muestra de agradecimiento!

    Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consulta relacionadas con Power BI.

  • CNENFRNL's avatar
    CNENFRNL
    Community Champion

    Hola, @win_anthony , es posible que desee intentar crear una tabla calculada de esta manera,

    Summary = 
    SUMMARIZECOLUMNS (
        store_loc[store_num],
        FILTER (
            DISTINCT ( store_loc[store_num] ),
            CALCULATE ( COUNTROWS ( store_loc ) ) > 1
        ),
        "alert_count", COUNTROWS ( store_loc ) - 1
    )

  • Hola

    Comparta algunos datos, describa la pregunta y muestre el resultado esperado.

  • v-yingjl's avatar
    v-yingjl
    Community Support

    No @win_anthony ,

    En función de su descripción, he creado este ejemplo simple en sql Server y ejecuto la instrucción sql para obtener la salida esperada inicial:

    sample tabletabla de muestrasql resultresultado sql

    Para obtener el mismo resultado en power bi, puede crear esta tabla calculada por DAX:

    Table =
    FILTER (
        SUMMARIZE (
            'store_loc',
            store_loc[store_num],
            "alert_count", COUNT ( store_loc[emp_id] ) - 1
        ),
        [alert_count] > 1
    )
    

    re.png

    Adjunto un archivo de muestra en el siguiente, espera ayudarle.

    Saludos
    Equipo de apoyo a la comunidad _ Yingjie Li
    Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

    • Anonymous's avatar
      Anonymous
      Not applicable

      @v-yingjl Gracias por su apoyo. Esto es lo que estoy buscando, pero ¿es esto posible ejecutar sólo como una medida y no como una tabla calculada? Mi objetivo final es crear una tabla de matriz que sea dinámica. Por favor, hágamelo saber si soy vago y puedo tratar de elaborar con más detalle.

      • v-yingjl's avatar
        v-yingjl
        Community Support

        No @win_anthony ,

        Si desea utilizar la medida y la matriz, puede crear esta medida:

        alert_count =
        COUNT ( store_loc[emp_id] ) - 1
        

        Ponlo en Matrix, y crea otra medida como esta, establece su valor como 1 y ponlo en el filtro visual:

        visual control =
        IF ( [alert_count] > 1, 1, 0 )
        

        matrix.png

        Si no desea utilizar esta medida de filtro, puede filtrarla directamente por [alert_count]:
        filter.png

        Adjunto un archivo de muestra en el siguiente, espera ayudarle.

        Saludos
        Equipo de apoyo a la comunidad _ Yingjie Li
        Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.