cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
tom_cowling
Frequent Visitor

Problema al crear una consulta DAX

Hola

Realmente estoy luchando para obtener la sintaxis correcta en esta consulta de DAX que estoy escribiendo y no puedo encontrar una solución que se adapte a internet.

Tengo dos mesas. Dwh_Fact_Main y Nominal_Info.

Fact_Main tiene columnas denominadas Nominal y Value. Nominal_Info tiene Nominal y nomgroup (que contiene algunos valores diferentes que quiero filtrar).

Mi consulta en inglés simple sería:

Haga una SUMA de valor en todas las filas de fact_main con el nomgroup de "Ingresos", menos la SUMA de Valor en todas las filas con el nomgroup de "Gasto", menos la SUMA de Valor en todas las filas con el grupo nom de "Personal".

Lo que tengo hasta ahora es lo siguiente, pero no es bueno.

SUMX(FILTER(NOMINAL_INFO, NOMINAL_INFO[NOMGROUP]-"INCOME"),DWH_FACT_MAIN[VALUE])- SUMX(FILTER(NOMINAL_INFO, NOMINAL_INFO[NOMGROUP]-"EXPENDITURE"),DWH_FACT_MAIN[VALUE])- SUMX(FILTER(NOMINAL_INFO, NOMINAL_INFO[NOMGROUP]-"STAFF"),DWH_FACT_MAIN[VALUE])

Cualquier ayuda sería muy apreciada.

Gracias

Tom

1 ACCEPTED SOLUTION

@tom_cowling - Trate de envolver las referencias de columna en algo como MAX


@ me in replies or I'll lose your thread!!!
Check out my External Tool for Power BI Desktop! Microsoft Hates Greg's Quick Measures
YouTube Channel! Microsoft Hates Greg
Check out my latest book!

View solution in original post

6 REPLIES 6
pedrovr2020
Frequent Visitor

Hola una opcion seria de esta forma

dato =
var ing = CALCULATE( [ValorDetalle] , 'Nominal'[Nominal] =1000)
var gast = CALCULATE( [ValorDetalle]*-1 , 'Nominal'[Nominal] =1100)
var pers = CALCULATE( [ValorDetalle]*-1 , 'Nominal'[Nominal] =1200)
return
ing+gast+pers
-------------------------------
modelo de datos
datos.png
------------------------------
 

resultado

 

imgayda.png

 

 

amitchandak
Super User
Super User

@tom_cowling , no veo ningún problema de sintaxis. Esto se puede hacer como

SUMX(NOMINAL_INFO,Switch( true(),
								NOMINAL_INFO[NOMGROUP]="INCOME" , DWH_FACT_MAIN[VALUE],
								NOMINAL_INFO[NOMGROUP]="EXPENDITURE" ,-1* DWH_FACT_MAIN[VALUE], 
								NOMINAL_INFO[NOMGROUP]="STAFF",-1* DWH_FACT_MAIN[VALUE]))

¿Puede compartir datos de ejemplo y salida de ejemplo en formato de tabla?

Did I answer your question? Mark my post as a solution! Appreciate your Kudos!! !!
Dashboard of My Blogs !! Connect on Linkedin

Learn Power BI Beginners !! Advance Power BI Concepts !! Power BI For Tableau User !! Learn Power BI in Hindi !!
Proud to be a Super User!

Datos de muestra a continuación:

dwh_fact_main

CuentaNominalValor
1234510006542
1234510002151
1234512006560
1234511008161
12345610001415
12345611005148
1234567100018411
1234567120011784

nominal_info

NominalNomgroup
1000Ingresos
1100Gasto
1200Personal

Salida esperada:

CuentaTotal
12345-6,028
123456-3,733
12345676,627

El error que recibo cuando uso mi consulta y @amitchandak's es el siguiente:

"Error semántico: el valor de la columna 'Valor' en la tabla 'DWH_FACT_MAIN' no se puede determinar en el contexto actual. Compruebe que existen todas las columnas a las que se hace referencia en la expresión de cálculo y que no hay dependencias circulares. Esto también puede ocurrir cuando la fórmula de una medida hace referencia directamente a una columna sin realizar ninguna agregación (como suma, promedio o recuento) en esa columna. La columna no tiene un solo valor, tiene muchos valores, uno para cada fila de la tabla y ahora se ha especificado la fila."

@tom_cowling - Trate de envolver las referencias de columna en algo como MAX


@ me in replies or I'll lose your thread!!!
Check out my External Tool for Power BI Desktop! Microsoft Hates Greg's Quick Measures
YouTube Channel! Microsoft Hates Greg
Check out my latest book!

View solution in original post

Brilliant!

 

Thank you both for the swift responses. I used @amitchandak's code with the MAX wrapping on columns and that seems to have worked.

Greg_Deckler
Super User
Super User

@tom_cowling - ¿Recibe un error de sintaxis? Difícil de solucionar de lo contrario sin la fecha de origen de la muestra. 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!!!
Check out my External Tool for Power BI Desktop! Microsoft Hates Greg's Quick Measures
YouTube Channel! Microsoft Hates Greg
Check out my latest book!

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

November Power BI Update 768x460.png

Check it Out!

Click here to read more about the November 2021 Updates!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Top Solution Authors