Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hola, estoy tratando de crear un índice de lecciones para tenerlas en el orden correcto cuando miro un gráfico de líneas. Desafortunadamente no es tan sencillo, ya que hay un par de excepciones.
Estos datos provienen de una carpeta con varios archivos Excel idénticos (1 archivo p/semana).
En cada archivo hay 9 hojas. Las primeras 3 hojas tienen solo 12 "Lecciones"
PERO | SR | M1 | M2 | MB | M3 | M4 | ML | M5 | M6 | ME | MD | GRACIAS | TR | T1 | T2 | TUBERCULOSIS | T3 | T4 | TL | T5 | T6 | EN | TD | WA | WR | W1 | W2 | WB | W3 | W4 | WL | W5 | W6 | NOSOTROS | Enana blanca | THA | THR | TH1 | TH2 | THB | TH3 | TH4 | THL | TH5 | TH6 | EL | THD |
Las otras 6 hojas tienen 13 "lecciones"
PERO | SR | M1 | M2 | M3 | MB | M4 | M5 | ML | M6 | M7 | ME | MD | GRACIAS | TR | T1 | T2 | T3 | TUBERCULOSIS | T4 | T5 | TL | T6 | T7 | EN | TD | WA | WR | W1 | W2 | W3 | WB | W4 | W5 | WL | W6 | W7 | NOSOTROS | Enana blanca | THA | THR | TH1 | TH2 | TH3 | THB | TH4 | TH5 | THL | TH6 | TH7 | EL | THD |
El viernes, todas las hojas solo tienen 11 "lecciones".
HACE | VIE | F1 | F2 | FB | F3 | F4 | SS | FL | HACE | FO |
He usado el código a continuación, pero el índice viene como nulo.
= Tabla.AgregarColumna(
#"Tipo cambiado",
"Índice de lecciones",
cada uno deja
Dígitos = {"0".." 9"},
Divida la columna Lección por dígitos y no dígitos
LessonSplit = Splitter.SplitTextByCharacterTransition(cada uno no List.Contains(Digits,_), each List.Contains(Digits,_))([Lección]),
DayOfWeek = try LessonSplit{0} de lo contrario nulo,
NumberPart = try Number.From(LessonSplit{1}) de lo contrario nulo,
DayOfWeekIndex = if DayOfWeek = "M" entonces 0
de lo contrario, si DayOfWeek = "T", entonces 1
de lo contrario, si DayOfWeek = "W", entonces 2
de lo contrario, si DayOfWeek = "TH", entonces 4
de lo contrario, si DayOfWeek = "F", entonces 5
de lo contrario, null,
Determinar si estamos en las tres primeras hojas o en las otras
ColumnCount = Table.ColumnCount(#"Tipo cambiado"),
SlotIndex = if ColumnCount = 12 then // Hojas con 1 columna menos (primeras 3 hojas)
si NumberPart = null entonces
si [Lección] = "MA" entonces 10
de lo contrario, si [Lección] = "MR" entonces 20
de lo contrario, si [Lección] = "M1", entonces 30
de lo contrario, si [Lección] = "M2", entonces 40
de lo contrario, si [Lección] = "MB" entonces 50
de lo contrario, si [Lección] = "M3" entonces 60
de lo contrario, si [Lección] = "M4" entonces 70
de lo contrario, si [Lección] = "ML" entonces 80
de lo contrario, si [Lección] = "M5" entonces 90
de lo contrario, si [Lección] = "M6" entonces 100
de lo contrario, si [Lección] = "YO" entonces 110
de lo contrario, si [Lección] = "MD", entonces 120
else null
más
DayOfWeekIndex * 100 + NumberPart
de lo contrario, si ColumnCount = 13 then // Hojas con todas las columnas (hojas restantes)
si NumberPart = null entonces
si [Lección] = "MA" entonces 10
de lo contrario, si [Lección] = "MR" entonces 20
de lo contrario, si [Lección] = "M1", entonces 30
de lo contrario, si [Lección] = "M2", entonces 40
de lo contrario, si [Lección] = "M3" entonces 50
de lo contrario, si [Lección] = "MB", entonces 60
de lo contrario, si [Lección] = "M4" entonces 70
de lo contrario, si [Lección] = "M5" entonces 80
de lo contrario, si [Lección] = "ML" entonces 90
de lo contrario, si [Lección] = "M6" entonces 100
de lo contrario, si [Lección] = "YO" entonces 110
de lo contrario, si [Lección] = "MD", entonces 120
else null
más
DayOfWeekIndex * 100 + NumberPart
de lo contrario, si ColumnCount = 10, entonces // Viernes con ranuras especiales
si NumberPart = null entonces
si [Lección] = "FA" entonces 10
de lo contrario, si [Lección] = "FR" entonces 20
de lo contrario, si [Lección] = "F1" entonces 30
de lo contrario, si [Lección] = "F2" entonces 40
de lo contrario, si [Lección] = "FB" entonces 50
de lo contrario, si [Lección] = "F3" entonces 60
de lo contrario, si [Lección] = "F4" entonces 70
de lo contrario, si [Lección] = "FF" entonces 80
de lo contrario, si [Lección] = "FL" entonces 90
de lo contrario, si [Lección] = "FA" entonces 100
de lo contrario, si [Lección] = "FO" entonces 110
else null
más
DayOfWeekIndex * 100 + NumberPart
else null // Reserva para recuentos de columnas inesperados
en
Índice de ranuras
)
¿Alguien puede ayudar?
Gracias
Proporcione datos de muestra que cubran su problema o pregunta por completo, en un formato utilizable (no como una captura de pantalla).
No incluyas información confidencial. No incluya nada que no esté relacionado con el problema o la pregunta.
Muestre el resultado esperado en función de los datos de muestra que proporcionó.
¿Necesitas ayuda para subir datos? https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-...
¿Quieres respuestas más rápidas? https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447...
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.