Series, such as time series, are useful when it comes to making predictions or recognizing patterns. KQL offers a bunch of features for working with series. The following article shows how 'make-series' and 'series-fill-linear' may help you in deriving missing values from the existing ones based on interpolation.
KQL is a relatively new BI language from Microsoft and is used to retrieve data from the Azure Cloud (Azure Data Explorer / ADX and MS Fabric). This blog article shows how to call the graph engine through KQL thereby explaining 'make-graph' and 'graph-match'. The article is centered on modelling and query tasks that arise in connection with a 'Bill of Material' (BOM).
This article shows how a KQL dynamic array can be transformed to a table.
The following article shows how cascading calls of CALCULATETABLE can be used to transport a filter over multiple hops. Use cases for this pattern are tables within a Galaxy schema or tables that are part of a more complex Snowflake schema.
Internet articles usually show a simplified use of the RANKX function, in which only arguments 1, 2 and 4 of the 5 possible arguments are used. Therefore the purpose of argument 3 (value) may be unclear. The following article shows the effect of using argument 3 and how the internals of the RANKX function can be thought of.
Shrinking the log file is an occasional administrative task in SQL Server. In some cases the logfile can only be shrinked by temporarily applying the SIMPLE recovery mode. The measures to solve the problem can harm the backup chain and - depending on your point of view - can be seen as a bug or an annoying behavior.
With AlwaysOn Availability Group an additional problem arises, because a database that is part of AON cannot be switched to the SIMPLE recovery mode without resetting the AON cluster configuration. The following article shows a solution.
In the DAX language, sorting can only be applied at the end - when the data is ready for delivery - but not as an intermediate step, for example, to save sorted data in a variable. The following article shows how this goal can be achieved with the help of GENERATE and GENERATESERIES.
My Top Visualization Features in Power BI. Articles about the visualization features in Power BI Desktop that help you quickly design appealing layouts.
The PowerQuery function Table.ReplaceValue replaces values in one or more table columns. Lambda expressions provide a way for dynamic replacement.
The first article of this series is intended to explain the complex language DAX from the point of view of other concepts, on the internet the term projection is often used for this. Other concepts can be set concepts, OOP concepts and concepts from SQL. Concepts from other languages can make DAX more transparent.
How hard is it to learn DAX? The article deals with the challenges of learning DAX as a BI language for the tabular model and the difference to the MDX language.
Attribute relationships are internal objects of the Analysis Services MultiDimensional Engine. They are not visible for the MDX client, can only be used indirectly and can only be configured in the development environment. However, they affect MDX objects and implicit behaviors. Understanding relationships is therefore essential for understanding MDX.
This article describes how the Analysis Services Multidimensional engine implicitly expands an incomplete tuple such as ([East]) to a complete tuple such as ([East], [2018], [Amount], etc.). This knowledge is crucial to understand which automatic behaviors affect the way a cell value is computed.
Article 3 of this series covers "List.Generate". "List.Generate" is one of the most important Power Query functions. As in other languages, "List.Generate" encapsulates a loop and is the equivalent of a For-loop. Understanding List.Generate requires knowledge of lambda expressions.
Part 1 of this series shows how lambda expressions work within Power Query iterators. Lambda expressions placed inside an Power Query iterator function will be executed repeatedly. With each call, the iterator passes different data to the lambda expression.
In part 1 of this series i mentioned that the MSDN does not provide information about the concrete (data) traffic between the lambda expression and the iterator that the lambda expression is part of. Part 2 of this series shows three examples of how Power Query iterator and lambda expression interact with each other.