将一个切片器(日期)与两个不同的表和两个不同的数据列一起使用

Using one slicer (Date) with two different tables and two different data columns

我的数据模型中有几个 table。

除其他外,我有 table

TABLE“销售额”

产品 |合约编号 |客户编号 |销售日期 |来源

一个 | 001 | C1 | dd.mm.yyyy hh.mm.ss |来源 A

乙 | 002 | C2 | dd.mm.yyyy hh.mm.ss |来源 B

乙 | 003 | C1 | dd.mm.yyyy hh.mm.ss |来源 B

C | 004 | C3 | dd.mm.yyyy hh.mm.ss |来源 C

D | 005 | C6 | dd.mm.yyyy hh.mm.ss |来源 F

TABLE“媒体支出”

来源 |消费 |活动月份

来源A | 500 欧元 | mm.yyyy

来源 B | 600 欧元 | mm.yyyy

来源 C | 300 欧元 | mm.yyyy

来源 D | 100 欧元 | mm.yyyy

来源 E | 550 欧元 | mm.yyyy

来源 F | 1,000 欧元 | mm.yyyy |

table 由关系“Source”连接。

值得一提的是,“销售日期”(dd.mm.yyyy hh.mm.ss) 比“活动月份”) (mm.yyyy) 详细得多。

这让我可以按“来源”过滤客户和营销预算。 但同时我想按日期计算/过滤(例如“销售日期”)。 但这是不可能的。

如何继续将不同 table 中的两个不同列关联起来?

我已经尝试过以下

基于两个日期列建立关系 => 问题从日期转移到来源

为列“销售日期”和“营销活动”月份创建的第二个连接(除了“来源”)。 => 数据模型将连接显示为虚线。否则没有效果。

谢谢!

您可以在 Power BI 中选择新建 Table 来创建日期 table,如下所示:

复制并粘贴以下内容,您的日期 table 将被创建:

DimDate = CALENDAR( DATE( 2018, 1, 1 ) , DATE( 2024, 12, 31 ) )

DimDate = CALENDARAUTO( 3 )

两者都会为您提供以下结果:

创建此 table 后,您可以为每列使用以下 dax 创建其他列:

CalendarYear = YEAR( DimDate[Date] )

CalendarMonthInt = MONTH( DimDate[Date] )

CalendarDay = DAY( DimDate[Date] )

CalendarMonthName = FORMAT( DimDate[Date], "mmmm" )

CalendarShortMonth = LEFT( DimDate[CalendarMonthName], 3 )

YearMonth = CONCATENATE( YEAR( DimDate[Date] ), FORMAT( MONTH( DimDate[Date] ), "00" ) )

添加这些列后,您的结果将如下所示: