将一个切片器(日期)与两个不同的表和两个不同的数据列一起使用
Using one slicer (Date) with two different tables and two different data columns
我的数据模型中有几个 table。
除其他外,我有 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" ) )
添加这些列后,您的结果将如下所示:
我的数据模型中有几个 table。
除其他外,我有 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" ) )
添加这些列后,您的结果将如下所示: