Ejecutar función de usuario por fila o grupo

Un usuario Pregunto ✅

fácil

Hola,

Tengo una tabla con fechas y me gustaría agregar una nueva fila de fecha para cada mes desde la primera fecha de creación hasta hoy para cada ID de emisión.

Creé una función de usuario que generará una nueva tabla con todas las nuevas filas necesarias, pero ahora solo se ejecuta para la primera fila en la tabla original (issueid = 225389)

tabla original:

2016-11-13 18_41_37-.png

código M:

2016-11-13 18_39_09-1.png

Código m de la función de usuario:

2016-11-13 18_40_10-.png

El resultado está bien, pero solo para una identificación de problema, necesito lo mismo para todas las identificaciones de problemas.

2016-11-13 18_40_40-.png

Luego voy a agregar las dos tablas.

No puedo descifrar cómo ejecutar la función de usuario para cada fila donde el id de problema es diferente del siguiente id de problema o id de problema de GroupBy.

Se agradece cualquier ayuda.

bhaveshpatel

¿Qué desea lograr para diferentes ID de usuario? ¿Cuál es su salida esperada? Hay muchas maneras de hacer esto en PowerBI.

fácil

En respuesta a bhaveshpatel

Hola Bhavesh,

Quiero una tabla como esta.

2016-11-13 18_40_40-.png

este contiene una fila para cada mes desde la fecha de creación de este identificador de problema específico (225389).

Mi problema es que la función de usuario solo se ejecuta una vez para la primera identificación de problema en la tabla original. Me gustaría ejecutarlo una vez para cada uno de los problemas en la tabla original.

El caso comercial es que quiero asegurarme de tener al menos una entrada por mes por identificación de problema. Tengo alrededor de 1000 identificaciones de problemas diferentes

bhaveshpatel

En respuesta a fácil

@eacy

Como puedo ver en su código M, solo está filtrando los registros para obtener los valores de ese registro en particular.

¿Qué función de usuario estás usando? SYNTEX y otros detalles. Publicar un archivo de datos de muestra puede ayudarme a demostrarle las diferentes formas.

Es realmente confuso seguir los códigos M con datos limitados disponibles.

fácil

En respuesta a bhaveshpatel

Hola de nuevo,

estoy filtrando en el [RESOLUTION] no la [issueid].

Aquí hay una muestra de los datos.

ID	issueid	AUTHOR	CREATED	RESOLUTION
2693573	225389	shirasawa	01-12-2015 06:28:28	null
2693613	225389	gaya	01-12-2015 07:02:37	null
2693614	225389	gaya	01-12-2015 07:03:29	null
2693615	225389	gaya	01-12-2015 07:03:33	null
2693616	225389	gaya	01-12-2015 07:03:37	null
2693617	225389	gaya	01-12-2015 07:03:38	null
2693618	225389	gaya	01-12-2015 07:03:48	null
2693619	225389	gaya	01-12-2015 07:03:56	null
2694867	225389	mktj	01-12-2015 14:17:44	null
2694884	225389	rasr	01-12-2015 14:23:03	null
2702181	225389	dinc	03-12-2015 16:13:42	null
2702378	225389	dinc	03-12-2015 17:02:29	null
2702381	225389	dinc	03-12-2015 17:02:38	null
2702382	225389	dinc	03-12-2015 17:02:38	null
2704234	225389	shirasawa	04-12-2015 10:38:35	null
2704235	225389	shirasawa	04-12-2015 10:38:35	null
2710810	225389	dinc	07-12-2015 16:11:05	null
2714257	225389	dinc	08-12-2015 17:11:57	null
2714258	225389	dinc	08-12-2015 17:12:06	null
2714259	225389	dinc	08-12-2015 17:12:06	null
2724177	225389	shirasawa	14-12-2015 04:08:58	null
2724178	225389	shirasawa	14-12-2015 04:08:58	null
2725238	225389	dinc	14-12-2015 12:42:30	null
2727985	225389	dinc	15-12-2015 10:41:18	null
2728029	225389	dinc	15-12-2015 10:50:12	null
2728057	225389	dinc	15-12-2015 10:56:58	null
2728063	225389	dinc	15-12-2015 10:57:28	null
2728069	225389	dinc	15-12-2015 10:58:04	null
2728370	225389	rasr	15-12-2015 11:59:02	null
2728982	225389	alni	15-12-2015 14:16:02	null
2730066	225389	misk	15-12-2015 17:47:10	null
2730067	225389	misk	15-12-2015 17:47:20	null
2730155	225389	alni	15-12-2015 18:19:15	null
2743837	225389	dinc	22-12-2015 15:00:10	null
2749375	225389	lpgr	29-12-2015 13:14:46	null
2749505	225389	ivpr	29-12-2015 14:05:02	null
2749508	225389	ivpr	29-12-2015 14:05:31	null
2749510	225389	ivpr	29-12-2015 14:05:41	null
2749511	225389	ivpr	29-12-2015 14:05:49	null
2822774	225389	trha	19-01-2016 13:26:45	null
2907333	225389	misk	04-02-2016 22:09:07	null
2907508	225389	misk	04-02-2016 22:29:42	null
3008659	225389	misk	26-02-2016 11:06:14	null
3119544	225389	misk	19-04-2016 23:16:59	null
3371809	225389	misk	25-08-2016 10:03:53	null
3371810	225389	misk	25-08-2016 10:04:19	null
3371811	225389	misk	25-08-2016 10:04:20	null
3371822	225389	hbsn	25-08-2016 10:06:22	null
3373261	225389	dinc	25-08-2016 17:01:16	null
3374753	225389	misk	26-08-2016 11:00:33	null
3376574	225389	dinc	27-08-2016 08:22:15	null
2693678	225409	murv	01-12-2015 08:09:30	null
2693751	225409	nade	01-12-2015 08:41:17	null
2693972	225409	nade	01-12-2015 10:09:14	null
2694637	225409	murv	01-12-2015 13:34:12	null
2694639	225409	murv	01-12-2015 13:34:29	null
2694641	225409	murv	01-12-2015 13:34:43	null
2696518	225588	d.tonak	02-12-2015 08:56:13	null
2696587	225588	misk	02-12-2015 09:15:50	null
2696590	225588	misk	02-12-2015 09:17:47	null
2696591	225588	misk	02-12-2015 09:17:53	null
2696592	225588	misk	02-12-2015 09:17:56	null
2696593	225588	misk	02-12-2015 09:18:30	null
2696594	225588	misk	02-12-2015 09:18:34	null
2696595	225588	misk	02-12-2015 09:18:34	null
2696596	225588	misk	02-12-2015 09:18:51	null
2697860	225588	escl	02-12-2015 13:49:17	null
2697865	225588	escl	02-12-2015 13:51:18	null
2697866	225588	escl	02-12-2015 13:53:33	null
2697868	225588	escl	02-12-2015 13:53:54	null
3013799	225588	petb	29-02-2016 17:43:58	null
3013942	225588	petb	29-02-2016 18:55:07	null
3013943	225588	petb	29-02-2016 18:55:23	null
3013944	225588	petb	29-02-2016 18:55:40	null

Table Jira changegroup m-code:

let
    Source = MySQL.Database("jira7-db.xx.corp", "jira", [Query="select changegroup.* from changegroup, jiraissue where issueid = jiraissue.id and jiraissue.created > ADDDATE(LAST_DAY(SUBDATE(curdate(), INTERVAL 1 YEAR)), 1)", ReturnSingleDatabase=true]),
    #"Merged Queries" = Table.NestedJoin(Source,{"issueid"},#"jira jiraissue",{"ID"},"NewColumn",JoinKind.Inner),
    #"Expanded NewColumn" = Table.ExpandTableColumn(#"Merged Queries", "NewColumn", {"RESOLUTION"}, {"NewColumn.RESOLUTION"}),
    #"Renamed Columns" = Table.RenameColumns(#"Expanded NewColumn",{{"NewColumn.RESOLUTION", "RESOLUTION"}}),
    #"Filtered Rows" = Table.SelectRows(#"Renamed Columns", each ([RESOLUTION] = null)),
    #"Find Dates" = FindDates(#"Filtered Rows"[CREATED]{0}, #"Filtered Rows"[issueid]{0})
in
    #"Find Dates"

Función de usuario FindDates:

(date as datetime, issue as number) => 
let   
    month=Date.Month(date),
    year=Date.Year(date), 
    MonthList=if year < Date.Year(DateTime.Date(DateTime.LocalNow())) 
        then 
            List.Combine({List.Transform(List.Numbers(month,13-month), 
                each Text.From(Date.Year(DateTime.Date(DateTime.LocalNow()))-1)&"-"&Text.From(_)&"-1"), List.Transform(List.Numbers(1,Date.Month(DateTime.Date(DateTime.LocalNow()))), 
                    each Text.From(Date.Year(DateTime.Date(DateTime.LocalNow())))&"-"&Text.From(_)&"-1")})
        else 
            List.Transform(List.Numbers(month,Date.Month(DateTime.Date(DateTime.LocalNow()))-month+1), 
                each Text.From(Date.Year(DateTime.Date(DateTime.LocalNow())))&"-"&Text.From(_)&"-1"),
    DateList=List.Transform(MonthList, each DateTime.FromText(_)),
    DaysList=List.Transform(DateList, each Date.DaysInMonth(_)),
    TableList=Table.FromList(DateList, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    AddedIssueId = Table.AddColumn(TableList, "[issueid]", each issue),
    AddedId = Table.AddColumn(AddedIssueId, "[ID]", each 0),
    AddedAuthor = Table.AddColumn(AddedId, "[AUTHOR]", each "Power BI"),
    Renamed = Table.RenameColumns(AddedAuthor,{{"Column1", "CREATED"}}),
    ChangedType = Table.TransformColumnTypes(Renamed,{{"CREATED", type datetime}})
in
    ChangedType

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *