cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Total diario para análisis de periodos

Hola a todos

Tengo una mesa de compras y ventas de clientes. Calculo el cambio diario de propiedad restando estos dos.

Además, tengo una medida para comprobar si el cambio diario de propiedad estaba por debajo del umbral (25%).

Más específicamente, desde esta mesa

fechaclientetipoArtículos
1/1/2021Acomprar100
1/1/2021Acomprar100
1/1/2021Avender500
1/1/2021Acomprar300
8/1/2021Bcomprar100
8/1/2021Bvender50
9/1/2021Avender100
9/1/2021Acomprar80

A continuación, creo la tabla visual

fechaclienteCambio diario de propiedad Cambio diario de propiedad PCTisUnchagned
1/1/2021A0 (ABS(100 + 100 -500 + 300))0% (dividir (cambio diario de propiedad, TotalItems) -> 0/10001 (si la propiedad diaria cambia PCT < 0,25, 1, 0)
8/1/2021B5033.3% (50/150)0
9/1/2021A20

11% (20/180)

1

Lo que quiero ahora es crear un informe de período que muestre cuántos días el isUnchanged fue 1,

Digamos para 1/1/2021 - 10/1/2021

clienteseunchanged Total
A2
B0

Cuando creo este último objeto visual, obteré cero isUnchanged Total para todos los clientes.

¿Alguna idea??

Gracias de antemano,

Kyriakos

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No @KyriakosT,

Estos son los pasos que puede seguir:

1. Cree la medida.

Daily Ownership Change =
var _1=CALCULATE(SUM('Table'[Items]),FILTER(ALL('Table'),'Table'[Date]=MAX('Table'[Date])&&'Table'[Customer]=MAX('Table'[Customer])&&'Table'[Type]="Buy"))
VAR _2=CALCULATE(SUM('Table'[Items]),FILTER(ALL('Table'),'Table'[Date]=MAX('Table'[Date])&&'Table'[Customer]=MAX('Table'[Customer])&&'Table'[Type]="Sell"))
return
ABS(_1-_2)
Daily Ownership Change PCT =
var _1=CALCULATE(SUM('Table'[Items]),FILTER(ALL('Table'),'Table'[Date]=MAX('Table'[Date])))
return
DIVIDE('Table'[Daily Ownership Change],_1)
isUnchagned =
IF('Table'[Daily Ownership Change PCT]<0.25,1,0)

resultado:

v-yangliu-msft_0-1620868338529.png

2. Coloque sólo el resultado de [Cliente]:

v-yangliu-msft_1-1620868338540.png

Esto se debe a que Measure solo realizará cálculos basados en los campos que coloque. Solo hay [Cliente] en esta tabla, y [Cliente] agrupará los cálculos en lugar de [Fecha].

3. Puede utilizar la medida para crear una tabla virtual idéntica.

isUnchanged Total =
var _1=
SUMMARIZE('Table','Table'[Date],'Table'[Customer]," Daily Ownership Change",[Daily Ownership Change],"2",[Daily Ownership Change PCT],"3",[isUnchagned])
var _2=COUNTAX(FILTER(_1,[3]=1),[Customer])
return
IF(_2=0,0,_2)

4. Resultado:

v-yangliu-msft_2-1620868338544.png

Saludos

Liu Yang

Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

No @KyriakosT,

Estos son los pasos que puede seguir:

1. Cree la medida.

Daily Ownership Change =
var _1=CALCULATE(SUM('Table'[Items]),FILTER(ALL('Table'),'Table'[Date]=MAX('Table'[Date])&&'Table'[Customer]=MAX('Table'[Customer])&&'Table'[Type]="Buy"))
VAR _2=CALCULATE(SUM('Table'[Items]),FILTER(ALL('Table'),'Table'[Date]=MAX('Table'[Date])&&'Table'[Customer]=MAX('Table'[Customer])&&'Table'[Type]="Sell"))
return
ABS(_1-_2)
Daily Ownership Change PCT =
var _1=CALCULATE(SUM('Table'[Items]),FILTER(ALL('Table'),'Table'[Date]=MAX('Table'[Date])))
return
DIVIDE('Table'[Daily Ownership Change],_1)
isUnchagned =
IF('Table'[Daily Ownership Change PCT]<0.25,1,0)

resultado:

v-yangliu-msft_0-1620868338529.png

2. Coloque sólo el resultado de [Cliente]:

v-yangliu-msft_1-1620868338540.png

Esto se debe a que Measure solo realizará cálculos basados en los campos que coloque. Solo hay [Cliente] en esta tabla, y [Cliente] agrupará los cálculos en lugar de [Fecha].

3. Puede utilizar la medida para crear una tabla virtual idéntica.

isUnchanged Total =
var _1=
SUMMARIZE('Table','Table'[Date],'Table'[Customer]," Daily Ownership Change",[Daily Ownership Change],"2",[Daily Ownership Change PCT],"3",[isUnchagned])
var _2=COUNTAX(FILTER(_1,[3]=1),[Customer])
return
IF(_2=0,0,_2)

4. Resultado:

v-yangliu-msft_2-1620868338544.png

Saludos

Liu Yang

Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

Syndicate_Admin
Administrator
Administrator

[Total isunchanged] = SUMA ( 'tabla'[IsUnchanged] )

Lo que estoy diciendo anteriormente es que usted podría (tal vez incluso debería) crear la segunda tabla (se llama visual) en Power Query en su totalidad, lo que significa para todos los clientes y todas las fechas. Si lo haces, entonces será más fácil y MUCHO más rápido calcular otras cosas. Básicamente, la regla es la siguiente: Debe calcular previamente todo lo que pueda en Power Query. Las columnas calculadas deben calcularse en Power Query a menos que no haya absolutamente otra forma que hacerlo con DAX.

Hay muchas razones detrás de lo anterior, pero para explicar todo esto se necesitaría un artículo completo o un capítulo en un libro.

Syndicate_Admin
Administrator
Administrator

@KyriakosT

El primer cálculo debe realizarse en Power Query (agregando las 3 columnas). A continuación, en Power BI Desktop puede crear fácilmente la medida resumiendo los valores de la última columna.

@daxer gracias por su respuesta.

No obtení la primera parte donde mencionas Power Query.

Tengo las siguientes medidas:

Compras = CALCULATE(SUM(Items), 'Table'[Type] = "Buy"

Ventas= CALCULATE(SUM(Items), 'Table'[Type] = "Sell"
Total = CALCULATE(SUM(items))
Cambio diario de onwership = ABS (Compras-Ventas)
Cambio diario de propiedad PCT = Cambio diario de onwership/total (%)
Entonces calculo
isUnchanged = si (Cambio diario de propiedad PCT < 0,25, 1, 0)
Todos estos funcionan si se segmenta cliente por fecha (consulte visual 2).
Pero según entiendo, ya que mis medidas están engañando el factor diario (se fija automáticamente por el visual de la tabla),
No puedo usarlos directamente en mi análisis periódico (visual 3).
Necesito especificar que mis medidas se refieren a diario y no sé cómo.
¿Tienes alguna sugerencia?

Helpful resources

Announcements
PBI_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

MBAS on Demand

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

Get Ready for Power BI Dev Camp

Microsoft named a Leader in The Forrester Wave

Microsoft received the highest score of any vendor in both the strategy and current offering categories.

R2 (Green) 768 x 460px.png

Microsoft Dynamics 365 & Power Platform User Professionals

DynamicsCon is a FREE, 4 half-day virtual learning experience for 11,000+ Microsoft Business Application users and professionals.