cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Helper I
Helper I

¡Ayuda de fórmula Dax! filtro y varios elementos dentro de la cadena

Hola a todos,

  • Tengo una tabla (Tabla 1) con los siguientes datos. Tenga en cuenta: La columna "Grupo" se ha creado mediante la fusión (separado por comas) de tres columnas diferentes (indicadas con los tres colores diferentes).

PBlearner27_0-1598180373008.png

  • Tengo otra tabla (Tabla 2) como se indica a continuación:

PBlearner27_1-1598181058702.png

  • Necesito una fórmula DAX para crear la columna delineada en rojo - "Suma de precio". La fórmula DAX debe tener en cuenta lo siguiente:
    • Debe incluir los filtros Shop-A y Cargos-ALL, pero excluyendo el Descuento (en la Tabla 1).

(Tenga en cuenta:No puedo tener el formato de las tablas cambiado / No puedo utilizar otros tipos de imágenes para lograr lo que estoy tratando de hacer; He comprobado todas estas opciones, necesito que sea exactamente como he descrito anteriormente, gracias!!)

Cualquier ayuda sería muy apreciada - gracias!

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Super User IX
Super User IX

Re: Dax fórmula ayuda! filtro y varios elementos dentro de la cadena

OK, esto debería funcionar, he ajustado algunas cosas para que funcione mejor:

Column = 
    VAR __Item = [Shop A]
    VAR __Comma = FIND(",",__Item,,BLANK())
    VAR __First = IF(ISBLANK(__Comma),__Item,LEFT(__Item,__Comma - 1))
    VAR __Second = IF(ISBLANK(__Comma),BLANK(),RIGHT(__Item,LEN(__Item) - __Comma -1))
    VAR __Table = 
        ADDCOLUMNS(
            FILTER('Table (9)',[Charges]<>"Discount" && [Shop] = "Shop A"),
            "__Include",IF(FIND(__First,[Group],,0) > 0 && FIND(__Second,[Group],,0) > 0,1,0)
        )
    VAR __Sum = SUMX(FILTER(__Table,[__Include]=1),[Price])
RETURN
    IF(__Item = "",BLANK(),IF(ISBLANK(__Sum),0,__Sum))

CONTAINSSTRING me estaba causando algo de dolor, así que fui con FIND en su lugar.


---------------------------------------

@ me in replies or I'll lose your thread!!!

I have a NEW book! 
DAX Cookbook from Packt
Over 120 DAX Recipes!




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

6 REPLIES 6
Highlighted
Super User V
Super User V

Re: Dax fórmula ayuda! filtro y varios elementos dentro de la cadena

Reconociendo su nota voy a ignorarlo y decirle cómo resolvería esto.

Agregue una transformación que divida la columna de grupo y no especifique "en filas". Terminará con nuevas columnas Group.1, Group.2 y Group.3 que se podrán usar inmediatamente para el resultado deseado de Table2 (a través de medidas que apliquen la lógica.

La única parte difícil será agregar las filas en blanco.

Highlighted
Helper I
Helper I

Re: Dax fórmula ayuda! filtro y varios elementos dentro de la cadena

@lbendlin Gracias por su respuesta, sin embargo, para mi propósito necesito usar una columna calculada, no puedo usar una medida.

He proporcionado un ejemplo muy simplificado de lo que estoy tratando de lograr - por lo tanto, puede que no sea muy claro en cuanto a por qué necesito específicamente utilizar una columna calculada.

¿No es posible hacerlo con una columna calculada?

Highlighted
Super User IX
Super User IX

Re: Dax fórmula ayuda! filtro y varios elementos dentro de la cadena

@PBlearner27 - Bueno, tiendo a estar de acuerdo con @lbendlin pero si estás muerto en lo que quieres, puedes hacerlo así:

Column = 
    VAR __Item = [Shop A]
    VAR __Comma = FIND(",",__Item,,BLANK())
    VAR __First = IF(ISBLANK(__Comma),__Item,LEFT(__Item,__Comma - 1))
    VAR __Second = IF(ISBLANK(__Comma),BLANK(),RIGHT(__Item,LEN(__Item) - __Comma -1))
    VAR __Table = FILTER('Table (9)',CONTAINSSTRING([Group],__First) = TRUE() && CONTAINSSTRING([Group],__Second) = TRUE() && [Charges]<>"Discount")
RETURN
    IF(__Item = "",BLANK(),SUMX(__Table,[Price]))

He adjuntado un PBIX debajo de mi sig. Quieres las Tablas 9 y 10.

La próxima vez, por favor publique sus datos como texto en una tabla para que no tengamos que volver a escribir todo. Gracias. Por favor, consulte este post sobre cómo obtener su pregunta respondida rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

Las partes más importantes son:
1. Datos de muestra como texto, utilice la herramienta de tabla en la barra de edición
2. Salida esperada de los datos de muestra
3. Explicación en palabras de cómo obtener de 1. a 2.


---------------------------------------

@ me in replies or I'll lose your thread!!!

I have a NEW book! 
DAX Cookbook from Packt
Over 120 DAX Recipes!




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Highlighted
Helper I
Helper I

Re: Dax fórmula ayuda! filtro y varios elementos dentro de la cadena

@Greg_Deckler Simplemente no puedo agradecerte lo suficiente por esto!! Estoy muy agradecido por su ayuda, funciona como un encanto, muchas gracias!

Hice un cambio menor agregando un filtro para "Tienda A" como se resalta en la fórmula siguiente.


Antes de que pueda marcarlo como una solución, hay un problema menor que no puedo averiguar:

  • Las filas resaltadas en amarillo deben devolver valores de 0 euros ya que estos registros no existen en la tabla filtrada - no estoy muy seguro de cómo modificar la fórmula para eso, por favor, ¿puede ayudar con esto?

PBlearner27_0-1598207335040.png

Gracias por su tiempo - much appreciated!!

Highlighted
Super User IX
Super User IX

Re: Dax fórmula ayuda! filtro y varios elementos dentro de la cadena

OK, esto debería funcionar, he ajustado algunas cosas para que funcione mejor:

Column = 
    VAR __Item = [Shop A]
    VAR __Comma = FIND(",",__Item,,BLANK())
    VAR __First = IF(ISBLANK(__Comma),__Item,LEFT(__Item,__Comma - 1))
    VAR __Second = IF(ISBLANK(__Comma),BLANK(),RIGHT(__Item,LEN(__Item) - __Comma -1))
    VAR __Table = 
        ADDCOLUMNS(
            FILTER('Table (9)',[Charges]<>"Discount" && [Shop] = "Shop A"),
            "__Include",IF(FIND(__First,[Group],,0) > 0 && FIND(__Second,[Group],,0) > 0,1,0)
        )
    VAR __Sum = SUMX(FILTER(__Table,[__Include]=1),[Price])
RETURN
    IF(__Item = "",BLANK(),IF(ISBLANK(__Sum),0,__Sum))

CONTAINSSTRING me estaba causando algo de dolor, así que fui con FIND en su lugar.


---------------------------------------

@ me in replies or I'll lose your thread!!!

I have a NEW book! 
DAX Cookbook from Packt
Over 120 DAX Recipes!




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

Highlighted
Helper I
Helper I

Re: Dax fórmula ayuda! filtro y varios elementos dentro de la cadena

@Greg_Deckler Estoy completamente impresionado!! Muchas gracias por su ayuda Greg - esto me ha ahorrado un montón de problemas y he aprendido algo nuevo y muy útil!
🙂 de Navidad

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Upcoming Events

Experience what’s next for Power BI

See the latest Power BI innovations, updates, and demos from the Microsoft Business Applications Launch Event.

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Get Ready for Power BI Dev Camp

Get Ready for Power BI Dev Camp

Mark your calendars and join us for our next Power BI Dev Camp!.

Top Solution Authors
Top Kudoed Authors