Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
5 years ago
Solved

Ayuda con DAX

Hola expertos: en continuación con la siguiente solución, hay un requisito ligeramente diferente, esperando sus sugerencias, ya que esto es algo urgente.

Resuelto: Re: Compare dos hojas de Excel y calcule cuántas... - Microsoft Power BI Community

la solución funcionó bien, ahora tiene un requisito ligeramente diferente. Puede haber aplicaciones con '_Test', pero esto no estará disponible en Excel 2. En este caso tenemos que comparar A1_Test con A1 y mostrar como 100%.

Intenté agregar una nueva columna, recorté la parte '_Test' e intenté verificar con las entradas en Excel 2. Pero no está funcionando como se esperaba, está considerando A1_Test y A1 como A1. Es necesario mostrar A1 y A1_Test como entradas separadas en la salida. Cualquier sugerencia será muy apreciada.

Gracias.

Excel 1 Excel 2
AplicaciónColumnas AplicaciónColumnas
A1C1 A1C1
A1C2 A1C2
A1C3 A1C3
A2C4 A2C4
A2C5 A2C6
A1_TestC1
A1_TestC2
A1_TestC3

Resultados esperados

Aplicación% de columnas alineadas?
A1100
A250
A1_Test100
  • Hola @lojithlk,

    Me gustaría sugerirle que extraiga la lista de valores en función de la categoría actual y use INTERSECT para obtener elementos de intersección. A continuación, puede utilizar estas variables para calcular el porcentaje.

    measure =
    VAR currCategory =
        SELECTEDVALUE ( Table1[App] )
    VAR _list1 =
        CALCULATETABLE (
            VALUES ( Table1[Column] ),
            FILTER ( ALLSELECTED ( Table1 ), [App] = currCategory )
        )
    VAR _list2 =
        CALCULATETABLE (
            VALUES ( Table2[Column] ),
            FILTER ( ALLSELECTED ( Table2 ), [App] = currCategory )
        )
    VAR _intersect =
        INTERSECT ( _list1, _list2 )
    RETURN
        IF (
            _list1 <> BLANK ()
                && _list2 <> BLANK (),
            DIVIDE ( COUNTROWS ( _intersect ), COUNTROWS ( _list1 ), -1 )
        )

    Saludos

    Xiaoxin Sheng

4 Replies

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      A1_Test debe considerarse como una extensión de A1. En el futuro podría haber entradas como A1_Dummy, A1_Sample etc. En todos estos casos debemos ignorar el texto después de A1 y compararlo con A1 en Excel 2.

  • Hola @lojithlk,

    Me gustaría sugerirle que extraiga la lista de valores en función de la categoría actual y use INTERSECT para obtener elementos de intersección. A continuación, puede utilizar estas variables para calcular el porcentaje.

    measure =
    VAR currCategory =
        SELECTEDVALUE ( Table1[App] )
    VAR _list1 =
        CALCULATETABLE (
            VALUES ( Table1[Column] ),
            FILTER ( ALLSELECTED ( Table1 ), [App] = currCategory )
        )
    VAR _list2 =
        CALCULATETABLE (
            VALUES ( Table2[Column] ),
            FILTER ( ALLSELECTED ( Table2 ), [App] = currCategory )
        )
    VAR _intersect =
        INTERSECT ( _list1, _list2 )
    RETURN
        IF (
            _list1 <> BLANK ()
                && _list2 <> BLANK (),
            DIVIDE ( COUNTROWS ( _intersect ), COUNTROWS ( _list1 ), -1 )
        )

    Saludos

    Xiaoxin Sheng

  • Hola a todos tengo que hacer una categorización pero esta categorización depende del valor de una columna

    Color =
    VAR i = 'DAX medida'[Días sin desmalezar]
    RETURN
    SWITCH(TRUE(),
    ISBLANK(i),"white",
    i<11, "#68896B",
    i<15, "#D2D70E",
    "#E0052D") 
    tengo esta medida, funciona correctamente, pero necesito que cuando filtre un lugar me muestre eso, y si filtro otro lugar me devuelva la misma medida pero con otros parametros