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
Syndicate_Admin
Administrator
Administrator

Segmentación de datos con una tabla de dimensiones que cambia lentamente

Hola

Tengo un problema con mi tabla de dimensiones: mi tabla de empresa es un SCD. Tiene algunos campos que están cambiando en 2022. Así que tengo dos versiones de mi tabla de la compañía: Coca cola Type está cambiando de "Soda" a "Juice" en la columna Tipo.
En mi informe PBI, tengo 2 rebanadoras con:

  • La columna Fecha ("Fecha" en la tabla de fechas)
  • Otra cortadora con el Tipo del producto (columna "Tipo" en la Tabla de la Empresa)

¿Cómo puedo administrar mis tablas para que cuando seleccione 2021 & Soda en mis 2 rebanadoras, pueda ver los datos de Coca Cola en la categoría Soda?
y cuando selecciono 2022, & Juice, puedo ver los datos de Coca cola en la categoría Juice ?
Tenga en cuenta que tengo muchas tablas de hechos como la tabla de precios (alrededor de 20 tablas de hechos como esta)

Company2021 (tabla de dimensiones que es un SCD que cambia en 2022)

ÍndiceNombreType
Coca_IndexCoca ColaSoda
Pepsi_index PepsiSoda
Orange_IndexZumo de naranjaJugo

Empresa2022

ÍndiceNombreType
Coca_IndexCoca ColaJugo
Pepsi_index PepsiSoda
Orange_IndexZumo de naranjaJugo

Precio (tabla de hechos)

TypePrecioDate
Coca_Index2.502021
Pepsi_index2.502021
Orange_index22021
Coca_Index32022
Pepsi_index32022
Orange_index22021

Fecha (tabla de dimensiones)

Dateíndice
20211
20222

Lo que quiero al final es esto:

  • Cuando selecciono 2021:
    2021 screenPantalla 2021
  • Cuando selecciono 2022:
    2022 screenPantalla 2022
    ¿Sabes cómo puedo lidiar con este problema?
    ¡Gracias por la ayuda!
1 ACCEPTED SOLUTION

Ok, hay una serie de problemas que necesitan revisión. En primer lugar, su modelo está configurado con tablas de dimensiones vinculadas a través de relaciones de muchos a muchos a la tabla de precios, lo que no se recomienda. He creado nuevas tablas de dimensiones para empresa y año para permitir relaciones unidireccionales de uno a otro. El modelo se ve de la siguiente manera:

model.jpg

(No estoy muy seguro de cómo los semestres son relevantes dado que la granularidad de las tablas de precios está en un nivel de año)

Para filtrar la segmentación de datos de tipo, necesita utilizar la siguiente medida como filtro en la segmentación de datos:

Filter Years = 
COUNTROWS(FILTER(Ref_Company, Ref_Company[Date] IN VALUES('Year'[Date])))

Agregue la medida al panel de filtro de la segmentación de datos y establezca el valor en mayor o igual a 1:

type slicer.jpg

SI.gif

Para asegurarse de que la tabla de precios responde a la segmentación de datos Tipo, cree la siguiente medida para agregar el objeto visual de la tabla de precios y establezca el valor en mayor o igual a 1:

FIlter Price = 
VAR _Type = SUMMARIZE(Ref_Company,Ref_Company[Date],DCompany[Index])
VAR _Price = SUMMARIZE('Price', 'Price'[Date], 'Price'[Index])
RETURN
COUNTROWS(INTERSECT(_Price, _Type))

Final1.gif

He adjuntado el archivo PBIX de ejemplo

View solution in original post

14 REPLIES 14
Syndicate_Admin
Administrator
Administrator

Intente agregar esta medida como filtro en el panel de filtros para la segmentación de datos Tipo y establezca el valor en mayor o igual a 1:

FILTRO =

COUNTROWS (RELACIONADOTABLE(Precio))

Hola @PaulDBrown, no funciona, ¿lo has probado en mi archivo pbix?
https://www.dropbox.com/s/koudtjdkjhl869d/Slicer%20with%20a%20SCD.pbix?dl=0
(No puedo subir .pbix directamente en el foro, no sé por qué).

Ok, hay una serie de problemas que necesitan revisión. En primer lugar, su modelo está configurado con tablas de dimensiones vinculadas a través de relaciones de muchos a muchos a la tabla de precios, lo que no se recomienda. He creado nuevas tablas de dimensiones para empresa y año para permitir relaciones unidireccionales de uno a otro. El modelo se ve de la siguiente manera:

model.jpg

(No estoy muy seguro de cómo los semestres son relevantes dado que la granularidad de las tablas de precios está en un nivel de año)

Para filtrar la segmentación de datos de tipo, necesita utilizar la siguiente medida como filtro en la segmentación de datos:

Filter Years = 
COUNTROWS(FILTER(Ref_Company, Ref_Company[Date] IN VALUES('Year'[Date])))

Agregue la medida al panel de filtro de la segmentación de datos y establezca el valor en mayor o igual a 1:

type slicer.jpg

SI.gif

Para asegurarse de que la tabla de precios responde a la segmentación de datos Tipo, cree la siguiente medida para agregar el objeto visual de la tabla de precios y establezca el valor en mayor o igual a 1:

FIlter Price = 
VAR _Type = SUMMARIZE(Ref_Company,Ref_Company[Date],DCompany[Index])
VAR _Price = SUMMARIZE('Price', 'Price'[Date], 'Price'[Index])
RETURN
COUNTROWS(INTERSECT(_Price, _Type))

Final1.gif

He adjuntado el archivo PBIX de ejemplo

Hola @PaulDBrown, su solución parece funcionar, pero tengo varias preguntas para usted.


1. ¿Conoces la diferencia entre tu medida?

COUNTROWS(FILTER(Ref_Company, Ref_Company[Date] IN VALUES('Year'[Date]))

y lo que intenté:

COUNTROWS(FILTER(Ref_Company, Ref_Company[Date] = SELECTEDVALUE(Year[Date]))

Porque no funciona con lo que probé: con mis datos completos y la 2ª medida, a veces funciona y a veces no para diferentes KPI, pero no puedo explicar por qué. (Cuando digo que no funciona, quiero decir que mi segmentación de datos no muestra los diferentes valores en Tipo)


2. ¿Podría explicar cuándo necesito crear el "Precio de filtro" de mesure? Porque ahora parece funcionar y no sé en qué caso habría un problema sin esta medida.

¡Muchas gracias de nuevo por su ayuda!

Me atrevería a aventurar que el problema al que te enfrentabas probablemente se debía al modelo en sí y a las relaciones de muchos a muchos y los filtros bidireccionales.

Necesita la medida [Precio de filtro] porque la tabla de Ref_company en el nuevo modelo no puede filtrar directamente la tabla de precios (ya que está en el lado de muchos en una relación de una sola dirección). Por lo tanto, necesita una forma de filtrar la tabla de precios en función de la selección Tipo en la tabla Ref-Company, que proporciona la medida [Filtrar precio]. ¿Entender?

Syndicate_Admin
Administrator
Administrator

En ella @bastienlin ,

Consulte mi archivo pbix para ver si le ayuda.

Agregue columnas de año para cada una de las dos tablas.

Haga clic en Inicio>>Transformar datos>>Transformar datos>>agregar columna>> Columna personalizada.

vpollymsft_0-1650008392618.png

vpollymsft_1-1650008434401.pngvpollymsft_2-1650008452813.png

A continuación, añada las dos tablas.

vpollymsft_3-1650008490211.png

A continuación, cree la relación entre la nueva tabla de apéndices y la tabla de índices.

vpollymsft_4-1650008565842.png

vpollymsft_5-1650008582092.png

vpollymsft_6-1650008608638.png

Si he entendido mal su significado, proporcione su archivo pbix sin información de privacidad y la salida deseada.

Saludos

Equipo de apoyo a la comunidad _ Polly

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

@v-polly-msft, @amitchandak Aquí está mi archivo PBI con los enlaces correctos de las tablas.
https://www.dropbox.com/s/koudtjdkjhl869d/Slicer%20with%20a%20SCD.pbix?dl=0
(No puedo subir .pbix directamente en el foro, no sé por qué).
Tenga en cuenta que la tabla de Ref_Company se puede dividir en dos tablas dependiendo del año (como lo hizo usted) si es necesario. Mi tabla no tenía una columna de fecha antes, pero la agregué para poder tener los cambios entre 2021 y 2022 en la columna tipo de Coca Cola.
Capture.PNGCapture2.PNG
Lo que quiero es que mi segmentación de datos (a la izquierda) filtre mi segmentación de datos tipo (a la derecha).
Cuando seleccione 2021, solo veré Coca cola en el tipo Soda, y cuando seleccione 2022, solo veré Coca cola en el Tipo de jugo.
La fecha que tengo en mi rebanadora tiene que ser la fecha de la tabla de Ref_Date, porque tengo muchas tablas de hechos.
En realidad, podemos ver Coca Cola en ambas categorías de tipos, sin importar la fecha que elija...

¡Gracias de nuevo por su ayuda!

En ella @bastienlin ,

Por favor, pruébalo.

Crear relación entre ref_company y ref_date.

vpollymsft_0-1650244156590.png

vpollymsft_1-1650244203475.png

vpollymsft_2-1650244222599.png

Saludos

Equipo de apoyo a la comunidad _ Polly

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Hola @v-polly-msft, no sé si tu solución funciona, porque cuando borro la relación entre ref_company y ref_table, también funciona...
Pero no puedo encontrar por qué funciona. Ahora tengo una versión que no funciona y una versión que funciona, pero no puedo explicar la diferencia entre estas dos.

¡Gracias de nuevo por su ayuda!

Hay @Bastienlin_ ,

¿Tiene sentido eso? Si es así, marque amablemente mi respuesta como la solución para cerrar el caso o compartirlo de la manera, por favor. Gracias de antemano.

Saludos

Equipo de apoyo a la comunidad _ Polly

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

@v-polly-msft En realidad no, ¿puedes intentarlo de nuevo descargando de nuevo el archivo? o en otra página? Porque cuando trato de hacerlo, no funciona. Puedes ver en mi nuevo archivo en el enlace que tengo 2 páginas, una que funciona y otra que no.
(https://www.dropbox.com/s/koudtjdkjhl869d/Slicer%20with%20a%20SCD.pbix?dl=0

aquí está el enlace de nuevo)

Hay @Bastienlin_ ,

He encontrado el error. La página1 funciona bien porque las segmentaciones de datos están en una tabla. Y la página2 no puede funcionar bien porque has creado la relación equivocada. Está filtrando los datos por año, por lo que debe crear una relación con los datos.

vpollymsft_0-1650359557263.pngvpollymsft_1-1650359577166.png

Por favor, compruébelo cuidadosamente.

Saludos

Equipo de apoyo a la comunidad _ Polly

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Hola @v-polly-msft
En mi caso, necesitamos una relación entre ref_company y las tablas de precios con índice y creo que su solución no funciona en este caso.
Crear la medida que Pablo sugirió parece funcionar en mi caso (ver arriba).

¡Gracias de nuevo por su ayuda!

Syndicate_Admin
Administrator
Administrator

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.