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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Mostrar solo el mes y el año en Date Slicer

Necesito mostrar sólo el mes y el año en Date Slicer

Capture.PNG

No me gusta usar la cortadora de línea de tiempo disponible en el mercado.

Trato de crear dos cortadores a partir de mOnth y a mes

Capture1.PNG

Mi problema, el resultado son incorrectos y ¿cómo puedo controlar cuándo el usuario selecciona de mes > a mes?

Aquí hay un archivo pbix https://drive.google.com/file/d/1IC8FP7vKBpjrm92gr2yV_CgbhwYOeMJb/view?usp=drivesdk

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No hay @jaweher89

Aquí hay una sugerencia (PBIX adjunta):

1. Defina algunas tablas adicionales de la siguiente manera (hecho en DAX aquí, pero también se puede hacer en power query):

Year-Month = 
ALLNOBLANKROW ( 'Date'[Year-Mon] )

From Month = 
GENERATE ( 
    SELECTCOLUMNS ( 'Year-Month', "From Year-Month", 'Year-Month'[Year-Mon] ),
    FILTER ( ALLNOBLANKROW ( 'Year-Month'[Year-Mon] ), 'Year-Month'[Year-Mon] >= [From Year-Month] )
)

To Month = 
GENERATE ( 
    SELECTCOLUMNS ( 'Year-Month', "To Year-Month", 'Year-Month'[Year-Mon] ),
    FILTER ( ALLNOBLANKROW ( 'Year-Month'[Year-Mon] ), 'Year-Month'[Year-Mon] <= [To Year-Month] )
)

La esencia de estas tablas es:

  • El año-mes contiene valores distintos del año-mes
  • From Month contiene una columna [From Year-Month] que contiene todos los valores distintos de Year-Month, unidos a una columna [Year-Mon] que contiene todos los meses >= [From Year-Month]
  • To Month contiene una columna [To Year-Month] que contiene todos los valores distintos de Year-Month, unidos a una columna [Year-Mon] que contiene todos los meses <= [A año-mes]

2. A continuación, cree relaciones de la siguiente manera (relaciones bidireccionales entre mes / mes y mes):

Capture.PNG

3. Por último, cree segmentaciones de datos en 'From Month'[From Year-Month] y 'To Month'[To Year-Month] similar a sus segmentaciones originales.

4. Opcionalmente, cree medidas para usarlas como filtros de nivel visual en las dos segmentaciones de datos, para garantizar que no se muestren fechas fuera del intervalo de fechas general.


El resultado de esta configuración es que:

  • De mes en mes se filtran entre sí de una manera intuitiva, en virtud de las relaciones bidireccionales. Por ejemplo, filtros 'A mes' 'Año-mes' que filtra 'Desde mes'
  • Los filtros de las dos segmentaciones se combinan para filtrar Year-Month y, por lo tanto, 'Date' y 'Table (2)' en este caso.

¿Esto resuelve su problema?

saludos

Owen

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Genial he encontrado este post. Estaba teniendo el mismo problema.

Sin embargo, las funciones de inteligencia de tiempo como "Sameperiodlastyear" no parecen funcionar correctamente de esa manera. Para ser más precisos:
El filtrado, por ejemplo, de enero de 2020 a diciembre de 2020 no podrá mostrar valores de enero de 2019 a diciembre de 2019 utilizando Calculate y Sameperiodlastyear, porque las tablas 'From Month' y 'To Month' filtran la 'Tabla de fechas' para incluir solo 2020 en este caso en particular, por lo que 2019 no se puede pasar a la Tabla con los Valores en ella.

¿Hay alguna solución para esto? ¿O me estoy perdiendo algo aquí? 😄 @OwenAuger

saludos

Vjeko

Allí @VjekoL

Buen punto - esto es un poco de desventaja con este método en particular.

La razón por la que esta configuración no funciona como se esperaba con las funciones de inteligencia de tiempo es que estamos filtrando en tablas 'De mes' y 'Al mes' que no forman parte de la tabla expandida 'Fecha'.

Cuando los filtros se aplican a 'Fecha'[Fecha] por funciones de inteligencia de tiempo o de otro modo, todos los filtros existentes en la tabla expandida 'Fecha' se borran con un ALL automático ( 'Fecha').

La tabla expandida "Fecha" incluye todas las tablas que están en el lado 1 de una relación de varios a 1 de la tabla "Fecha" (directa o indirectamente). Sin embargo, 'From Month' y 'To Month' no están en el lado 1 de una relación indirecta con 'Date'.

Con el fin de hacer que las funciones de inteligencia de tiempo u otras expresiones de modificación de filtros de fecha funcionen, tendríamos que agregar ALLCROSSFILTERED ( 'Fecha' ) como modificador.

Citando dax.guide:

ALLCROSSFILTERED quita todos los filtros de una tabla expandida (como ALL)y de las columnas y tablas que están filtrando el argumento de tabla debido a los filtros cruzados bidireccionales establecidos en relaciones conectadas directa o indirectamente a la tabla expandida.

Esto significaría que tendría que escribir medidas como esta:

MyMeasure Last Year = 
CALCULATE ( 
    [MyMeasure],
    SAMEPERIODLASTYEAR ( 'Date'[Date] ),
    ALLCROSSFILTERED ( 'Date' )
)

Un poco de molestia, pero podría escribir la lógica una vez por vez intellgence calc con grupos de cálculo.

saludos

Owen

OwenAuger_0-1618964575602.png

Lo intenté y funciona perfectamente. La solución es mucho más fácil de lo que esperaba que fuera 😁

Gracias por la explicación. Me lo hace mucho más claro

Syndicate_Admin
Administrator
Administrator

No hay @jaweher89

Aquí hay una sugerencia (PBIX adjunta):

1. Defina algunas tablas adicionales de la siguiente manera (hecho en DAX aquí, pero también se puede hacer en power query):

Year-Month = 
ALLNOBLANKROW ( 'Date'[Year-Mon] )

From Month = 
GENERATE ( 
    SELECTCOLUMNS ( 'Year-Month', "From Year-Month", 'Year-Month'[Year-Mon] ),
    FILTER ( ALLNOBLANKROW ( 'Year-Month'[Year-Mon] ), 'Year-Month'[Year-Mon] >= [From Year-Month] )
)

To Month = 
GENERATE ( 
    SELECTCOLUMNS ( 'Year-Month', "To Year-Month", 'Year-Month'[Year-Mon] ),
    FILTER ( ALLNOBLANKROW ( 'Year-Month'[Year-Mon] ), 'Year-Month'[Year-Mon] <= [To Year-Month] )
)

La esencia de estas tablas es:

  • El año-mes contiene valores distintos del año-mes
  • From Month contiene una columna [From Year-Month] que contiene todos los valores distintos de Year-Month, unidos a una columna [Year-Mon] que contiene todos los meses >= [From Year-Month]
  • To Month contiene una columna [To Year-Month] que contiene todos los valores distintos de Year-Month, unidos a una columna [Year-Mon] que contiene todos los meses <= [A año-mes]

2. A continuación, cree relaciones de la siguiente manera (relaciones bidireccionales entre mes / mes y mes):

Capture.PNG

3. Por último, cree segmentaciones de datos en 'From Month'[From Year-Month] y 'To Month'[To Year-Month] similar a sus segmentaciones originales.

4. Opcionalmente, cree medidas para usarlas como filtros de nivel visual en las dos segmentaciones de datos, para garantizar que no se muestren fechas fuera del intervalo de fechas general.


El resultado de esta configuración es que:

  • De mes en mes se filtran entre sí de una manera intuitiva, en virtud de las relaciones bidireccionales. Por ejemplo, filtros 'A mes' 'Año-mes' que filtra 'Desde mes'
  • Los filtros de las dos segmentaciones se combinan para filtrar Year-Month y, por lo tanto, 'Date' y 'Table (2)' en este caso.

¿Esto resuelve su problema?

saludos

Owen

Funciona exactamente como se necesita. ¡Impresionante! Muchas gracias.

Syndicate_Admin
Administrator
Administrator

@jaweher89, para éste se necesitan dos tablas independientes. Y crear una medida en la tabla como esta

countx(filter(Date2, Date[Date] >selectedvalue(Date1[Date]),Date2[Date]) y a nivel visual marque esto no en blanco

Approch de año sclicer debe ser lik este blog

https://community.powerbi.com/t5/Community-Blog/Comparing-Data-Across-Date-Ranges/ba-p/823601

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.