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.
Así que he estado haciendo un progreso decente en mi pequeño proyecto para llegar a una traducción de tantas funciones de Excel a DAX como sea posible. Luego me encontré con ROMAN. No es bonito, pero un problema solucionable usando un poco de fuerza bruta. Generalmente desarrollo estas cosas como columnas primero y luego las convierto en medidas. Por lo tanto, en forma de columna, esta cosa vuelve en como menos de 5 segundos. Pero, traduciéndola a una medida, incluso si filtro la tabla a un solo valor para convertir, no puedo conseguir que vuelva, simplemente gira. Y, cuando intento guardar el archivo, bueno, he estado esperando más de 30 minutos y todavía está ahorrando. @marcorusso eres la persona más inteligente sobre DAX que conozco, ¿puedes arrojar alguna luz sobre lo que está pasando aquí?
@Mariusz @MFelix@amitchandak@edhans @ImkeF @ImkeF@ImkeF @AllisonKennedy @HotChilli @Ashish_Mathur @VasTg @az38 @parry2k @darlove @VasTg @HotChilli @HotChilli @HotChilli @HotChilli @HotChilli @HotChilli @camargos88 alguien tiene una idea de lo que está pasando? @camargos88
Estos son los pasos para reproducir:
Numeral Romano ?
VAR __Value á 'árabe'[Valor]
VAR __Classic
DATATABLE(
"Arabic",INTEGER,
"Romano",STRING,
{
N.o 1, "Yo",
N.o 4, "IV",
N.o 5, "V",
N.o 9, "IX",
N.o 10, "X",
40, "XL",
N.o 50, "L",
N.o 90, "XC",
N.o 100, "C",
400, "CD",
N.o 500, "D",
N.o 900, "CM",
N.o 1000, "M"
}
)
VAR __Concise1
DATATABLE(
"Arabic",INTEGER,
"Romano",STRING,
{
N.o 1, "Yo",
N.o 4, "IV",
N.o 5, "V",
N.o 9, "IX",
N.o 10, "X",
40, "XL",
N.o 45, "VL",
N.o 50, "L",
N.o 90, "XC",
N.o 95, "VC",
N.o 100, "C",
400, "CD",
450, "LD",
N.o 500, "D",
N.o 900, "CM",
N.o 1000, "M"
}
)
VAR __Convert - __Classic
1o dígito
VAR __1 - __Value
VAR __1Table - ADDCOLUMNS(__Convert,"Diff",__1 - [Arabic])
VAR __1Min á MINX(FILTER(__1Table,[Diff] > s0),[Diff])
VAR __1R de VAR (FILTRO(__1Table,[Diff] - __1Min),[Romano])
VAR __1A á MAXX(FILTER(__1Table,[Diff] - __1Min),[arabic])
2o dígito
VAR __2 - __Value - __1A
VAR __2Table - ADDCOLUMNS(__Convert,"Diff",__2 - [Arabic])
VAR __2Min - MINX(FILTER(__2Table,[Diff] > s0),[Diff])
VAR __2R á MAXX(FILTER(__2Table,[Diff] - __2Min),[Romano])
VAR __2A á MAXX(FILTER(__2Table,[Diff] - __2Min),[Arabic])
3er dígito
VAR __3 - __Value - __1A - __2A
VAR __3Table - ADDCOLUMNS(__Convert,"Diff",__3 - [Arabic])
VAR __3Min á MINX(FILTER(__3Table,[Diff] > s0),[Diff])
VAR __3R de VAR (FILTRO(__3Table,[Diff] - __3Min),[Romano])
VAR __3A á MAXX(FILTER(__3Table,[Diff] - __3Min),[arabic])
4o dígito
VAR __4 - __Value - __1A - __2A - __3A
VAR __4Table - ADDCOLUMNS(__Convert,"Diff",__4 - [Arabic])
VAR __4Min - MINX(FILTER(__4Table,[Diff] > s0),[Diff])
VAR __4R á MAXX(FILTER(__4Table,[Diff] - __4Min),[Romano])
VAR __4A á MAXX(FILTER(__4Table,[Diff] á __4Min),[arabic])
5o dígito
VAR __5 - __Value - __1A - __2A - __3A - __4A
VAR __5Table - ADDCOLUMNS(__Convert,"Diff",__5 - [Arabic])
VAR __5Min á MINX(FILTER(__5Table,[Diff] > s0),[Diff])
VAR __5R á MAXX(FILTER(__5Table,[Diff] - __5Min),[Romano])
VAR __5A á MAXX(FILTER(__5Table,[Diff] - __5Min),[arabic])
6o dígito
VAR __6 - __Value - __1A - __2A - __3A - __4A - __5A
VAR __6Table - ADDCOLUMNS(__Convert,"Diff",__6 - [Arabic])
VAR __6Min á MINX(FILTER(__6Table,[Diff] > s0),[Diff])
VAR __6R á MAXX(FILTER(__6Table,[Diff] - __6Min),[Romano])
VAR __6A á MAXX(FILTER(__6Table,[Diff] - __6Min),[arabic])
7o dígito
VAR __7 - __Value - __1A - __2A - __3A - __4A - __5A - __6A
VAR __7Table - ADDCOLUMNS(__Convert,"Diff",__7 - [Arabic])
VAR __7Min - MINX(FILTER(__7Table,[Diff] > s0),[Diff])
VAR __7R á MAXX(FILTER(__7Table,[Diff] - __7Min),[Romano])
VAR __7A á MAXX(FILTER(__7Table,[Diff] - __7Min),[arabic])
8o dígito
VAR __8 - __Value - __1A - __2A - __3A - __4A - __5A - __6A - __7A
VAR __8Table - ADDCOLUMNS(__Convert,"Diff",__8 - [Arabic])
VAR __8Min de VAR (FILTRO(__8Table,[Diff] > 0),[Diff])
VAR __8R - MAXX(FILTER(__8Table,[Diff] - __8Min),[Romano])
VAR __8A de VAR(FILTER(__8Table,[Diff] á __8Min),[Arabic])
9o dígito
VAR __9 - __Value - __1A - __2A - __3A - __4A - __5A - __6A - __7A - __8A
VAR __9Table - ADDCOLUMNS(__Convert,"Diff",__9 - [Arabic])
VAR __9Min á MINX(FILTER(__9Table,[Diff] > s0),[Diff])
VAR __9R á MAXX(FILTER(__9Table,[Diff] - __9Min),[Romano])
VAR __9A de VAR(FILTER(__9TABLE,[Diff] - __9Min),[Arabic])
10o dígito
VAR __10 - __Value - __1A - __2A - __3A - __4A - __5A - __6A - __7A - __8A - __9A
VAR __10Table - ADDCOLUMNS(__Convert,"Diff",__10 - [Arabic])
VAR __10Min á MINX(FILTER(__10Table,[Diff] > s0),[Diff])
VAR __10R á MAXX(FILTER(__10Table,[Diff] - __10Min),[Romano])
VAR __10A á MAXX(FILTER(__10Table,[Diff] á __10Min),[arabic])
11o dígito
VAR __11 - __Value - __1A - __2A - __3A - __4A - __5A - __6A - __7A - __8A - __9A - __10A
VAR __11Table - ADDCOLUMNS(__Convert,"Diff",__11 - [Arabic])
VAR __11Min á MINX(FILTER(__11Table,[Diff] > s0),[Diff])
VAR __11R á MAXX(FILTER(__11Table,[Diff] - __11Min),[Romano])
VAR __11A á MAXX(FILTER(__11Table,[Diff] - __11Min),[arabic])
12o dígito
VAR __12 - __Value - __1A - __2A - __3A - __4A - __5A - __6A - __7A - __8A - __9A - __10A - __11A
VAR __12Table - ADDCOLUMNS(__Convert,"Diff",__12 - [Arabic])
VAR __12Min á MINX(FILTER(__12Table,[Diff] >0),[Diff])
VAR __12R á MAXX(FILTER(__12Table,[Diff] - __12Min),[Romano])
VAR __12A á MAXX(FILTER(__12Table,[Diff] - __12Min),[arabic])
13o dígito
VAR __13 - __Value - __1A - __2A - __3A - __4A - __5A - __6A - __7A - __8A - __9A - __10A - __11A - __12A
VAR __13Table - ADDCOLUMNS(__Convert,"Diff",__13 - [Arabic])
VAR __13Min - MINX(FILTER(__13Table,[Diff] > s0),[Diff])
VAR __13R á MAXX(FILTER(__13Table,[Diff] - __13Min),[Romano])
VAR __13A á MAXX(FILTER(__13Table,[Diff] - __13Min),[arabic])
14o dígito
VAR __14 - __Value - __1A - __2A - __3A __2A - __4A - __5A - __6A - __7A - __8A - __9A - __10A - __11A - __12A - __13A
VAR __14Table á ADDCOLUMNS(__Convert,"Diff",__14 - [Arabic])
VAR __14Min á MINX(FILTER(__14Table,[Diff] > s0),[Diff])
VAR __14R á MAXX(FILTER(__14Table,[Diff] - __14Min),[Romano])
VAR __14A á MAXX(FILTER(__14Table,[Diff] á __14Min),[Arabic])
15o dígito
VAR __15 - __Value - __1A - __2A - __3A - __4A - __5A - __6A - __7A - __8A - __9A - __10A - __11A - __12A - __13A - __14A
VAR __15Table - ADDCOLUMNS(__Convert,"Diff",__15 - [Arabic])
VAR __15Min á MINX(FILTER(__15Table,[Diff] > s0),[Diff])
VAR __15R á MAXX(FILTER(__15Table,[Diff] - __15Min),[Romano])
VAR __15A á MAXX(FILTER(__15Table,[Diff] - __15Min),[arabic])
16o dígito
VAR __16 - __Value - __1A - __2A - __3A __4A - __4A - __5A - __6A - __7A - __8A - __9A - __10A - __11A - __12A - __13A - __14A - __15A
VAR __16Table - ADDCOLUMNS(__Convert,"Diff",__16 - [Arabic])
VAR __16Min - MINX(FILTER(__16Table,[Diff] > s0),[Diff])
VAR __16R á MAXX(FILTER(__16Table,[Diff] - __16Min),[Romano])
VAR __16A á MAXX(FILTER(__16Table,[Diff] - __16Min),[arabic])
17o dígito
VAR __17 - __Value - __1A - __2A - __3A - __4A - __5A - __6A - __7A - __8A - __9A - __10A - __11A - __12A - __13A - __14A - __15A - __16A
VAR __17Table - ADDCOLUMNS(__Convert,"Diff",__17 - [Arabic])
VAR __17Min á MINX(FILTER(__17Table,[Diff] > s0),[Diff])
VAR __17R á MAXX(FILTER(__17Table,[Diff] á __17Min),[Romano])
VAR __17A á MAXX(FILTRO(__17Table,[Diff] - __17Min),[árabe])
18o dígito
VAR __18 - __Value - __1A - __2A - __3A - __4A - __5A - __6A - __7A - __8A - __9A - __10A - __11A - __12A - __13A - __14A - __15A __16A - __17A
VAR __18Table - ADDCOLUMNS(__Convert,"Diff",__18 - [Arabic])
VAR __18Min de VAR (FILTRO(__18Table,[Diff] > 0),[Diff])
VAR __18R á MAXX(FILTER(__18Table,[Diff] - __18Min),[Romano])
VAR __18A á MAXX(FILTER(__18Table,[Diff] - __18Min),[arabic])
19o dígito
VAR __19 - __Value - __1A - __2A - __3A - __4A - __5A - __6A - __7A - __8A - __9A - __10A - __11A - __12A - __13A __14A - __14A - __15A __14A - __16A - __17A - __18A
VAR __19Table - ADDCOLUMNS(__Convert,"Diff",__19 - [Arabic])
VAR __19Min - MINX(FILTER(__19Table,[Diff] > s0),[Diff])
VAR __19R á MAXX(FILTRO(__19Table,[Diff] - __19Min),[Romano])
VAR __19A á MAXX(FILTER(__19Table,[Diff] - __19Min),[arabic])
20o dígito
VAR __20 - __Value - __1A - __2A - __3A - __4A - __5A - __6A - __7A - __8A - __9A - __10A __11A - __11A - __12A - __13A - __14A - __15A - __16A - __17A - __18A - __19A
VAR __20Table á ADDCOLUMNS(__Convert,"Diff",__20 - [Arabic])
VAR __20Min á MINX(FILTER(__20Table,[Diff] > s0),[Diff])
VAR __20R á MAXX(FILTER(__20Table,[Diff] - __20Min),[Romano])
VAR __20A de VAR (FILTRO(__20TABLE,[Diff] á __20Min),[Arabic])
devolución
__Value & "," & __1 & "," & __2 & "," & __3 & "," & __4 & "," & __5 & "," & __6 & "," & __7Min & ", " & __8 & ", "
CONCATENATEX(
• __1R, __2R, __3R, __4R, __5R, __6R, __7R, __8R, __9R, __10R, __11R, __12R, __13R, __14R, __15R, __16R, __17R, __18R, __19R, __20R,
[Valor] )
¡Muy interesante!
Analicé el problema y mi conclusión es que SUMMARIZECOLUMNS tiene un problema con esta medida.
La medida funciona bien con otras funciones de tabla.
Debe abrir un vale de soporte técnico con Microsoft: le sugiero que cree un pequeño archivo de Power BI que reproduzca el problema y abra un vale oficial, para que pueda priorizarse e identificarse en la cadena de soporte técnico de Microsoft, hasta que llegue al equipo de desarrollo. A pesar de que encontramos una solución, esto debe ser arreglado porque me preocupa que pueda afectar a otras expresiones.
Por favor, escríbeme por correo electrónico de forma privada.
Marco
Ugh.... SUMMARIZECOLUMNS().....
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingHe publicado el problema aquí: https://community.powerbi.com/t5/Issues/Issue-with-DAX-Measure-Perhaps-a-SUMMARIZECOLUMNS-issue/idi-...
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 |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |