Enumere TODAS LAS COLUMNAS calculadas en un modelo de datos

Un usuario Pregunto ✅

sean

alguien sabe como conseguir un Lista de todo Calculado COLUMNAS en un modelo de datos?

Muy fácil de hacer si tiene un modelo de PowerPivot usando la herramienta Utilidades de Power Pivot

Dax Studio me obtiene todas las medidas (pero estoy tratando de obtener solo el COLUMNAS o ambas medidas y COLUMNAS)

Los pasos descritos aquí o aquí no parecen funcionar…

https://docs.microsoft.com/en-us/sql/analysis-services/instances/use-dynamic-management-views-dmvs-t…

SELECT * From $SYSTEM.DISCOVER_CALC_DEPENDENCY 
WHERE OBJECT_TYPE = 'MEASURE' OR OBJECT_TYPE = 'CALC_COLUMN'
ORDER BY [EXPRESSION] ASC

Esto devuelve una tabla en blanco (0 filas)

Si ejecuto lo siguiente

select * from $SYSTEM.TMSCHEMA_COLUMNS

Obtengo información sobre todas las columnas, incluidas las fórmulas utilizadas en el [Expression] columna que está muy bien.

¿Quizás filtrar a Tipo = 2?

sean

En respuesta a Phil_Seamark

@Phil_Seamark ¡Gracias! carita feliz

Desearía poder obtener Nombres de tabla en lugar de ID de tabla, pero tomaré lo que pueda obtener…

select 
   TableID,
   ExplicitName, 
   Expression

from $SYSTEM.TMSCHEMA_COLUMNS

where [Type] = 2

order by TableID

Tal vez @MattAllington podría darnos otro consejo de Mike Rudzinski sobre esto como lo hizo aquí sobre las Medidas.

http://exceleratorbi.com.au/getting-started-dax-studio/

select 
   MEASUREGROUP_NAME, 
   MEASURE_NAME, 
   EXPRESSION

from $SYSTEM.MDSCHEMA_MEASURES

where MEASURE_AGGREGATOR = 0

order by MEASUREGROUP_NAME

También como se ve aquí en el blog de @cwebb

https://blog.crossjoin.co.uk/2011/09/17/documenting-dependencies- between-dax-calculations/

y el enlace que proporciona

https://msdn.microsoft.com/en-us/library/gg471590(v=sql.110).aspx

select * from $SYSTEM.DISCOVER_CALC_DEPENDENCY

debería darnos tanto COLUMNAS como Medidas, ¿no es así? ¿O me estoy perdiendo algo?

La parte superior de la imagen es del blog de @cwebb y luego obtengo una tabla con 0 filas

Discover_Calc_Dependency.png

¡Gracias! carita feliz

sean

En respuesta a sean

¿Alguien sabe por qué esto funciona en DAX Studio cuando se conecta a un modelo PowerPivot pero NO funciona con un modelo PBI?

 SELECT * From $SYSTEM.DISCOVER_CALC_DEPENDENCY 
WHERE OBJECT_TYPE = 'MEASURE' OR OBJECT_TYPE = 'CALC_COLUMN'
ORDER BY [EXPRESSION] ASC

¿Quizás @marcorusso nos pueda decir? carita feliz ¡Gracias!

https://docs.microsoft.com/en-us/sql/analysis-services/schema-rowsets/xml/discover-calc-dependency-r…

Mirando a mi alrededor, también encontré esta idea interesante de @avisingh que está un poco relacionada.

¡No resolverá el problema anterior, pero sería una buena característica!

Vista de dependencia de medida (similar a la vista de dependencia de consulta)

¡Gracias! carita feliz

En respuesta a sean

¿Has mirado mi nueva plantilla de host local? Esto extrae los datos de la tabla de Power BI Desktop directamente a Excel

http://exceleratorbi.com.au/power-bi-desktop-memory-usage/

En respuesta a sean

Parece que los nombres de las tablas están aquí

select * from $SYSTEM.TMSCHEMA_TABLES

Eché un vistazo a un modelo que tengo y la columna de ID de esa consulta coincide con el TableID de la $SISTEMA.TMSCHEMA_COLUMNAS DMV

Supongo que el prefijo TM es la abreviatura de Tabular Model, mientras que los DMV que comienzan con MD son más para Multidimensional. Entonces, me pregunto si las tablas TM son más relevantes.

Acabo de hurgar en la lista de DMV en el editor de DAX Studio, pero definitivamente parece que puede consultar información útil para la documentación. Hablaré en un sábado de SQL la próxima semana, así que puedo incluir esto en mi prensa, porque creo que es genial. 🙂

tn.png

En respuesta a Phil_Seamark

Así que solo estoy jugando con esto un poco más

Esto parece darme todo columnas calculadas incluyendo el foro así como información interesante como ‘ordenar por columna’ (omita la cláusula Dónde si desea ver/documentar información sobre todas sus columnas).

select * from $SYSTEM.TMSCHEMA_COLUMNS where [Type]  = 2;

y para medidas calculadas

select * from $SYSTEM.TMSCHEMA_MEASURES

Deja un comentario

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