Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Syndicate_Admin
Administrator
Administrator

Encasillamiento y precisión para columnas de índice

Me di cuenta de que un índice que calculo en SQL cambia de alguna manera en PBI y me pregunto por qué.

Mientras estoy en SQL estoy recibiendo 1115455083172412 como resultado de:

SELECT CAST(
        (
            28996 + MAX(1625083514252 - 1577880000000) / 1000
        ) * (
            28996 + MAX(1625083514252 - 1577880000000) / 1000 + 1
        ) / 2 + MAX(1625083514252 - 1577880000000) / 1000 AS numeric
    ) AS configId1

PBI hace que después de la consulta de SQL 1115455083172410 de ella. ¿Cómo puede suceder eso?

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Creo que tiene todo con IEEE 754. Encontré que esto Últimos dígitos se cambian a ceros cuando escribes números largos en celdas de Excel - Office | Docu...

Al convertirlo en SQL a varchar(16) funciona. Inicialmente quería crear identificadores únicos que sean numéricos en lugar de varchar para ahorrar algo de espacio y obtener un informe más rápido. Abriré otro hilo para esto.

SELECT CAST(CAST(
        (
            28996 + MAX(1625083514252 - 1577880000000) / 1000
        ) * (
            28996 + MAX(1625083514252 - 1577880000000) / 1000 + 1
        ) / 2 + MAX(1625083514252 - 1577880000000) / 1000 AS numeric
    ) AS VARCHAR(16)) AS configId1

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Creo que tiene todo con IEEE 754. Encontré que esto Últimos dígitos se cambian a ceros cuando escribes números largos en celdas de Excel - Office | Docu...

Al convertirlo en SQL a varchar(16) funciona. Inicialmente quería crear identificadores únicos que sean numéricos en lugar de varchar para ahorrar algo de espacio y obtener un informe más rápido. Abriré otro hilo para esto.

SELECT CAST(CAST(
        (
            28996 + MAX(1625083514252 - 1577880000000) / 1000
        ) * (
            28996 + MAX(1625083514252 - 1577880000000) / 1000 + 1
        ) / 2 + MAX(1625083514252 - 1577880000000) / 1000 AS numeric
    ) AS VARCHAR(16)) AS configId1

Syndicate_Admin
Administrator
Administrator

@FilipK , ¿Puede hacer que 1000 como 1000.0 se convierta en decimal después de eso verifique el resultado una vez más?

@amitchandak, eso es bastante interesante.

Lo cambié en la vista SQL, pero aún así obtuve el número incorrecto.

FilipK_0-1631629779419.png

Pero ahora recibo esta línea filtrando la columna con "igual a 1115455083172412".

Me pregunto, por qué se comporta así y si PBI vincula los datos correctamente a otros de todos modos.

¿Qué te parece?

Otra prueba que hice al ejecutar la fórmula anterior por el propio PBI reveló que también hay dos resultados diferentes dependiendo del método de cálculo. Al calcularlo con una medida y mostrarlo a través de visual de tarjeta, muestra 1115455083172412 mientras que en una columna calculada muestra 1115455083172410. ¿Está ese salvador conectado con mi problema anterior?

Hola.

Aquí algo más de información, porque es muy crítica para nosotros y aún no hay solución.

Vea lo que sucede, cuando calcule la columna . Recibo 2326634684249870 como resultado

FilipK_0-1631686787446.png

Tan pronto como lo muestro en una tabla visual recibo: 2326634684249867.

FilipK_1-1631686901865.png

FilipK_2-1631686940947.png

¿Es un error de PBI?

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.