Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Anonymous
Not applicable

¿Es posible mantener una columna en una variable Measure?

Tenemos una cortadora con el valor "Local" y "USD".

GollyJer_0-1600924601004.png

Dependiendo de la selección queremos utilizar una columna diferente de datos para los cálculos.

Esto funciona.

Billings Sum = 
IF(
    SELECTEDVALUE(CurrencyPickerTable[Currency]) = "Local",
    SUM('BillingsTable'[Billings (local)]),
    SUM('BillingsTable'[Billings (USD)])
)

Sin embargo, se va a volver más complicado, así que esperaba mantener la columna en una variable para hacer cálculos con más adelante.

Este es mi intento fallido.

Billings Sum = 
var selectedBillingsColumn = 
IF(
    SELECTEDVALUE(CurrencyPickerTable[Currency]) = "Local", 
    SELECTCOLUMNS(BillingsTable, "local", [Billings (local)]), 
    SELECTCOLUMNS(BillingsTable, "USD", [Billings (USD)])
)

RETURN
SUM(selectedBillingsColumn)

¿Cómo se mantiene una columna en una variable?

Gracias. 👍

6 REPLIES 6
TomMartens
Super User
Super User

Hey @GollyJer ,

no existe tal cosa como una expresión de tabla dinámica que se puede utilizar o volver a utilizar en diferentes medidas. Para esto habrá fracciones de código que se repetirán.

Como la función DAX IF devuelve un valor booleano o un valor escalar, pero nunca una tabla. Una instrucción DAX simple para crear una medida puede volverse más compleja.

Empezando por esto

the measure I want = 
CALCULATE(
    <the scalar value>
    , settablefilter1
    , settablefilter2
    , ...
    , settablefilterN
)

se transforma en algo como esto

the measure I want = 
var _slicer1 = SELECTEDVALUE(...)
var _slicerN = SELECTEDVALUE(...)
return
CALCULATE(
    IF(_slicer voodod , the maybe hidden measure1 , the maybe hidden measure2)
    , settablefilter1
    , settablefilter2
    , ...
    , settablefilterN
)

Considero las medidas "medida1" y "... medidas de base de measure2", estas medidas no representan la selección de la segmentación, sino que simplemente calculan el valor para local o USD. Tenga en cuenta que "_slicer vudú" representa la lógica que ayuda a determinar sobre las "medidas base tal vez ocultas".

Básicamente tenemos la parte de expresión numérica cubierta.

Una medida final, que se refleja en innumerables combinaciones de posibles cortadoras puede tener este aspecto:

the measure I want = 
var _slicer1 = SELECTEDVALUE(...)
var _slicerN = SELECTEDVALUE(...)

var _check1 = IF( _slicermojo , 1 , 0)
var _check2 = IF( _slicermojo , 0 , 1)

return
CALCULATE(
    IF(_slicer voodod , the maybe hidden measure1 , the maybe hidden measure2)
    , AND( _check1 = 1 , FILTER('<Table1 1>' , ...)
    , AND( _check2 = 1 , FILTER('<Table1 2>' , ...)
    , ...
    , settablefilterN
)

Usted tiene que asegurarse de que _check1 y _check2 nunca pueden tener el mismo valor al mismo tiempo.

Como IF se evaluará perezosamente, el segundo parámetro de and anterior nunca se evaluará si el parámetro 1 es igual a FALSE, esto evita la aplicación no deseada de la función FILTER(...).

Esperemos que esto proporcione algunas ideas sobre cómo abordar este desafío.

saludos

Tom



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany
Anonymous
Not applicable

@Greg_Deckler Gracias por los comentarios. He actualizado la pregunta con más enfoque en la primera parte de lo que estoy tratando de resolver. Una cosa a la vez. 🤪

@TomMartens Gracias por la respuesta. Creo que usted obtuvo la esencia de la pregunta original, pero por favor eche un vistazo a la versión actualizada por si acaso.

Hey @GollyJer ,

puede almacenar el objeto en una medida.

Junto a eso, no puede usar SELECOLUMNS ni ninguna otra función que devuelva una tabla dentro de IF. Ambas ramas, true o false tienen que devolver un valor escalar.

saludos

Tom



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany
Anonymous
Not applicable

Gracias @TomMartens.

Básicamente, la respuesta a mi pregunta es no, no se puede hacer.
Y, la solución es súper complicada y no vale la pena jugar con. 🤪

Voy a tomar otro enfoque y remodelar los datos importados.

@GollyJer Realmente deseo que fuera posible devolver una mesa de una medida, sería increíblemente útil! Creo que tengo una idea publicada al respecto.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...
Greg_Deckler
Super User
Super User

@GollyJer Lo sentimos, teniendo problemas para seguir, ¿puede publicar datos de ejemplo como texto y salida esperada?


No es realmente suficiente información para seguir adelante, por favor primero compruebe si su problema es un problema común enumerado aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882

Además, consulte este post sobre cómo obtener respuesta a su pregunta 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!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Kudoed Authors