cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
PBIuseNpa
Helper I
Helper I

Qué valor del parámetro If como escalar en condición para la columna agregada

Estoy intentando usar un parámetro What If para permitir a los usuarios cambiar el intervalo de fechas de una línea y un gráfico de columnas apiladas. Este es un gráfico De Pareto de categorías de registros NC. No hay ninguna columna de fecha en la tabla que refleja el gráfico (tabla "resumen") porque diferentes categorías de registros NC pueden tener la misma fecha. La inclusión de fechas daría recuentos de registros NC por categoría y fecha. Y el Pareto necesita mostrar recuentos de registros NC por categoría.

La tabla "resumen" resume la tabla "Registros NC".

summary = SUMMARIZECOLUMNS(
      'NC records'[Category], 
      FILTER('NC records','NC records'[ShowNoShow] = "Show"),
      "NC count", DISTINCTCOUNT('NC records'[NC Num])
)

Se ha añadido la columna 'Registros NC'[ShowNoShow] para proporcionar una manera de limitar el intervalo de fechas en el gráfico de Pareto. La tabla "Registros NC" contiene un mínimo de 12 meses de registros. Pero los usuarios querrán ver los datos de Pareto'd en intervalos de fechas más cortos; últimos 30 días, últimos 7 días, ayer, etc.

ShowNoShow = IF(DATEDIFF('NC records'[Date],DATE(2020,4,22),Day) < 7,"Show","NoShow")

Para este post, las etiquetas de columna ShowNoShow NC registran los registros NC "Show" si sus fechas están en los 7 días que terminan el 22-Apr-2020. En la práctica, Hoy() se sustituye por FECHA(2020,4,22).

En un intento de cambiar un rango de 7 días cableado a un rango que los usuarios pueden controlar, creé el parámetro What If, "Parámetro de fecha." El parámetro de fecha se agrega a una segmentación de datos y el valor del parámetro de fecha se sustituye por el escalar 7 en la expresión ShowNoShow.

ShowNoShow = IF(DATEDIFF('NC records'[Date],DATE(2020,4,22),Day) < SELECTEDVALUE('Date Parameter'[Date Parameter]),"Show","NoShow")

Pero SELECTEDVALUE('Date Parameter'[Date Parameter]) es aparentemente 0 porque el gráfico de Pareto ahora no muestra nada.

¿Qué me estoy perdiendo?

El escalar del gráfico de Pareto se establece en 1000 para mostrar todos los datos.

4.png

Una página independiente con tabla de ambas tablas donde la escalare se establece en 7. Funciona bien.

1.png

La misma página con escalar establecido en SELECTEDVALUE. Tanto la tabla de resumen como el gráfico no muestran nada.


2.png

9 REPLIES 9
PBIuseNpa
Helper I
Helper I

@parry2k, Gracias. Este código no funciona. resumen todavía no muestra nada.

parry2k update, 04-May.png

El gráfico de Pareto necesita presentar el recuento de NC por categoría. Y la fecha no se puede incluir porque hay una relación de muchos a uno entre NC Num y la fecha. Un Pareto de Recuento (NC Num & Date) y la categoría se ve muy diferente de un Pareto de recuento NC y categoría.

AllisonKennedy
Super User III
Super User III

@PBIuseNpa El código para el resumen ya no funcionará ahora que ShowNoShow es un MEASURE y no una columna. Por favor, pruebe mi sugerencia de la publicación anterior para eliminar la columna recuento de NC y crear el recuento de NC como una medida en su lugar. También recomiendo encarecidamente tener la tabla Summary integrada en la consulta en lugar de usar DAX para crear esta tabla. ¿Sus categorías cambian a menudo? Si no es así, simplemente puede hacer referencia a ellos desde una tabla estática. Háganos saber cuál es su nivel de habilidad y experiencia en el Editor de consultas y podemos ayudarle a implementar estas sugerencias.



?? Check out my March Madness Report??


Has this post solved your problem? Please mark it as a solution so that others can find it quickly and to let the community know your problem has been solved. 


If you found this post helpful, please give Kudos. ?


I work as a trainer and consultant for Microsoft 365, specialising in Power BI and Power Query. 


www.excelwithallison.com

@AllisonKennedy, Gracias por aclarar. El conteo NC funciona tal y como está. Si se crea un resumen en el editor de consultas, ¿podré usar el campo ShowNoShow conectado a parámetros en registros NC (agregado mediante DAX) para controlar qué registros se reunen en resumen?

Re: El uso de ShowNoShow como medida en registros NC significa que el uso de SUMMARIZECOLUMNS para crear un resumen no funcionará. ¿Esto también se aplica a la función SELECTCOLUMNS?

Lo que estoy buscando es una manera de usar un parámetro What If para controlar qué registros de los registros NC de la tabla se pasan al resumen de tabla donde summary contiene Category y un recuento de registros NC Num y NC contiene Category, NC Num y Date.

@PBIuseNpa sí, dado que ShowNoShow ahora se está creando como un MEASURE, seguirá funcionando incluso si cambia la forma en que se calcula el recuento de NC, o si usa mi sugerencia anterior para el recuento de CN como medida, filtrará automáticamente en función de los criterios del parámetro de fecha (showNoShow) sin necesidad del campo/medida o columna showNoShow. Simplemente tendrá que agregar la medida recuento de CN a la visualización de tabla o matriz junto con la categoría de la tabla de resumen (de nuevo llamaría a esto una tabla de dimensiones en lugar de resumen, pero la convención de nomenclatura no cambia el resultado).

¿Este post ha resuelto tu problema? Por favor, márquelo como una solución para que otros puedan encontrarlo rápidamente y para que la comunidad sepa que su problema ha sido resuelto.

Si has encontrado este post útil, por favor, dale a Kudos.

Trabajo como instructor y consultor para Microsoft 365, especializado en Power BI y Power Query.

https://sites.google.com/site/allisonkennedycv



?? Check out my March Madness Report??


Has this post solved your problem? Please mark it as a solution so that others can find it quickly and to let the community know your problem has been solved. 


If you found this post helpful, please give Kudos. ?


I work as a trainer and consultant for Microsoft 365, specialising in Power BI and Power Query. 


www.excelwithallison.com

AllisonKennedy
Super User III
Super User III

@PBIuseNpa puede confirmar que ha intentado @parry2k solución como MEDIDA? Originalmente estaba utilizando una columna, pero si usa una medida, debe mostrar los resultados que busca una vez que la coloque en la visualización de la tabla.

Como alternativa, le sugiero que elimine la columna Recuento de NC de la tabla de resumen. Puede conservar la tabla de resumen, de hecho la columna Categoría es muy útil y yo personalmente la llamaría una tabla de dimensiones. Simplemente no necesita ser referenciado para el conteo de NC. Por lo tanto, una mejor manera de crear la tabla de resumen sería crearla en el editor de consultas como una tabla precargada con cada categoría enumerada una vez. El recuento de NC no necesita ser una columna (ya que es dinámico y debe cambiar en función de las segmentaciones de datos y los datos) sino una medida:

Conteo de NC:
COUNTROWS (
FILTRO (
«Registros NC»,
DATEDIFF ( 'Registros NC'[Fecha], HOY (), DIA ) < [Valor del parámetro de fecha]
)
)

Por favor, avísame si algo de eso no tiene sentido.

¿Este post ha resuelto tu problema? Por favor, márquelo como una solución para que otros puedan encontrarlo rápidamente y para que la comunidad sepa que su problema ha sido resuelto.

Si has encontrado este post útil, por favor, dale a Kudos.

Trabajo como instructor y consultor para Microsoft 365, especializado en Power BI y Power Query.

https://sites.google.com/site/allisonkennedycv



?? Check out my March Madness Report??


Has this post solved your problem? Please mark it as a solution so that others can find it quickly and to let the community know your problem has been solved. 


If you found this post helpful, please give Kudos. ?


I work as a trainer and consultant for Microsoft 365, specialising in Power BI and Power Query. 


www.excelwithallison.com

AllisonKennedy
Super User III
Super User III

Parry2k me ganó, pero el problema aquí no es que el valor de parámetro es 0, como se puede ver y se ha mostrado en las tablas que creó, el valor del parámetro se muestra correctamente tiene 7, y es una medida. Para que el cálculo funcione, debe usar una medida, no una columna calculada, que proporcionará los valores dinámicos que está buscando.

Una opción alternativa a la solución que Parry2k ha publicado es utilizar la función COUNTROWS en combo con el FILTRO que ya está utilizando, lo que significa que ya no necesitaría la tabla de resumen para este cálculo. Intente crear la siguiente MEDIDA:

Conteo de NC:
COUNTROWS (
FILTRO (
«Registros NC»,
DATEDIFF ( 'Registros NC'[Fecha], HOY (), DIA ) < [Valor del parámetro de fecha]
)
)

Si eso ayuda, por favor márquelo como una solución.



?? Check out my March Madness Report??


Has this post solved your problem? Please mark it as a solution so that others can find it quickly and to let the community know your problem has been solved. 


If you found this post helpful, please give Kudos. ?


I work as a trainer and consultant for Microsoft 365, specialising in Power BI and Power Query. 


www.excelwithallison.com

@AllisonKennedy, Gracias por esta respuesta. Necesito la tabla de resumen. El gráfico de Pareto no solo presenta el recuento de NC, sino que también presenta el total acumulado del recuento de NC como un porcentaje del recuento total de NC. El gráfico de Pareto requiere a) el recuento de NC por categoría, b) las categorías de estos recuentos NC y c) el porcentaje acumulado. Para obtener el porcentaje acumulado necesito tres medidas y dos columnas agregadas.

Las tres medidas...

Cumulative Percent = [Cumulative Total] / [Total NC count]

Cumulative Total = CALCULATE(SUM('summary'[NC count]), FILTER( ALLSELECTED('summary'), 'summary'[Rank] <= MAX('summary'[Rank])))

Total NC count = CALCULATE(SUM('summary'[NC count]), ALLSELECTED('summary'))

... y las dos columnas añadidas.

Rank = RANKX('summary', 'summary'[NC count] + (INT('summary'[random number by Category]) / 100000))

random number by Category = RANKX(ALL('summary'),FIRSTNONBLANK('summary'[Category],'summary'[Category]),,ASC,Dense)

parry2k
Super User III
Super User III

@PBIuseNpa intente seguir, agréguelo como medida

ShowNoShow = 

IF(DATEDIFF(MAX('NC records'[Date]),DATE(2020,4,22),Day) < SELECTEDVALUE('Date Parameter'[Date Parameter]),"Show","NoShow")

Me gustaría elogiossi mi solución me ayudó.👉Si puedes pasar tiempo publicando la pregunta, también puedes hacer esfuerzos para darle a Kudos quien haya ayudado a resolver tu problema. ¡Es una muestra de agradecimiento!






Did I answer your question? Mark my post as a solution.

Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.





@parry2k,gracias por ver esto. Desafortunadamente, esta solución no devuelve ningún dato en el resumen de la tabla.

parry2k solution NG.png

Intenté una alternativa sustituyendo la medida Valor del parámetro de fecha.

ShowNoShow = IF(DATEDIFF(MAX('NC records'[Date]),DATE(2020,4,22),Day) < [Date Parameter Value],"Show","NoShow")

Pero aún no hay suerte.
parry2k alternate NG.png

Estoy perplejo.

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

March Update

Check it Out!

Click here to read more about the March 2021 Updates!

secondImage

The largest Power BI virtual conference

100+ sessions, 100+ speakers, Product managers, MVPs, and experts. All about Power BI. Attend online or watch the recordings.

secondImage

Experience what’s next for Power BI

See the latest Power BI innovations, updates, and demos from the Microsoft Business Applications Launch Event.