CahabaData
Parece que no puedo manejar esto. Datos iniciales:
Grupo ID de servicio Monto
A 1 $ 2
A 4 $ 1
A 2 $ 3
B 2 $ 1
B 6 $ 4
Resultado buscado:
Grupo Servicio ID Cantidad GroupSum
A 1 $ 2 $ 2
A 4 $ 1 $ 3
A 2 $ 3 $ 6
B 2 $ 1 $ 1
B 6 $ 4 $ 5
ya sea Medida o Columna calculada …. en Dax Patterns cada ejemplo tiene un campo de fecha involucrado ….. como si estuviera dando vueltas en este en este momento ……. preguntándose si la falta de un campo secuencial es mi problema o simplemente niebla mental general ……….
Habib
Hola @CahabaData, eres cierto, la falta de campo secuencial es el problema principal.
Puede lograr esto siguiendo los pasos a continuación.
1 – Agrega un número de secuencia. Puede usar la función RANKX para esto.
Rank = RANKX(SampleData,SampleData[Service ID],,ASC,Dense)
2 – Agregue RunningTotal usando la fórmula siguiente
RunningTotal = CALCULATE ( SUM ( SampleData[Amount] ), ALLEXCEPT ( SampleData, SampleData[Group] ), SampleData[Rank] <= EARLIER ( SampleData[Rank] ) )
Esto le dará los resultados deseados. 🙂
v-haibl-msft
@CahabaData
Primero puede agregar una columna de índice en el Editor de consultas y luego crear una columna calculada con la función ANTERIORES para obtener el resultado esperado.
GroupSum = SUMX ( FILTER ( Table1, EARLIER ( Table1[Group] ) = Table1[Group] && EARLIER ( Table1[Index] ) >= Table1[Index] ), Table1[Amount] )
Atentamente,
Herbert
B_33
Hola a todos,
Soy extremadamente nuevo en el uso del acceso, así que por favor dígame si no entiendo alguna respuesta que tenga inicialmente. He estado tratando de resolver un problema que tengo dentro de Access, pero no he podido encontrar ninguna información específica sobre lo que necesitaba que hiciera mi base de datos de Access:
– Necesito crear un número secuencial basado en el total de registros de un cliente.
-Necesito este número para reiniciar cada año.
-Necesito que este número sea específico para el cliente.
-No estoy seguro de si debería crearlo como una consulta que agrega la información a una tabla o como una macro de datos antes de cambiar.
Por favor ayuda. Estoy realmente estancado y estoy en un callejón sin salida.
CahabaData
En respuesta a B_33
¿Su publicación es una pregunta sobre cómo implementar en la base de datos de Microsoft Access? O bien, ¿está buscando implementar esto en Power BI?
B_33
En respuesta a CahabaData
se trata de cómo implementar esto en la base de datos de Microsoft Access,
Gracias
CahabaData
En respuesta a B_33
Debería publicar una pregunta de Microsoft Access aquí:
«https://social.msdn.microsoft.com/Forums/office/en-US/home?forum=accessdev»
Un solicitud puede agregar y almacenar un número secuencial por ID, en el momento de la entrada de datos. Pero una base de datos en sí misma no genera inherentemente ese valor en sus tablas. Pero ese enfoque sería inusual y problemático. Si un registro se elimina legítimamente, entonces la numeración secuencial debe volver a generarse para llenar ese vacío. Esta es la razón por la que estos valores se generan en el nivel de informes y no se almacenan en el nivel de la tabla de la base de datos.
Debido a que el valor normalmente no existe en las tablas de la base de datos, se crearían estos valores en el informe; en los informes de Microsoft Access, estos no son valores almacenados, sino que forman parte de la presentación del objeto del informe; en Power BI puede usar medidas o columnas calculadas.
v-haibl-msft
@CahabaData
Primero puede agregar una columna de índice en el Editor de consultas y luego crear una columna calculada con la función ANTERIORES para obtener el resultado esperado.
GroupSum = SUMX ( FILTER ( Table1, EARLIER ( Table1[Group] ) = Table1[Group] && EARLIER ( Table1[Index] ) >= Table1[Index] ), Table1[Amount] )
Atentamente,
Herbert
CahabaData
En respuesta a v-haibl-msft
gracias a los dos H … no estaba claro para mí con DAX si podría acumularse en este escenario sin ningún campo de secuenciación; parecía factible pensar que podría hacerlo, ya que hay un contexto de fila y la ID de grupo …
muy contento de tener una confirmación final sobre este tema. Ambos enfoques que ha proporcionado son muy factibles.
v-haibl-msft
En respuesta a CahabaData
@CahabaData
No creo que pueda acumularse en este escenario sin ningún campo de secuenciación. El ID de grupo u otras columnas no tienen ningún orden, por lo que necesitamos una columna de secuencia para hacer el cálculo.
Atentamente,
Herbert
Habib
Hola @CahabaData, eres cierto, la falta de campo secuencial es el problema principal.
Puede lograr esto siguiendo los pasos a continuación.
1 – Agrega un número de secuencia. Puede usar la función RANKX para esto.
Rank = RANKX(SampleData,SampleData[Service ID],,ASC,Dense)
2 – Agregue RunningTotal usando la fórmula siguiente
RunningTotal = CALCULATE ( SUM ( SampleData[Amount] ), ALLEXCEPT ( SampleData, SampleData[Group] ), SampleData[Rank] <= EARLIER ( SampleData[Rank] ) )
Esto le dará los resultados deseados. 🙂