【问题标题】:DAX Formula (Using Join)DAX 公式(使用联接)
【发布时间】:2015-02-12 21:03:00
【问题描述】:

我希望创建一个使用两个相关表的 dax 计算列。一是维度,一是事实。在 MDX 中它看起来像这样:

Sum( 
   {[Tbl Master Measure Mapping].[Str Busies].[True]}
  ,[Measures].[Int Calls Offered]
)

在 t-sql 中是这样的:

select int_CallsOffered from fact_CallType_OTS a
inner join tbl_MasterMeasureMapping b on a.entName = b.entName
where b.Str_Busies = 'True'

相当直截了当。这在多维数据集中工作没问题。我如何将上述内容转换为 power pivot 中的 dax 公式?这是一个度量还是计算列?我正在考虑计算列。我在互联网上查看过,出现了“评估”一词,但我在我的 power pivot 版本中没有找到该功能。也许我落后了?但我很想找到一个解决方案,我只加入两个表(我已经定义了关系)并根据 where 子句获取一个值。谢谢。

b

【问题讨论】:

  • 可以分享一下表结构吗?哪一个是查找?有没有真实的数据示例?
  • 嗨,这是一个非常大的表结构。查找表是 tbl_MasterMeasureMapping。它包含真值或假值。引用表是事实表 fact_CallType_OTS。

标签: excel powerpivot dax


【解决方案1】:

您可以使用CALCULATE 函数创建度量。

调用类型 OTS 总计:=CALCULATE(sum([Int Calls Offered]),'Tbl Master Measure Mapping'[Str Busies]=TRUE)

注意:你的 TSQL 和 MDX 不会返回相同的东西,因为 TSQL 没有聚合

见https://msdn.https://msdn.microsoft.com/en-us/library/ee634825.aspx

【讨论】:

  • 有办法加入吗?它没有返回任何内容,但我认为这是因为不满足此条件:a.entName = b.entName ENT Name 存在于两个表中。
  • 在 analysis services\power pivot 中,您通常会在建模阶段声明您的关系,因此您不需要像在 T-SQL 中那样在查询中声明它们。不幸的是,我真的不知道你在建模过程中走了多远,所以不知道你需要完成哪个步骤才能得到你想要的结果。但是您可以查看许多教程之一,例如这个msdn.microsoft.com/en-us/library/hh231691.aspx,它将指导您完成建模阶段。
  • 我实际上已经定义了权力枢纽中的关系......对我来说这是一个非常不同的世界
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-21
  • 2023-03-29
相关资源
最近更新 更多