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.
Me gustaría crear dos columnas "Total Distribuidor" y "Fuente" basadas en los siguientes datos:
Aquí está la lógica y necesito ayuda para transformar esto en una columna o medida calculada.
"Distribuidor Total" Recuento diferenciado de "Distribuidor" que tienen "Estado" - "Activo" y agrupado por "Elemento".
"Souce" Si "Distribuidor Total" > 1 entonces "Múltiple", de lo contrario "Single"
Artículo | Distribuidor | Estado | Distribuidor total | Fuente |
Mango | Royal Fruits | Activo | 3 | Múltiples |
Mango | Mercado de agricultores | Activo | 3 | Múltiples |
Mango | Costco | Activo | 3 | Múltiples |
manzana | Costco | Activo | 1 | soltero |
Kiwi | Kroger | Activo | 2 | Múltiples |
Kiwi | Sams Club | Activo | 2 | Múltiples |
Uvas | Amazon | Activo | 1 | soltero |
Papaya | Walmart | Activo | 1 | soltero |
Papaya | Costco | Inactivo | 1 | soltero |
¿Podrías ayudarte, por favor?
Hola @SalHack ,
Después de mis pruebas, no pude encontrar una manera fácil de resolverlo.
Si tiene ocho segmentaciones de datos, debe crear una tabla de segmentación de datos con estas columnas. A continuación, utilice ISFILTERED() para juzgar si está seleccionado. Si es true, devuelva el valor seleccionado. Si es false, no lo agregue para filtrar.
Según mi DAX anterior, necesita anidar ocho declaraciones IF(). Esto requiere trabajo repetido, buscar mejores soluciones de otros usuarios.
De acuerdo. Esto puede funcionar, pero es demasiado complejo. ¿Alguien sabría si hay una manera fácil de abordar esto?
@SalHack , Pruebe una nueva columna como
nuevas Columnas ?
calculate(distinctcount(Table[Distributor]), filter(Table, table[Item] á earlier(table[Item]) && Table[Status] ?"Active"))
nuevas Columnas ?
if(calculate(distinctcount(Table[Distributor]), filter(Table, table[Item] á earlier(table[Item]) && Table[Status] ?"Active")) >1,"Multiple","Single")
Gracias. La fórmula que compartió a continuación funciona bien cuando no tengo ningún filtro aplicado en los datos. Sin embargo, tengo varios filtros aplicados y necesito reflejar el cálculo basado en lo que se selecciona y es visible en la pantalla. ¿Podría aconsejar cómo hacerlo?
Hola @SalHack ,
Debe crear medidas para obtener valores dinámicos.
Para ser independiente con la tabla original, debe crear una tabla de segmentación de datos en primer lugar (sin relación).
Slicer =
SELECTCOLUMNS (
'Table',
"Item", 'Table'[Item],
"Distributor", 'Table'[Distributor]
)
A continuación, consulte las siguientes medidas para obtener"Distribuidor total"y "Fuente".
Total Distributor =
VAR a1 =
FILTER (
'Table',
'Table'[Item] = SELECTEDVALUE ( 'Slicer'[Item] )
&& 'Table'[Distributor] = SELECTEDVALUE ( 'Slicer'[Distributor] )
)
VAR a2 =
FILTER ( 'Table', 'Table'[Item] = SELECTEDVALUE ( 'Slicer'[Item] ) )
VAR a3 =
FILTER (
'Table',
'Table'[Distributor] = SELECTEDVALUE ( 'Slicer'[Distributor] )
)
VAR b =
FILTER ( ALLEXCEPT ( 'Table', 'Table'[Item] ), 'Table'[Status] = "Active" )
RETURN
IF (
ISFILTERED ( 'Slicer'[Distributor] ) && ISFILTERED ( 'Slicer'[Item] ),
CALCULATE ( CALCULATE ( COUNTA ( 'Table'[Item] ), a1 ), b ),
IF (
ISFILTERED ( 'Slicer'[Distributor] )
&& ( ISFILTERED ( 'Slicer'[Item] ) = FALSE () ),
CALCULATE ( CALCULATE ( COUNTA ( 'Table'[Item] ), a3 ), b ),
IF (
ISFILTERED ( 'Slicer'[Item] )
&& ( ISFILTERED ( 'Slicer'[Distributor] ) = FALSE () ),
CALCULATE ( CALCULATE ( COUNTA ( 'Table'[Item] ), b ), a2 ),
CALCULATE ( COUNTA ( 'Table'[Item] ), b )
)
)
)
Souce =
IF (
[Total Distributor] > 1,
"Multiple",
IF ( [Total Distributor] = 1, "Single" )
)
Aquí está mi archivo de prueba para su referencia.
Gracias Eads. Un par de cosas:
1. El artículo no es parte de la cortadora
2. Tengo otras columnas como segmentación que no se enumeran en los datos de muestra a continuación.
Sobre la base de los cambios anteriores, ¿funcionaría el siguiente script?
así que tengo las siguientes rebanadoras:
Artículo 1
Tema 2
Distribuidor
Artículo 3
Artículo 4
Tema 5
Artículo 6
Tema7
Elemento forma parte de la vista de tabla que tiene varias columnas.
¿Podría ayudar por favor
Puede crear dos columnas.
Total Distributor = COUNTX(FILTER('Sheet7',Sheet7[Item]=EARLIER(Sheet7[Item])&&Sheet7[Status]="Active"),Sheet7[Item])
source = if(Sheet7[Total Distributor]>1, "multiple","single")
Proud to be a Super User!
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |