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.
Tenemos una tabla de Power BI con varias filas que nos gustaría combinar en un informe con filas individuales
Esta es una organización sin fines de lucro que proporciona apoyo para la gestión de casos para las personas que necesitan ayuda, especialmente relevante en estos tiempos difíciles.
Más 5 tipos de documentos más (con descripciones)
Los administradores de casos necesitan un informe en una o dos páginas, que muestre una fila para cada uno de sus 50 casos.
Cada fila incluiría una fecha de finalización y una fecha de vencimiento siguiente para cada tipo de documento (actualmente filas en la tabla)
Asumo que el campo "QSA Last" (columna) sería una medida que sería una especie de "búsqueda" DAX de Last_Completed_Date donde
Doc_Type - QSA (Evaluación de Configuración Calificada)
y Caso Case_Number
Tantas opciones DAX - no estoy seguro de cuál sería mejor! ¿Concatenaría Doc_Type y Case_Number en el conjunto de datos de origen para simplificar la "búsqueda"?
Gracias de antemano por su entrenamiento!
Solved! Go to Solution.
Hola, @JDBOS
Según su descripción, puede crear medidas como se muestra a continuación.
CGA Last =
var _casenum = SELECTEDVALUE('Table'[Case Number])
return
CALCULATE(
CONCATENATEX('Table','Table'[Last Completed Date],","),
FILTER(
ALLSELECTED('Table'),
'Table'[Case Number] = _casenum&&
'Table'[Document Description] = "Caregiver Evaluation"
)
)
CGA Next =
var _casenum = SELECTEDVALUE('Table'[Case Number])
return
CALCULATE(
CONCATENATEX('Table','Table'[Next Due Date],","),
FILTER(
ALLSELECTED('Table'),
'Table'[Case Number] = _casenum&&
'Table'[Document Description] = "Caregiver Evaluation"
)
)
QSA Last =
var _casenum = SELECTEDVALUE('Table'[Case Number])
return
CALCULATE(
CONCATENATEX('Table','Table'[Last Completed Date],","),
FILTER(
ALLSELECTED('Table'),
'Table'[Case Number] = _casenum&&
'Table'[Document Description] = "Qualified Setting Assessment"
)
)
QSA Next =
var _casenum = SELECTEDVALUE('Table'[Case Number])
return
CALCULATE(
CONCATENATEX('Table','Table'[Next Due Date],","),
FILTER(
ALLSELECTED('Table'),
'Table'[Case Number] = _casenum&&
'Table'[Document Description] = "Caregiver Evaluation"
)
)
Resultado:
Saludos
Allan
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola, @JDBOS
Según su descripción, puede crear medidas como se muestra a continuación.
CGA Last =
var _casenum = SELECTEDVALUE('Table'[Case Number])
return
CALCULATE(
CONCATENATEX('Table','Table'[Last Completed Date],","),
FILTER(
ALLSELECTED('Table'),
'Table'[Case Number] = _casenum&&
'Table'[Document Description] = "Caregiver Evaluation"
)
)
CGA Next =
var _casenum = SELECTEDVALUE('Table'[Case Number])
return
CALCULATE(
CONCATENATEX('Table','Table'[Next Due Date],","),
FILTER(
ALLSELECTED('Table'),
'Table'[Case Number] = _casenum&&
'Table'[Document Description] = "Caregiver Evaluation"
)
)
QSA Last =
var _casenum = SELECTEDVALUE('Table'[Case Number])
return
CALCULATE(
CONCATENATEX('Table','Table'[Last Completed Date],","),
FILTER(
ALLSELECTED('Table'),
'Table'[Case Number] = _casenum&&
'Table'[Document Description] = "Qualified Setting Assessment"
)
)
QSA Next =
var _casenum = SELECTEDVALUE('Table'[Case Number])
return
CALCULATE(
CONCATENATEX('Table','Table'[Next Due Date],","),
FILTER(
ALLSELECTED('Table'),
'Table'[Case Number] = _casenum&&
'Table'[Document Description] = "Caregiver Evaluation"
)
)
Resultado:
Saludos
Allan
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
¡Hay mucho que aprender sobre DAX! Entre las tres soluciones recomendadas, un montón de buenas opciones y características para entender. Buen uso de una variable en la última solución @v-alq-msft - junto con Calculate, ConcatenateX y Filter AllSelected.
Además de Sumarize y Maxx+Filter de @amitchandak junto con Pivot.
Y Ashish @Ashish_Mathur proporcionó M Code que funciona (una vez que aprenda más sobre cómo usar M Code 😉
Gracias por la ayuda oportuna!
Hola
Este código M funciona. También puede descargar mi archivo PBI desde aquí.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wck4sTtU1VNIBMopS0zPLUosUUssSc0oTSzLz84DCBoa6hoa6RgaGlkqxOkjKA0sTczLTMlNTFIpTS0oy89IVEouLU4uLc1PzSiDaDCzRtBnht8UIi3LCthgaQLXFAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [#"Case Number" = _t, #"Document Description" = _t, #"Last completed date" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Case Number", type text}, {"Document Description", type text}, {"Last completed date", type date}}),
#"Uppercased Text" = Table.TransformColumns(#"Changed Type",{{"Document Description", Text.Upper, type text}}),
#"Trimmed Text" = Table.TransformColumns(#"Uppercased Text",{{"Document Description", Text.Trim, type text}}),
#"Cleaned Text" = Table.TransformColumns(#"Trimmed Text",{{"Document Description", Text.Clean, type text}}),
#"Added Custom" = Table.AddColumn(#"Cleaned Text", "Next due date", each if [Document Description]="CAREGIVER EVALUATION" then Date.AddYears([Last completed date],2) else Date.AddYears([Last completed date],1)),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Added Custom", {"Case Number", "Document Description"}, "Attribute", "Value"),
#"Replaced Value" = Table.ReplaceValue(#"Unpivoted Other Columns","CAREGIVER EVALUATION","CGA",Replacer.ReplaceText,{"Document Description"}),
#"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","QUALIFIED SETTING ASSESSMENT","QSE",Replacer.ReplaceText,{"Document Description"}),
#"Merged Columns" = Table.CombineColumns(#"Replaced Value1",{"Document Description", "Attribute"},Combiner.CombineTextByDelimiter("-", QuoteStyle.None),"Merged"),
#"Changed Type1" = Table.TransformColumnTypes(#"Merged Columns",{{"Value", type date}}),
#"Pivoted Column" = Table.Pivot(#"Changed Type1", List.Distinct(#"Changed Type1"[Merged]), "Merged", "Value")
in
#"Pivoted Column"
Espero que esto ayude.
@Ashish_Mathur - thx TAN MUCH para PBIX! Claramente su solución funciona - ahora sólo necesito aprender sobre el código M y cómo trabajar con los archivos de origen 😊
Como recién llegado al mundo del código de Power BI/M, estoy muy impresionado. Permítanme hacer un poco de estudio de antecedentes y voy a volver a usted con preguntas!
Una forma es pivotar: https://radacad.com/pivot-and-unpivot-with-power-bi
Otra forma es resumir
new table =
Summarize(Table, Table[Case Number], "CGA LAST", maxx(filter(Table, table[Document Desc] ="CGA"),Table[Last completed Date])
, "CGA Next", maxx(filter(Table, table[Document Desc] ="CGA"),Table[Next Due Date])
)
Una nueva mesa como la anterior. Agregue más columnas según sea necesario.
@amitchandak Claramente necesito aprender más sobre Pivot - así que gracias por el enlace Radacad
Y, permítanme hacer algunas pruebas con Resumir y Maxx w Filtro y le mantendrá informado
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |