Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi 桥牌-DAX还是M?_Powerbi_Dax_Powerquery_M_Bridge - Fatal编程技术网

Powerbi 桥牌-DAX还是M?

Powerbi 桥牌-DAX还是M?,powerbi,dax,powerquery,m,bridge,Powerbi,Dax,Powerquery,M,Bridge,我们应该用DAX还是M构造桥接表 从……偷来的照片 使用DAX似乎非常诱人。使用DAX时,代码简短明了: IDList = DISTINCT( UNION( DISTINCT(Table1[ID]) ,DISTINCT(Table2[ID]) )) 此外,DAX表不需要作为M表加载。然而,我想知道DAX相对于M的优势是否不是虚幻的?M似乎只加载一次,DAX似乎是在运行中计算的,可能是在任何时候,一次又一次?如果它从中提取数据的任何表

我们应该用DAX还是M构造桥接表

从……偷来的照片

使用DAX似乎非常诱人。使用DAX时,代码简短明了:

IDList = DISTINCT(
    UNION(
         DISTINCT(Table1[ID]) 
        ,DISTINCT(Table2[ID])
        ))

此外,DAX表不需要作为M表加载。然而,我想知道DAX相对于M的优势是否不是虚幻的?M似乎只加载一次,DAX似乎是在运行中计算的,可能是在任何时候,一次又一次?

如果它从中提取数据的任何表以任何方式刷新或更新,则会重新计算DAX计算表。(来自)


它们不是“在飞行中”计算出来的,也不是“反复”计算出来的。在使用DAX计算表或M查询表之间,Power BI数据模型的刷新周期没有区别。但是,您可能会发现DAX计算表的刷新速度比M快,这取决于表的复杂性…

考虑到M个表、M个条件列、M个自定义列、DAX表、DAX计算列和DAX度量。只有动态创建的DAX度量值,而不是数据模型的一部分

所以对于一个简单的桥接表,DAX表和M表彼此之间并没有真正的优势

两个表都允许创建关系。现在,当我说简单桥接表时,它是从2个或3个表创建的,并使用同一列与两个或多个表建立关系

但是当需求变得复杂和敏捷(随着时间的推移而增长)时,如果由DAX创建,维护和开发工作也会增加。(我个人的意见,我认为大多数人的个人意见也是如此。)

如果它是由M创建的,那么根据逻辑添加新列或过滤器或替换现有值就更容易了

回到经验法则:-如果它是由DAX创建的,那么不能在它上面使用M来进行更改。因此,如果桥接表是由DAX创建的,那么它将不会出现在查询编辑器中,并且限制了GUI在数据中进行任何所需的简单转换的优势

对于简单的桥接表:-DAX

但对于复杂且不断变化的需求:-M