Get certified in Microsoft Fabric—for free! For a limited time, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare now
Hola, chicos
actualmente estoy trabajando en un informe de inventario detallado.
Básicamente, mis datos constan de dos tablas:
- Tabla A: Información sobre el nivel de existencias del producto p en la empresa c en la fecha d
fecha | producto | compañía | acción |
01-01-2020 | x | amazona | 100 |
02-01-2020 | x | amazona | 40 |
03-01-2020 | x | amazona | 60 |
01-01-2020 | y | Walmart | 70 |
- Tabla B: Información sobre la demanda r del producto p en la empresac en la fecha d.
fecha | producto | compañía | DemandId | cantidad |
01-01-2020 | x | amazona | 1 | 50 |
01-01-2020 | x | amazona | 2 | 40 |
02-01-2020 | y | amazona | 3 | 60 |
Por supuesto, podría agregar la 'Demanda' como columna adicional para la tabla A, sin embargo, quiero que todos los cálculos se realicen dinámicamente para poder filtrar ciertos tipos de demanda.
En primer lugar, creé el stock neto por fecha, producto y empresa. Básicamente, esto es sólo una medida fácil:
NetStock := SUM(Stock) - SUM(Cantidad)
Junto a eso, quiero crear un KPI que mida el número de ocasiones en las que el stock cae por debajo de 0 (y básicamente estamos fuera de stock). Como agregar todos los productos y empresas en una suma no funciona, decidí determinar esto en el nivel más bajo:
StockOutOccasions =
var JoinedTable =
SUMMARIZE(
'Table_A';
'Table_A'[Company];
'Table_A'[Product];
'Table_A'[Date];
"OutOfStock"; IF([NetStock] < 0; 1; 0)
)
return SUMX(JoinedTable; [OutOfStock])
Se han creado medidas de Similair para medir el déficit de existencias, la probabilidad de deso capitalización, etc.
Mi KPI final es representar la duración de un desmeste, tanto la duración máxima como la media.
Sin embargo, estoy luchando bastante cómo hacer esto, ya que uso una tabla medida en cálculos anteriores.
Mis expectativas son para la siguiente tabla medida:
fecha | producto | compañía | NetStock |
01-01 | x | y | -10 |
02-01 | x | y | -15 |
03-01 | x | y | -10 |
04-01 | x | y | 5 |
05-01 | x | y | -20 |
06-01 | x | y | 10 |
Duración máxima: 3 (=> 01-01 hasta 03-01)
Duración media: 2 (=> (3+1)/2 )
Tuve la idea de crear una 'columna' adicional que indica el número de días consecutivos que el netstock < 0, y 0 si el netstock >= . Esto daría como resultado lo siguiente:
fecha | 01-01 | 02-01 | 03-01 | 04-01 | 05-01 | 06-01 |
x | 1 | 2 | 3 | 0 | 1 | 0 |
Entonces la duración máxima sería sólo el valor máximo de esta columna.
El promedio se puede determinar como: COUNT(x>0)/COUNT(x=1)
Entonces, la idea está ahí, intenté un par de cosas, pero principalmente estoy atascado en las restricciones de la tabla medida.
¿Alguien puede ayudarme a crear la columna x? (Ver la última matriz)
Soy consciente de que la medida probablemente va a ser algo lenta, sin embargo, prefiero esto ya que esto me permite usar filtros.
Gracias de antemano!
Hola @JamievdM ,
tal vez este post proporcionará lo que usted está buscando o al menos proporciona algunas ideas nuevas:
Si no es así, cree un archivo pbix que contenga algunos datos de ejemplo pero que siga reflejando su modelo de datos, cargue el archivo en onedrive o dropbox y comparta el enlace.
Asegúrese de que el pbix tiene un modelo de datos adecuado (esquema de estrella), lo que significa que hay tablas dedicadas para la empresa, producto, fecha, (no está seguro acerca del demandid).
saludos
Tom
HI @JamievdM,
La fórmula de medida se calcula en función de su contenido de fila, por lo que puede verse afectada dinámicamente por filtros/slicers.
Cuando se utiliza en una columna o tabla calculada, su nivel de contenido de fila se fijará como toda la tabla y no podrá interactuar con la segmentación/filtro para lograr una columna/tabla calculada dinámica.
BTW, mida fórmulas que no se pueden utilizar como categoría para agrupar y agregar registros.
saludos
Xiaoxin Sheng
@ImkeF , puede ayudar
Hola Amit,
Desearía poder ayudar aquí, pero eso está más allá de mis habilidades DAX hoy.
Un índice anidado / condicional en DAX necesita algunas superpotencias DAX de @Greg_Deckler, @TomMartens o @OwenAuger .
Imke Feldmann (The BIccountant)
If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!
How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries
Check out the October 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.